edit-icon download-icon

TableStore HBase Client supported functions

Last Updated: Mar 16, 2018

API support differences between Table Store and HBase

Table Store and HBase, while similar in terms of Data model functionality, have different APIs. The following sections detail differences between TableStore HBase Client APIs and HBase APIs.

Functions supported by TableStore HBase Client APIs:

Functions not supported by TableStore HBase Client APIs:

Functions supported by TableStore HBase Client APIs

CreateTable

Table Store does not support ColumnFamily as all data can be considered to be in the same ColumnFamily. This means that TTL and Max Versions of Table Store are at the table-level. Therefore, Table Store has some support for the following functions:

Functions Supported or Not
family max version Table-level Max Versions supported
Default value: 1
family min version Unsupported
family ttl Table-level TTL supported
is/set ReadOnly Supported through the sub-account of RAM
Pre-partitioning Unsupported
blockcache Unsupported
blocksize Unsupported
BloomFilter Unsupported
column max version Unsupported
cell ttl Unsupported
Control parameter Unsupported

Put

Functions Supported or Not
Writes multiple columns of data at a time Supported
Specifies a timestamp Supported
Uses the system time by default if no timestamp is specified Supported
Single-row ACL Unsupported
ttl Unsupported
Cell Visibility Unsupported
tag Unsupported

Get

Table Store guarantees high data consistency. If the HTTP 200 status code (OK) is returned after data is written to an API, the data is permanently written to all copies, and can be read immediately by Get.

Functions Supported or Not
Reads a row of data Supported
Reads all columns in a ColumnFamily Supported
Reads data from a specified column Supported
Reads data with a specified timestamp Supported
Reads data of a specified number of versions Supported
TimeRange Supported
ColumnfamilyTimeRange Unsupported
RowOffsetPerColumnFamily Supported
MaxResultsPerColumnFamily Unsupported
checkExistenceOnly Unsupported
closestRowBefore Supported
attribute Unsupported
cacheblock:true Supported
cacheblock:false Unsupported
IsolationLevel:READ_COMMITTED Supported
IsolationLevel:READ_UNCOMMITTED Unsupported
IsolationLevel:STRONG Supported
IsolationLevel:TIMELINE Unsupported

Scan

Table Store guarantees high data consistency. If the HTTP 200 status code (OK) is returned after data is written to an API, the data is permanently written to all copies, which can be read immediately by Scan.

Functions Supported or Not
Determines a scanning range based on the specified start and stop Supported
Globally scans data if no scanning range is specified Supported
prefix filter Supported
Reads data using the same logic as Get Supported
Reads data in reverse order Supported
caching Supported
batch Unsupported
maxResultSize, indicating the maximum size of the returned data volume Unsupported
small Unsupported
batch Unsupported
cacheblock:true Supported
cacheblock:false Unsupported
IsolationLevel:READ_COMMITTED Supported
IsolationLevel:READ_UNCOMMITTED Unsupported
IsolationLevel:STRONG Supported
IsolationLevel:TIMELINE Unsupported
allowPartialResults Unsupported

Batch

Functions Supported or Not
Get Supported
Put Supported
Delete Supported
batchCallback Unsupported

Delete

Functions Supported or Not
Deletes a row Supported
Deletes all versions of the specified column Supported
Deletes the specified version of the specified column Supported
Deletes the specified ColumnFamily Unsupported
When a timestamp is specified, deleteColumn deletes the versions that are equal to the timestamp Supported
When a timestamp is specified, deleteFamily and deleteColumn delete the versions that are earlier than or equal to the timestamp Unsupported
When no timestamp is specified, deleteColumn deletes the latest version Unsupported
When no timestamp is specified, deleteFamily and deleteColumn delete the version of the current system time Unsupported
addDeleteMarker Unsupported

checkAndXXX

Functions Supported or Not
CheckAndPut Supported
checkAndMutate Supported
CheckAndDelete Supported
Checks whether the value of a column meets the conditions. If yes, checkAndXXX deletes the column. Supported
Uses the default value if no value is specified Supported
Checks row A and executes row B Unsupported

Exist

Functions Supported or Not
Checks whether one or more rows exist and does not return any content Supported

Filter

Functions Supported or Not
ColumnPaginationFilter columnOffset and count unsupported
SingleColumnValueFilter - Supported: LongComparator, BinaryComparator, and ByteArrayComparable
- Unsupported: RegexStringComparator, SubstringComparator, and BitComparator

Functions not supported by TableStore HBase Client APIs

Namespaces

Table Store uses instances to manage a data table. An instance is the minimum billing unit in Table Store. You can manage instances in the Table Store console. Therefore, the following features are not supported:

  • createNamespace(NamespaceDescriptor descriptor)
  • deleteNamespace(String name)
  • getNamespaceDescriptor(String name)
  • listNamespaceDescriptors()
  • listTableDescriptorsByNamespace(String name)
  • listTableNamesByNamespace(String name)
  • modifyNamespace(NamespaceDescriptor descriptor)

Region management

Data partition is the basic unit for data storage and management in Table Store. Table Store automatically splits or merges the data partitions based on their data volumes and access conditions. Therefore, Table Store does not support features related to Region management in HBase.

Snapshots

Table Store does not support Snapshots, or related featurs of Snapshots.

Table management

Table Store automatically splits, merges, and compacts data partitions in tables. Therefore, the following features are not supported:

  • 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

Table Store does not support the coprocessor. Therefore, the following features are not supported:

  • coprocessorService()
  • coprocessorService(ServerName serverName)
  • getMasterCoprocessors()

Distributed procedures

Table Store does not support Distributed procedures. Therefore, the following features are not supported:

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

Increment and Append

Table Store does not support atomic increase/decrease or atomic Append.

Thank you! We've received your feedback.