All Products
Search
Document Center

Tablestore:Fitur yang didukung oleh Tablestore HBase Client

Last Updated:Jun 24, 2025

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

  • Didukung: LongComparator, BinaryComparator, dan ByteArrayComparable

  • Tidak didukung: RegexStringComparator, SubstringComparator, dan BitComparator

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

  • Daftar kontrol akses (ACL) tidak didukung.

  • Visibilitas sel tidak didukung.

  • Tag tidak didukung.

GET

Tablestore hanya mendukung single-column families. Oleh karena itu, Tablestore tidak mendukung metode yang terkait dengan column families.

  • setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp)

  • setMaxResultsPerColumnFamily(int limit)

  • setRowOffsetPerColumnFamily(int offset)

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:

  • setBatch(int batch)

  • setMaxResultSize(long maxResultSize)

  • setAllowPartialResults(boolean allowPartialResults)

  • setLoadColumnFamiliesOnDemand(boolean value)

  • setSmall(boolean small)

Batch

BatchCallback tidak didukung.

Mutasi dan Penghapusan

  • Anda tidak dapat menghapus column family tertentu.

  • Anda tidak dapat menghapus versi yang memiliki timestamp terbaru.

  • Anda tidak dapat menghapus semua versi yang memiliki timestamp lebih awal dari timestamp yang ditentukan.

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:

  • blockcache: Nilai default: true. Anda tidak dapat mengubah nilai default.

  • blocksize: Nilai default: 64. Unit: KB. Anda tidak dapat mengubah nilai default.

  • IsolationLevel: Nilai default: READ_COMMITTED. Anda tidak dapat mengubah nilai default.

  • Consistency: Nilai default: STRONG. Anda tidak dapat mengubah nilai default.

Admin

Metode org.apache.hadoop.hbase.client.Admin dari HBase digunakan untuk manajemen dan kontrol, sebagian besar di antaranya tidak diperlukan di Tablestore.

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.

  • CreateTable

    Tablestore hanya mendukung single-column families. Anda hanya dapat membuat satu column family saat membuat tabel. Column family mendukung parameter MaxVersions dan TimeToLive.

  • Tugas pemeliharaan

    Di Tablestore, operasi berikut yang terkait dengan pemeliharaan tugas diproses secara otomatis:

    • abort(String why, Throwable e)

    • balancer()

    • enableCatalogJanitor(boolean enable)

    • getMasterInfoPort()

    • isCatalogJanitorEnabled()

    • rollWALWriter(ServerName serverName) -runCatalogScan()

    • setBalancerRunning(boolean on, boolean synchronous)

    • updateConfiguration(ServerName serverName)

    • updateConfiguration()

    • stopMaster()

    • shutdown()

  • Namespace

    Tablestore menggunakan instance untuk mengelola tabel data. Instance adalah unit penagihan minimum di Tablestore. Anda dapat mengelola instance di konsol Tablestore. Metode berikut tidak didukung:

    • createNamespace(NamespaceDescriptor descriptor)

    • deleteNamespace(String name)

    • getNamespaceDescriptor(String name)

    • listNamespaceDescriptors()

    • listTableDescriptorsByNamespace(String name)

    • listTableNamesByNamespace(String name)

    • modifyNamespace(NamespaceDescriptor descriptor)

  • Manajemen Region

    Partition adalah unit dasar untuk penyimpanan dan manajemen data di Tablestore. Tablestore secara otomatis membagi atau menggabungkan partisi berdasarkan volume data dan kondisi akses partisi. Oleh karena itu, Tablestore tidak mendukung metode yang terkait dengan manajemen region.

    • assign(byte[] regionName)

    • closeRegion(byte[] regionname, String serverName)

    • closeRegion(ServerName sn, HRegionInfo hri)

    • closeRegion(String regionname, String serverName)

    • closeRegionWithEncodedRegionName(String encodedRegionName, String serverName)

    • compactRegion(byte[] regionName)

    • compactRegion(byte[] regionName, byte[] columnFamily)

    • compactRegionServer(ServerName sn, boolean major)

    • flushRegion(byte[] regionName)

    • getAlterStatus(byte[] tableName)

    • getAlterStatus(TableName tableName)

    • getCompactionStateForRegion(byte[] regionName)

    • getOnlineRegions(ServerName sn)

    • majorCompactRegion(byte[] regionName)

    • majorCompactRegion(byte[] regionName, byte[] columnFamily)

    • mergeRegions(byte[] encodedNameOfRegionA, byte[] encodedNameOfRegionB, boolean forcible)

    • move(byte[] encodedRegionName, byte[] destServerName)

    • offline(byte[] regionName)

    • splitRegion(byte[] regionName)

    • splitRegion(byte[] regionName, byte[] splitPoint)

    • stopRegionServer(String hostnamePort)

    • unassign(byte[] regionName, boolean force)

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:

  • getTableDescriptor(TableName tableName)

  • compact(TableName tableName)

  • compact(TableName tableName, byte[] columnFamily)

  • flush(TableName tableName)

  • getCompactionState(TableName tableName)

  • majorCompact(TableName tableName)

  • majorCompact(TableName tableName, byte[] columnFamily)

  • modifyTable(TableName tableName, HTableDescriptor htd)

  • split(TableName tableName)

  • split(TableName tableName, byte[] splitPoint)

Coprocessors

Tablestore tidak mendukung coprocessor. Oleh karena itu, metode berikut tidak didukung:

  • coprocessorService()

  • coprocessorService(ServerName serverName)

  • getMasterCoprocessors()

Prosedur terdistribusi

Tablestore tidak mendukung prosedur terdistribusi. Oleh karena itu, metode berikut tidak didukung:

  • execProcedure(String signature, String instance, Map props)

  • execProcedureWithRet(String signature, String instance, Map props)

  • isProcedureFinished(String signature, String instance, Map props)

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.