HBase and Tablestore are distributed NoSQL databases. To be compatible with HBase API operations, Tablestore launched Tablestore HBase Client. This topic describes the differences between Tablestore as a service and HBase as a software and their differences in terms of features.
Differences between Tablestore and HBase
Feature comparison
The following table describes the differences between Tablestore and HBase in terms of features.
Item | Tablestore | HBase |
Item | Tablestore | HBase |
Data model | WideColumn | |
Data type | Multiple data types such as String and Integer. For more information, see Data types. | Binary bytes |
Client | Thin client that has few dependencies on external systems and resources. | Thick client that has multiple dependencies on external systems and resources. |
Transmission protocol | HTTPS | RPC |
Metering and billing | Reserved resources and pay-as-you-go billing | Reserved resources |
Service hosting | Fully managed | Semi managed |
Max versions | Supported | Supported |
Time to live (TTL) | Supported | Supported |
Transaction | Single-row transactions and intra-partition transactions. For more information, see Local transactions. | Single-row transactions |
Index | Indexes are not supported. However, you can use Phoenix to create an use secondary indexes. | |
Real-time subscription | Not supported | |
Data analysis | Interactive analysis such as aggregation and SQL query of search indexes is supported. | Not supported |
Integration with compute engines |
| Spark and MaxCompute for batch processing |
Access control | Alibaba Cloud security account management system consisting of Resource Access Management (RAM) and Security Token Service (STS) | Kerberos, which is more complex |
Data encryption | Encryption at rest and Bring Your Own Key (BYOK) | None |
Load balancing | Partition splitting and merging is triggered based on the results of automatic hotspot partition detection. | Partition splitting is triggered by simple policies. |
Underlying storage | Apsara Distributed File System | HDFS |
Comparison between a software and a service
The architecture of Tablestore and HBase is referenced from Google Bigtable. Tablestore and HBase have a similar wide column model. HBase is an open source software while Tablestore is a cloud service that can be used by calling RESTful API operations. The following table describes the differences between Tablestore as a service and HBase as a software.
Item | Tablestore | Self-built HBase cluster |
Item | Tablestore | Self-built HBase cluster |
Cost | You are charged for resource usage on a pay-as-you-go basis. High-performance instances and capacity instances are provided for various scenarios. | Resources are allocated based on traffic peaks. Resources remain idle during off-peak periods, which results in high operation and maintenance costs. |
Security | Integrates Alibaba Cloud RAM and supports multiple authentication and authorization mechanisms such as RAM policies, instance policies, and network access control lists (ACLs). Authorization granularity can be defined at the table-level and operation-level. | Requires extra security mechanisms. |
Reliability | Multiple backups of data are automatically created and automatic failover is performed. | Requires extra mechanisms to ensure cluster reliability. |
Scalability | The automatic load balancing mechanism of Tablestore supports the storage of PB-level data and millions of concurrent access requests per table without the need to manually scale resources. | Complex online and offline processes are required if a cluster reaches a high usage level, which impacts online business. |
Compatibility between Tablestore and HBase operations
HBase is a common distributed NoSQL database. To be compatible with HBase operations, Tablestore launched Tablestore HBase Client to help users easily migrate their applications from HBase to Tablestore.
References
For more information about Tablestore HBase Client, see Overview of Tablestore HBase Client and Getting started with Tablestore HBase Client.
For information about how to read Tablestore data by using Tablestore HBase Client, see Migrate from HBase Client to Tablestore HBase Client.
Tablestore and HBase have similar data models and features. However, Tablestore HBase Client and the native HBase API have specific differences. For more information, see Features supported by Tablestore HBase Client.
For information about how to enable Tablestore HBase Client to be compatible with HBase V1.0.0 and earlier, see Make Tablestore HBase Client compatible with HBase versions earlier than 1.0.
You can use DataWorks Data Integration or DataX to migrate HBase data to Tablestore. For more information, see Data Integration.