Saat menggunakan Tablestore, detail infrastruktur seperti pemisahan tabel, Dump, Compact, dan Region Server disembunyikan oleh Tablestore. Fokus Anda hanya pada penggunaan data. Tablestore dan HBase memiliki model data serta fitur yang serupa, tetapi terdapat perbedaan spesifik antara Tablestore HBase Client dan API asli HBase. Topik ini menjelaskan fitur dan operasi yang didukung oleh Tablestore HBase Client.
Fitur yang didukung
CreateTable
Tablestore tidak mendukung ColumnFamily, sehingga semua data dianggap berada dalam ColumnFamily yang sama. Oleh karena itu, time to live (TTL) dan versi maksimum dari Tablestore diterapkan pada tingkat tabel data. Tabel berikut menggambarkan fitur yang didukung oleh Tablestore HBase Client.
Fitur | Didukung |
family max version | Didukung pada tingkat tabel. Nilai default: 1. |
family min version | Tidak |
family ttl | Didukung pada tingkat tabel. |
is/set ReadOnly | Didukung untuk pengguna RAM. |
Pre-partitioning | Tidak |
blockcache | Tidak |
blocksize | Tidak |
BloomFilter | Tidak |
column max version | Tidak |
cell ttl | Tidak |
Parameter untuk manajemen dan kontrol | Tidak |
Put
Fitur | Didukung |
Menulis beberapa kolom data secara bersamaan | Ya |
Menentukan timestamp | Ya |
Menggunakan waktu sistem saat tidak ada timestamp yang ditentukan | Ya |
Daftar kontrol akses (ACL) untuk satu baris | Tidak |
ttl | Tidak |
Cell Visibility | Tidak |
tag | Tidak |
Get
Tablestore menjamin konsistensi data yang tinggi. Jika kode status HTTP 200 (OK) dikembalikan setelah operasi penulisan, data secara permanen ditulis ke semua salinan dan dapat segera dibaca oleh operasi Get.
Fitur | Didukung |
Membaca satu baris data | Ya |
Membaca semua kolom dalam ColumnFamily | Ya |
Membaca data dari kolom tertentu | Ya |
Membaca data yang memiliki timestamp tertentu | Ya |
Membaca data dengan jumlah versi tertentu | Ya |
TimeRange | Ya |
ColumnfamilyTimeRange | Tidak |
RowOffsetPerColumnFamily | Ya |
MaxResultsPerColumnFamily | Tidak |
checkExistenceOnly | Tidak |
closestRowBefore | Ya |
attribute | Tidak |
cacheblock:true | Ya |
cacheblock:false | Tidak |
IsolationLevel:READ_COMMITTED | Ya |
IsolationLevel:READ_UNCOMMITTED | Tidak |
IsolationLevel:STRONG | Ya |
IsolationLevel:TIMELINE | Tidak |
Scan
Tablestore menjamin konsistensi data yang tinggi. Jika kode status HTTP 200 (OK) dikembalikan setelah operasi penulisan, data secara permanen ditulis ke semua salinan dan dapat segera dibaca oleh operasi Scan.
Fitur | Didukung |
Menentukan rentang pemindaian berdasarkan parameter awal dan akhir yang ditentukan | Ya |
Memindai data secara global saat tidak ada rentang pemindaian yang ditentukan | Ya |
prefix filter | Ya |
Membaca data menggunakan logika yang sama dengan operasi Get | Ya |
Membaca data dalam urutan terbalik | Ya |
caching | Ya |
batch | Tidak |
maxResultSize, yang menunjukkan ukuran maksimum volume data yang dikembalikan | Tidak |
small | Tidak |
cacheblock:true | Ya |
cacheblock:false | Tidak |
IsolationLevel:READ_COMMITTED | Ya |
IsolationLevel:READ_UNCOMMITTED | Tidak |
IsolationLevel:STRONG | Ya |
IsolationLevel:TIMELINE | Tidak |
allowPartialResults | Tidak |
Batch
Fitur | Didukung |
Get | Ya |
Put | Ya |
Delete | Ya |
batchCallback | Tidak |
Delete
Fitur | Didukung |
Menghapus baris | Ya |
Menghapus semua versi data dari kolom tertentu | Ya |
Menghapus versi tertentu dari data dari kolom tertentu | Ya |
Menghapus ColumnFamily yang ditentukan | Tidak |
Menentukan timestamp untuk menghapus versi yang sama dengan timestamp | Ya |
Menentukan timestamp dan menggunakan deleteFamily dan deleteColumns untuk menghapus versi yang lebih awal atau sama dengan timestamp | Tidak |
Menggunakan deleteColumn untuk menghapus versi terbaru saat tidak ada timestamp yang ditentukan | Tidak |
Menggunakan deleteFamily dan deleteColumns untuk menghapus versi waktu sistem saat ini saat tidak ada timestamp yang ditentukan | Tidak |
addDeleteMarker | Tidak |
checkAndXXX
Fitur | Didukung |
CheckAndPut | Ya |
checkAndMutate | Ya |
CheckAndDelete | Ya |
Memeriksa apakah nilai kolom memenuhi kondisi. Jika ya, checkAndXXX menghapus baris. | Ya |
Menggunakan nilai default saat tidak ada nilai yang ditentukan | Ya |
Memeriksa baris A dan melakukan operasi pada baris B. | Tidak |
exist
Fitur | Didukung |
Memeriksa apakah satu atau lebih baris ada dan tidak mengembalikan konten. | Ya |
Filter
Fitur | Didukung |
ColumnPaginationFilter | columnOffset dan count tidak didukung |
ColumnRangeFilter | Ya |
FilterList | Kombinasi dan nesting dari ColumnRangeFilter, ColumnValueFilter, dan ColumnPaginationFilter dapat disertakan dalam FilterList. |
SingleColumnValueFilter |
|
Metode tidak didukung
Tabel berikut menggambarkan metode yang tidak didukung oleh modul tertentu.
Modul | Metode tidak didukung |
Tabel | Tablestore hanya mendukung single-column families. |
Baris dan Sel |
|
GET | Tablestore hanya mendukung single-column families. Oleh karena itu, Tablestore tidak mendukung metode yang terkait dengan column families.
|
SCAN | Beberapa metode optimisasi tidak didukung karena Tablestore tidak mendukung metode yang terkait dengan column families. Operasi SCAN mirip dengan operasi GET. Metode optimisasi berikut tidak didukung:
|
Batch | BatchCallback tidak didukung. |
Mutasi dan Penghapusan |
|
Increment dan Append | Tablestore tidak mendukung peningkatan atau pengurangan atomik atau Append atomik. |
Optimisasi | Metode HBase tertentu melibatkan optimisasi akses dan penyimpanan dan tidak tersedia di Tablestore. Parameter berikut tidak didukung:
|
Admin | Metode Tablestore adalah layanan cloud yang secara otomatis melakukan operasi yang terkait dengan pemeliharaan operasional, manajemen, dan kontrol. Oleh karena itu, Tablestore tidak mendukung metode yang terkait dengan operasi ini.
|
Snapshots | Tablestore tidak mendukung Snapshots, atau metode terkait Snapshots. |
Replication | Tablestore tidak mendukung Replication, atau metode terkait Replication. |
Manajemen Tabel | Tablestore secara otomatis membagi, menggabungkan, dan mengompres partisi di tabel. Oleh karena itu, metode berikut tidak didukung:
|
Coprocessors | Tablestore tidak mendukung coprocessor. Oleh karena itu, metode berikut tidak didukung:
|
Prosedur terdistribusi | Tablestore tidak mendukung prosedur terdistribusi. Oleh karena itu, metode berikut tidak didukung:
|
Batasan
Tablestore adalah layanan cloud. Untuk memastikan kinerja keseluruhan yang optimal, batasan diberlakukan pada parameter tertentu yang tidak dapat diubah. Untuk informasi lebih lanjut, lihat Batasan Umum.