All Products
Search
Document Center

Tablestore:Wide Column Model

Last Updated:Jun 10, 2026

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.

Note

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.

Features

Features

Description

References

Table operations

List, create, update, and delete data tables in an instance.

Table operations

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.

Data versions and TTL

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.

Auto-increment primary key column

Conditional update

Updates data only when specified conditions are met. Otherwise, the update fails.

Conditional update

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.

Local transaction

Atomic counter

Uses a column as an atomic counter for real-time statistics, such as counting page views (PV).

Atomic counter

Filter

Filters read results on the server side and returns only matching rows, reducing network transfer and response time.

Filter

Secondary index

Creates index tables to enable queries on non-primary-key columns. Includes global and local secondary indexes.

  • Global secondary index: Asynchronously syncs indexed and primary key columns to the index table, typically with millisecond-level latency.

  • Local secondary index: Synchronously syncs indexed and primary key columns to the index table for immediate querying after writes.

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