Topik ini menjelaskan batas yang diterapkan oleh Lindorm pada indeks pencarian.
Batas berikut berlaku untuk indeks pencarian:
Tipe data
Kolom indeks pencarian mendukung tipe data berikut: BOOLEAN, BYTE, SHORT, INT, LONG, FLOAT, DOUBLE, STRING, CHAR, BINARY, TIMESTAMP, dan JSON.
PentingTipe data JSON dan TIMESTAMP hanya didukung di Lindorm versi 2.6.5 dan yang lebih baru. Untuk informasi selengkapnya tentang cara melihat dan melakukan upgrade versi LindormTable, lihat Catatan rilis LindormTable dan Pembaruan versi minor.
Jumlah indeks
Secara default, Anda hanya dapat membuat satu indeks pencarian untuk satu tabel lebar. Untuk membuat beberapa indeks pencarian, lihat Beberapa indeks pencarian untuk satu tabel (pratinjau publik).Time-to-live (TTL)
Jika tabel utama telah dikonfigurasi dengan TTL, indeks pencarian akan mewarisi TTL yang sama saat dibuat. Perubahan selanjutnya pada TTL tabel utama tidak memengaruhi TTL indeks pencarian.
Jika tabel utama tidak memiliki konfigurasi TTL, saat pertama kali Anda mengonfigurasi TTL untuk tabel utama, TTL indeks pencarian akan diperbarui agar sesuai. Perubahan selanjutnya pada TTL tabel utama tidak memengaruhi TTL indeks pencarian.
Untuk mengubah hanya TTL indeks pencarian, hubungi dukungan teknis Lindorm melalui ID DingTalk: s0s3eg3.
TTL indeks pencarian diberlakukan dengan membersihkan data yang telah kedaluwarsa secara berkala. TTL tidak dijamin berlaku dengan presisi real-time.
Versi data ganda
Indeks pencarian tidak mendukung beberapa versi data pada kolom kunci indeks.
Timestamp kustom
Secara default, Lindorm menghasilkan timestamp dalam milidetik untuk setiap baris data. Timestamp ini setara dengan versi data. Jika Anda menentukan timestamp kustom saat menulis baris data, server akan menggunakan timestamp dari aplikasi untuk baris data tersebut. Metode yang digunakan untuk menentukan timestamp kustom bervariasi tergantung pada client.
Client HBase menggunakan antarmuka berikut untuk menerapkan timestamp kustom.
public Put(byte[] row, long ts) public Put addColumn(byte[] family, byte[] qualifier, long ts, byte[] value)Client SQL Lindorm menggunakan pernyataan berikut untuk menerapkan timestamp kustom:
UPSERT INTO testTable (pk,c1,c2,_l_ts_) values('1','2','3',1640966400000);
Jika indeks pencarian dibuat untuk tabel lebar Lindorm dan Anda ingin menggunakan timestamp kustom untuk data Anda, Anda harus mengubah atribut MUTABILITY tabel sebelum menulis data ke tabel lebar tersebut. Anda dapat menjalankan salah satu pernyataan berikut untuk mengubah atribut MUTABILITY:
Anda dapat menggunakan HBase Shell untuk mengubah properti tabel.
ALTER 'testTable', MUTABILITY=> 'MUTABLE_ALL'Anda dapat menggunakan SQL Lindorm untuk mengubah properti tabel.
ALTER TABLE testTable SET 'MUTABILITY' = 'MUTABLE_ALL';
CatatanNilai default properti MUTABILITY adalah
MUTABLE_LATEST. Untuk informasi selengkapnya tentang klasifikasi mutability, lihat Istilah.
Jika Anda mengalami masalah apa pun, atau kirim tiket.