Tablestore HBase Client is used in a similar but differentiated way to HBase. This topic introduces the features of Tablestore HBase Client.
Table
Tablestore supports only single ColumnFamilies.
Row and Cell
- Tablestore does not support ACL settings.
- Tablestore does not support Cell Visibility settings.
- Tablestore does not support Tag settings.
GET
Tablestore supports only single ColumnFamilies. Therefore, Tablestore does not support ColumnFamily-related operations, including:
- setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp)
- setMaxResultsPerColumnFamily(int limit)
- setRowOffsetPerColumnFamily(int offset)
SCAN
Similar to GET, Tablestore does not support ColumnFamily-related operations and cannot be used to set partial optimization operations, including:
- setBatch(int batch)
- setMaxResultSize(long maxResultSize)
- setAllowPartialResults(boolean allowPartialResults)
- setLoadColumnFamiliesOnDemand(boolean value)
- setSmall(boolean small)
Batch
Tablestore does not support BatchCallback.
Mutations and Deletions
- Tablestore does not support the deletion of the specified ColumnFamily.
- Tablestore does not support the deletion of the versions that has the latest timestamp.
- Tablestore does not support the deletion of all versions earlier than the specified timestamp.
Increment and Append
Tablestore does not support Increment or Append.
Filter
- Tablestore supports ColumnPaginationFilter.
- Tablestore supports FilterList.
- Tablestore partially supports SingleColumnValueFilter, and supports only BinaryComparator.
- Tablestore does not support other filters.
Optimization
Some of the HBase operations involve access and storage optimization. The following operations are not opened in Tablestore:
- blockcache: The default value is true, which cannot be modified.
- blocksize: The default value is 64 KB, which cannot be modified.
- IsolationLevel: The default value is READ_COMMITTED, which cannot be modified.
- Consistency: The default value is STRONG, which cannot be modified.
Admin
The org.apache.hadoop.hbase.client.Admin
operations of HBase are used for management and control, most of which are not required
in Tablestore.
Tablestore is a cloud service that automatically performs operations such as operation and maintenance, management, and control, which you do not need to concern about. Tablestore does not support a few of other operations.
- CreateTable
Tablestore supports only single ColumnFamilies. Therefore, you can create only one ColumnFamily when you create a table. The ColumnFamily supports the MaxVersions and TimeToLive parameters.
- Maintenance task
In Tablestore, the following operations related to task maintenance are automatically processed:
- 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()
- Namespaces
In Tablestore, the instance name is similar to Namespaces in HBase. Therefore, Tablestore does not support Namespaces-related operations, including:
- createNamespace(NamespaceDescriptor descriptor)
- modifyNamespace(NamespaceDescriptor descriptor)
- getNamespaceDescriptor(String name)
- listNamespaceDescriptors()
- listTableDescriptorsByNamespace(String name)
- listTableNamesByNamespace(String name)
- deleteNamespace(String name)
- Region
Tablestore automatically performs Region-related operations. Therefore, it does not support the following operations:
- 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 does not support Snapshots-related operations.
Replication
Tablestore does not support Replication-related operations.
Coprocessors
Tablestore does not support Coprocessors-related operations.
Distributed procedures
Tablestore does not support Distributed procedures-related operations.
Table management
Tablestore automatically performs Table-related operations, which does not need to be concerned. Therefore, Tablestore does not support the following operations:
- 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)
Limits
Tablestore is a cloud service. To guarantee the optimal overall performance, some parameters are limited and cannot be reconfigured. For more information about the limits, see General limits.