Tablestore provides three data storage models: the Wide Column model, TimeSeries model, and Timeline model. This topic describes the features supported by each model.
Wide Column model
The following table describes the features supported by the Wide Column model.
|Table operations||You can list, create, query and update configurations of, and delete data tables.||Table operations|
|Basic operations on data||You can call the PutRow, GetRow, UpdateRow, and DeleteRow operations to perform operations on a single row or call the BatchWriteRow, BatchGetRow, and GetRange operations to perform operations on multiple rows.|
|Max versions and TTL||You can use the max versions and Time To Live (TTL) features to manage the lifecycle of your data to optimize storage efficiency and reduce costs.||Data versions and TTL|
|Auto-increment primary key column||You cannot set the partition key to an auto-increment primary key column. If you write data to a table that contains an auto-increment primary key column, you do not need to specify values for the auto-increment primary key column. Tablestore automatically generates values for the auto-increment primary key column. The values in the auto-increment primary key column are unique and increase monotonically within a partition that shares the same partition key value.||Auto-increment of primary key columns|
|Conditional update||If you use conditional updates, data in the table is updated only when the conditions are met. If the conditions are not met, the update fails.||Conditional update|
|Local transactions||You can create a local transaction based on a specified partition key value. After you read or write data within a local transaction, you can commit or abort the local transaction.||Local transactions|
|Atomic counters||Atomic counters allow you to implement an atomic counter on a column. This feature provides statistic data for online applications such as the number of page views on various topics.||Atomic counters|
|Filters||Filters sort results on the server side. Only results that match the filter conditions are returned. Filters effectively reduce the volume of transferred data and shorten the response time.||Configure a filter|
|Secondary index||You can create one or more index tables and perform queries by using the primary key
columns of the index tables. Secondary indexes include global secondary indexes and
local secondary indexes.
|Search index||The search index feature is implemented by using inverted indexes and column stores. This feature provides query methods to solve problems in complex big data scenarios. The query methods include queries based on non-primary key columns, full-text search, prefix query, fuzzy query, Boolean query, nested query, and geo query. For the Wide Column model, the feature also supports aggregate functions such as max, min, count, sum, avg, distinct_count, and group_by, and the parallel scan function.|
|SQL query||The SQL query feature provides a unified access interface for multiple data engines. The SQL query feature is an easy-to-use feature that you can use to perform complex queries and analytics on data in Tablestore. You can also use indexes in combination with SQL query to optimize queries.|
|Tunnel Service||Tunnel Service provides tunnels that are used to export and consume data in the full, incremental, and differential modes. After you create a tunnel, you can use it to consume historical and incremental data of a table.|
|Data delivery||Tablestore uses data delivery to deliver full or incremental data to Object Storage Service (OSS) in real time. This feature is ideal for building data lakes as it enables Tablestore to store historical data in OSS at lower costs while Tablestore implements offline or quasi-real-time analysis of larger amounts of data.|
|Data visualization||Tatablestore supports two data visualization tools: DataV and Grafana. These tools can be used to visualize data and make data easier to consume.|
|Monitoring and alerting||You can view monitoring information about Tablestore resources to learn about the resource usage. You can also configure alert rules for mission-critical metrics. This allows you to receive notifications when these metrics deviate and take steps to correct issues at the earliest opportunity.|
|Backup and restoration||Hybrid Backup Recovery (HBR) can be used to regularly back up data in Tablestore instances and restore lost or damaged data. HBR supports the backup of full data and incremental data and data redundancy. This improves the reliability of data in backup vaults.|
|HBase support||Tablestore HBase Client can be used to access Tablestore by using Java applications built on open source HBase APIs.|
The following table describes the features supported by the TimeSeries model.
|Table operations||You can list, create, query and update the configurations of, and delete time series tables.|
|Data read and write||You can write time series data into a time series table in batches. After data is written to the time series table, you can specify a time series identifier to query the data in the time series within the specified time range.|
|Time series retrieval||You can retrieve a time series in a time series table by using composite conditions. After the time series is retrieved, you can call Tablestore API operations to further query data in the time series.|
|SQL query and analysis||You can use SQL statements to query time series data. In an SQL statement, you can
filter time series by specifying metadata conditions and aggregate data based on different
In addition, you can query only the metadata of time series in SQL. This way, you can manage the metadata of time series by using SQL.
|Use SQL to query time series data|
|Connection with Grafana||After you add a Tablestore data source to Grafana, Grafana displays real-time data on a dashboard.||Connect Tablestore to Grafana|
The following table describes the features supported by the Timeline model.
|Meta management||You can call operations such as Insert, Delete, Update, Read, and Search to manage Meta data.||Meta management|
|Timeline management||You can call the operations for fuzzy query and Boolean query to manage Timeline data.||Timeline management|
|Manage queues||The Queue instance manages a message queue that corresponds to an identifier of a TimelineStore. This instance provides operations such as Store, StoreAsync, BatchStore, Delete, Update, UpdateAsync, Get, and Scan.||Queue management|