Skema aplikasi
Data yang didorong ke instans Industry Algorithm Edition pertama kali disimpan dalam tabel data offline. Untuk menyederhanakan proses pendorongan data, Anda dapat mendefinisikan beberapa tabel dan menggunakan plugin pemrosesan data. Anda harus menentukan bidang kunci asing untuk tabel-tabel tersebut. Setelah pemrosesan data selesai, tabel-tabel tersebut digabungkan menjadi tabel indeks. Tabel indeks ini mendefinisikan atribut pencarian yang digunakan mesin untuk membangun indeks dan menjalankan kueri.
Bidang tabel data
Tabel data digunakan untuk impor data. Persyaratan tipe bidang bervariasi tergantung pada plugin pemrosesan data yang digunakan. Untuk informasi lebih lanjut mengenai rentang nilai bidang, lihat bagian "Batasan bidang" dalam Batasan. Jika suatu nilai berada di luar rentang yang ditentukan, nilai tersebut akan overflow atau terpotong. Oleh karena itu, pastikan Anda memilih tipe bidang yang tepat.
Type | Description |
INT | Integer 64-bit. |
INT_ARRAY | Array integer 64-bit. |
FLOAT | Bilangan floating-point. |
FLOAT_ARRAY | Array bilangan floating-point. |
DOUBLE | Bilangan floating-point. |
DOUBLE_ARRAY | Array bilangan floating-point. |
LITERAL | Literal string. Hanya mendukung pencocokan eksak. |
LITERAL_ARRAY | Array literal string. Satu elemen hanya mendukung pencocokan eksak. |
SHORT_TEXT | Teks pendek. Panjangnya harus dalam batas 100 byte. Mendukung beberapa metode tokenisasi. |
TEXT | Teks panjang. Mendukung beberapa metode tokenisasi. |
TIMESTAMP | Integer tak bertanda 64-bit. Data timestamp. |
GEO_POINT | Literal string. Bidang garis bujur dan lintang dalam format: "garis bujur lintang". |
Merupakan array objek JSON. Menggunakan penyimpanan flattened dan kehilangan batas objek. | |
Merupakan array objek JSON. Menggunakan penyimpanan independen untuk dokumen primary dan secondary serta mempertahankan integritas objek. |
Catatan mengenai kata tercadang:
Kata tercadang berikut tidak boleh digunakan sebagai nama bidang: ['service_id', 'ops_app_name', 'inter_timestamp', 'index_name', 'pk', 'ops_version', 'ha_reserved_timestamp', 'summary'].
Catatan mengenai tipe ARRAY:
Jika Anda membuat bidang aplikasi dengan tipe ARRAY, Anda dapat memetakan bidang tersebut ke bidang bertipe string, seperti varchar atau string, dari sumber data selama pemetaan bidang. Anda kemudian dapat menggunakan plugin pemrosesan data untuk mengurai bidang sumber data tersebut. Untuk informasi lebih lanjut, lihat Plugin pemrosesan data.
Jika Anda mendorong bidang bertipe ARRAY menggunakan API atau SDK, doronglah sebagai array, bukan sebagai string. Contoh: String[] literal_array = {"Alibaba Cloud","OpenSearch"};
Catatan mengenai bidang timestamp:
Anda dapat memetakan bidang bertipe INT dan TIMESTAMP ke bidang datetime atau timestamp di sumber data. Nilainya secara otomatis dikonversi ke milidetik. Selama pencarian, Anda dapat menggunakan kueri range untuk memfilter dan mengambil hasil berdasarkan interval waktu.
Tipe bidang sumber data yang didukung
Sumber data | Tipe bidang yang didukung |
RDS | TINYINT,SMALLINT,INTEGER,BIGINT,FLOAT,REAL,DOUBLE,NUMERIC,DECIMAL,TIME,DATE,TIMESTAMP,VARCHAR |
PolarDB | TINYINT,SMALLINT,INTEGER,BIGINT,FLOAT,REAL,DOUBLE,NUMERIC,DECIMAL,TIME,DATE,TIMESTAMP,VARCHAR |
MaxCompute (sebelumnya dikenal sebagai ODPS) | BIGINT,DOUBLE,BOOLEAN,DATETIME,STRING,DECIMAL,MAP,ARRAY,TINYINT,SMALLINT,INT,FLOAT,CHAR,VARCHAR,DATE,TIMESTAMP,BINARY,INTERVAL_DAY_TIME,INTERVAL_YEAR_MONTH,STRUCT |
Pemetaan antara tipe bidang tabel Industry Algorithm Edition dan tabel database
Tabel Industry Algorithm Edition | Tabel RDS | Tabel PolarDB | Tabel MaxCompute |
INT | BIGINT, TINYINT, SMALLINT, INTEGER | BIGINT, TINYINT, SMALLINT, INTEGER | BIGINT, TINYINT, SMALLINT, INT |
INT_ARRAY | Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data. | Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data. | Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data. |
FLOAT | FLOAT, NUMERIC, DECIMAL | FLOAT, NUMERIC, DECIMAL | FLOAT, DECIMAL |
FLOAT_ARRAY | Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data. | Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data. | Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data. |
DOUBLE | DOUBLE, NUMERIC, DECIMAL | DOUBLE, NUMERIC, DECIMAL | DOUBLE, DECIMAL |
DOUBLE_ARRAY | Tipe string, seperti VARCHAR. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data. | Tipe string, seperti VARCHAR. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data. | Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data. |
LITERAL | Tipe string, seperti VARCHAR. | Tipe string, seperti VARCHAR. | Tipe string, seperti VARCHAR dan STRING. |
LITERAL_ARRAY | Tipe string, seperti VARCHAR. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data. | Tipe string, seperti VARCHAR. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data. | Tipe string, seperti VARCHAR dan STRING. Anda harus menggunakan plugin pemrosesan data MultiValueSpliter untuk mentransformasi data. |
SHORT_TEXT | Tipe string, seperti VARCHAR. | Tipe string, seperti VARCHAR. | Tipe string, seperti VARCHAR dan STRING. |
TEXT | Tipe string, seperti VARCHAR. | Tipe string, seperti VARCHAR. | Tipe string, seperti VARCHAR dan STRING. |
TIMESTAMP | tipe datetime atau timestamp. | tipe datetime atau timestamp. | tipe datetime atau timestamp. |
GEO_POINT | Tipe string, seperti VARCHAR. | Tipe string, seperti VARCHAR. | Tipe string, seperti VARCHAR dan STRING, dalam format `lon lat`. `lon` merepresentasikan garis bujur dan `lat` merepresentasikan lintang. Kedua nilai harus bertipe double dan dipisahkan oleh spasi. Rentang nilai untuk `lon` adalah [-180, 180], dan rentang nilai untuk `lat` adalah [-90, 90]. |
Catatan:
Jika bidang sumber data bertipe FLOAT atau DOUBLE, ubah tipenya menjadi DECIMAL. Jika tidak, masalah presisi dapat terjadi.
Metode untuk membuat skema aplikasi
Industry Algorithm Edition menyediakan empat metode berikut untuk membuat skema aplikasi (skema tabel untuk Industry Algorithm Edition):
Buat dari sumber data (RDS, MaxCompute, atau PolarDB).
Buat secara manual (lihat bagian Configure table joins di bawah).
Configure table joins
Bagian ini menjelaskan cara mengonfigurasi penggabungan tabel dengan membuat skema aplikasi secara manual. Contoh ini menggunakan dua tabel: main (tabel primary) dan test_tb_1 (tabel secondary).
Masuk ke Konsol dan klik Configure:

Pilih tabel primary dan tetapkan kunci primernya.

Tetapkan kunci primer tabel secondary.

Tetapkan asosiasi antara tabel primary dan secondary. Konfigurasi ini dilakukan di tabel primary.

Untuk informasi lebih lanjut mengenai asosiasi data tabel primary-secondary yang didukung oleh Industry Algorithm Edition, lihat Create table joins.
Hanya bidang bertipe int atau literal yang dapat digunakan sebagai bidang kunci asing.
Saat Anda menggabungkan tabel primary dan secondary, bidang penggabung harus memiliki tipe data yang sama. Misalnya, jika satu bidang bertipe int, bidang lainnya juga harus bertipe int. Jika satu bidang bertipe literal, bidang lainnya juga harus bertipe literal.
Saat menggabungkan tabel sekunder ke tabel utama, Anda harus menggunakan kunci utama dari tabel sekunder untuk dicocokkan dengan bidang di tabel utama. Bidang non-kunci utama dari tabel sekunder tidak dapat digunakan untuk penggabungan tersebut.