The Wide Column model is a Bigtable/HBase-compatible model for metadata, big data, and other scenarios. Each table supports petabyte-scale storage, tens of millions of QPS, schema-free wide rows, multi-version data, and TTL-based lifecycle management.
Model overview
Tablestore's Wide Column model is a Bigtable/HBase-compatible model that stores data in tables using a three-dimensional structure (row, column, and time). Tables are schema-free — each row can have different columns, and you can add or remove attribute columns without defining a schema.
Model components

The Wide Column model consists of the following components.
|
Component |
Description |
|
Primary Key |
Uniquely identifies each row in a table. A primary key consists of one to four primary key columns. |
|
Partition Key |
The first primary key column. Tablestore distributes data across partitions based on partition key values for load balancing. |
|
Attribute Column |
Non-primary-key columns in a row. Each attribute column can store multiple versioned values. No limit on the number of attribute columns per row. |
|
Version |
Each value has a version timestamp that defines the data lifecycle. Version number. |
|
Data Type |
Tablestore supports String, Binary, Double, Integer, and Boolean data types. Data types. |
|
Time To Live (TTL) |
Defines a data lifecycle per table. For example, with a one-month TTL, Tablestore automatically removes data older than one month. Time to live. |
|
Max Versions |
Sets the maximum number of versions per attribute column. When versions exceed this limit, Tablestore asynchronously deletes older versions. Max versions. |
Core components
Data tables, rows, primary keys, and attributes are the core components of the Tablestore Wide Column model. A table is a collection of rows, and each row consists of a primary key and attributes. The first primary key column is the partition key.
The following table describes these components.
Primary key and attribute column data types are listed in Naming conventions and data types.
|
Component |
Description |
|
Primary key |
Uniquely identifies each row. A primary key consists of one to four columns. When creating a table, you must specify the primary key composition, the name and data type of each column, and the column order. Tablestore indexes data based on the primary key of the data table. Rows in a data table are sorted in ascending order by primary key by default. |
|
Partition key |
The first primary key column. Tablestore distributes rows to partitions and machines based on partition key values for load balancing. Rows with the same partition key value belong to the same partition. A partition can contain multiple partition key values. Tablestore automatically splits and merges partitions as needed. Note
A partition key value is the smallest partitioning unit and cannot be further split. To prevent oversized partitions, keep the total size of all rows for a single partition key value under 10 GB. For partition key selection guidelines, see Table operations. |
|
Attribute |
Consists of multiple attribute columns with no per-row limit. Columns can differ between rows, values can be empty, and the same column can store values of different data types. Attribute columns support multiple versions for querying and a configurable time to live (TTL). Data versions and TTL. |
Differences from the relational model
The following table compares the Wide Column model with the relational model.
|
Model |
Features |
|
Wide Column model |
Three-dimensional (row, column, time), schema-free, wide rows, multi-version data, and lifecycle management. |
|
Relational model |
Two-dimensional (row, column), fixed schema. |
Limits
General limits are listed in Limits.
-
If you use a secondary index or search index, check the applicable limits: Secondary index limits, Search index limits.
-
If you use SQL queries, check the applicable limits: SQL query limits.
Features
|
Features |
Description |
References |
|
Table operations |
List, create, update, and delete data tables in an instance. |
|
|
Basic data operations |
Tablestore provides single-row operations (PutRow, GetRow, UpdateRow, DeleteRow) and multi-row operations (BatchWriteRow, BatchGetRow, GetRange) for reading and writing table data. |
|
|
Data versions and TTL |
Manage data retention with versioning and TTL to reduce storage space and costs. |
|
|
Auto-increment primary key column |
When a non-partition primary key column is set to auto-increment, you do not need to specify its value when writing data. Tablestore generates a unique, strictly increasing value per partition key for the column. |
|
|
Conditional update |
Updates data only when specified conditions are met. Otherwise, the update fails. |
|
|
Local transaction |
Creates a local transaction within a single partition key value. You can perform read and write operations, then commit or discard the transaction. |
|
|
Atomic counter |
Uses a column as an atomic counter for real-time statistics, such as counting page views (PV). |
|
|
Filter |
Filters read results on the server side and returns only matching rows, reducing network transfer and response time. |
|
|
Secondary index |
Creates index tables to enable queries on non-primary-key columns. Includes global and local secondary indexes.
|
|
|
Search index |
Built on inverted indexes and columnar storage for complex big data queries. Supports non-primary-key queries, full-text search, prefix/fuzzy queries, combined conditions, nested queries, geo queries, aggregations (max, min, count, sum, avg, distinct_count, group_by), and parallel scan. |
|
|
SQL query |
Provides a unified SQL interface across data engines for complex queries and analysis on data in Tablestore, with index-based query optimization. |
|
|
Tunnel Service |
Tablestore provides three distributed real-time data channels (incremental, full, and incremental-plus-full) to consume and process historical and new data in a table. |
Billing
Billed for read/write throughput, data storage, and outbound Internet traffic. Billing overview.
FAQ
References
-
Create a zone-redundant instance for zone-level disaster recovery. Zone-redundant storage.
-
Protect data and network access with table encryption and VPC access. Data encryption. Network Security management.
-
Periodically back up data to prevent accidental deletion. Data backup.
-
Consume and process historical and new table data with Tunnel Service.
-
Configure metric-based alert notifications with Cloud Monitor. Monitoring and alerting.
-
Visualize data with DataV or Grafana. Data visualization.