Tablestore is a serverless table storage service designed for massive structured data. It supports scenarios such as massive bills, instant messaging (IM) messages, Internet of Things (IoT), Internet of vehicles, risk control, and recommendations. Tablestore provides low-cost storage for large data volumes, online data queries and retrieval with millisecond latency, and flexible data analytics.
Term | Description |
Region | A physical data center where Tablestore is deployed. Regions and zones. |
Read/write throughput | Measured in read capacity units (RCUs) and write capacity units (WCUs). A CU is the smallest billing unit for read and write operations. Read/write throughput. |
Instance | An entity for managing and using Tablestore, equivalent to a database. Access control and resource metering operate at the instance level. See Instances. |
Endpoint | Each instance has an endpoint that applications must specify when performing operations on tables and data. See Endpoints. |
Data lifecycle | Time to live (TTL) is a property of a data table that specifies the data retention period in seconds. Tablestore clears expired data in the background, reducing storage costs. See Data versions and TTL. |
Data storage models
Tablestore provides multiple data storage models. You can select a model based on your business needs. The following table describes these Tablestore models.
Model | Description |
A model similar to Bigtable and HBase. It can be used in various scenarios, such as metadata and big data. It supports features such as data versions, lifecycle, auto-increment primary key columns, conditional updates, local transactions, atomic counters, and filters. | |
A model designed for the characteristics of time series data. It can be used in scenarios such as IoT device monitoring, device data collection, and machine monitoring data. It supports features such as automatic creation of time series metadata indexes and rich time series query capabilities. | |
A model designed for message data scenarios. It can be used in message scenarios such as IM and feed streams. It meets the requirements for message ordering, massive message storage, and real-time synchronization in message scenarios. It also supports full-text search and multi-dimensional composite queries. |
Features
Each Tablestore model supports a different set of features.
Wide table model
Features | Description |
Lets you list all data tables in an instance, create a data table, query the configuration of a data table, update the configuration of a data table, and delete a data table. | |
Tablestore provides single-row data operation interfaces such as PutRow, GetRow, UpdateRow, and DeleteRow, and multi-row data operation interfaces such as BatchWriteRow, BatchGetRow, and GetRange. You can use these interfaces to read and write data in a table. | |
Use data versions and time to live (TTL) to effectively manage data, reduce data storage usage, and lower storage costs. | |
After you set a non-partition primary key column as an auto-increment column, you do not need to specify a value for the column when you write data. Tablestore automatically generates a value for the auto-increment column. The value is unique and strictly incremental at the partition key level. | |
Updates data in a table only if a specified condition is met. If the condition is not met, the update fails. | |
Create a local transaction for a data range within a partition key value. After you perform read and write operations on the data in the local transaction, you can commit or discard the local transaction as needed. | |
Use a column as an atomic counter and perform atomic counting operations on the column. This can be used to provide real-time statistics for online applications, such as counting the page views (PVs) of a post. | |
Filters the read results on the server-side and determines which rows to return based on the filter conditions. Because only the rows that meet the conditions are returned, this can effectively reduce the amount of data transferred over the network and decrease the response time in most scenarios. | |
Create one or more index tables and use the primary key columns of the index tables for queries. This extends the primary key query capability of the data table to different columns. Secondary indexes include global secondary indexes and local secondary indexes.
| |
Based on inverted indexes and columnar storage, search indexes can solve complex query problems for big data. This includes features such as non-primary key column queries, full-text search, prefix queries, fuzzy queries, multi-conditional composite queries, nested queries, geo queries, statistical aggregation (max, min, count, sum, avg, distinct_count, and group_by), and parallel scans. | |
The SQL query feature provides a unified access interface for multiple data engines. Using this feature, you can perform complex queries and efficient analysis on data in Tablestore. When you use SQL to query data, you can also use indexes to optimize queries. | |
Tablestore provides three types of distributed real-time data consumption channels: incremental, full, and incremental plus full. These channels let you consume and process both historical and newly added data in a table. | |
Data security | By default, Tablestore can be accessed only through classic network domain names, VPC domain names, or the console. You can bind a VPC to an instance and change the instance network type to use Tablestore resources in a VPC, ensuring secure network access. For more information, see Network security management. To ensure the security of table data, Tablestore provides the encryption at rest feature. You can configure data table encryption when you create a data table. |
Tablestore can be integrated with big data platforms such as DataWorks and DMS for management and use. | |
Tablestore data lake delivery can perform full backups or deliver data in real time to OSS for storage in a data lake. This meets the needs for lower-cost historical data storage and larger-scale offline and near-real-time data analytics. | |
Data visualization | You can integrate with data visualization tools such as DataV or Grafana to visualize data in Tablestore. |
View the monitoring information of Tablestore resources to understand resource usage. Set alert rules for important monitoring metrics to be promptly notified of anomalies and handle them quickly. | |
Use Cloud Backup to periodically back up data in Tablestore instances and restore it promptly if data is lost or damaged. Cloud Backup supports full and incremental data backups. It also supports a data redundancy mechanism to improve the data reliability of vaults. | |
Java applications that use open source HBase APIs can directly access the Tablestore service through the Tablestore HBase Client. | |
Using the audit log feature, you can query and analyze logs of operations related to tables and indexes in a Tablestore instance. |
Time series model
Feature | Description |
Lets you list all time series tables in an instance, create a time series table, query the configuration of a time series table, update its configuration, and delete it. | |
Write time series data to a time series table in batches. After the data is written, you can specify a time series identifier to query the data of a time series within a specific timestamp range. | |
Retrieve time series in a time series table. The retrieval supports a combination of multiple conditions. After a time series is retrieved, you can call an API to further query the data in the time series. | |
Tablestore provides separate lifecycles for time series metadata and time series table data to manage the corresponding data. You can use the time to live (TTL) feature to effectively manage time series data, reduce data storage usage, and lower storage costs. | |
Analytical store is a low-cost storage engine that Tablestore has optimized for time series scenarios. It features efficient data compression and storage capabilities and powerful query and analysis functions, making it ideal for handling large-scale data analytics tasks. | |
Custom time series identifiers and data fields as primary keys |
|
The Lastpoint index provides the ability to quickly retrieve the data at the latest timestamp of a time series. When you need to get the time series data at the latest timestamp for each time series, you can use the Lastpoint index. | |
Time series tables support queries using SQL. In SQL, you can filter time series by specifying metadata conditions and perform aggregate operations on data across different dimensions. In addition, SQL supports querying only the metadata of time series, which facilitates metadata management of time series through SQL. | |
Data security | By default, Tablestore can be accessed only through classic network domain names, VPC domain names, or the console. You can bind a VPC to an instance and change the instance network type to use Tablestore resources in a VPC, ensuring secure network access. For more information, see Network security management. |
Tablestore can be integrated with big data platforms such as DataWorks and DMS for management and use. | |
After Tablestore data is connected to Grafana, Grafana can generate dashboards based on the table data to display the data in real time to users. | |
View the monitoring information of Tablestore resources to understand resource usage. Set alert rules for important monitoring metrics to be promptly notified of anomalies and handle them quickly. | |
Using the audit log feature, you can query and analyze logs of operations related to tables and indexes in a Tablestore instance. |
Message model
Features | Description |
| |
Meta management provides interfaces for adding, deleting, modifying, reading single rows, and performing multi-conditional composite queries. | |
Timeline management provides interfaces for fuzzy message queries and multi-conditional composite queries. | |
A queue is a management instance for a message queue that corresponds to an identifier in a single data store. It primarily provides interfaces for synchronous writes, asynchronous writes, batch writes, deletions, synchronous modifications, asynchronous modifications, single-row reads, and range reads. |