表格存储(Table Store)是阿里云自研的NoSQL多模型数据库,Wide Column 模型是表格存储的采用的模型之一,本文主要为您介绍Wide Column 模型的构成以及与关系模型的区别。

Wide Column 模型



Wide Column 模型如上图所示,由以下几个部分组成:

组成部分 描述
主键(Primary Key) 主键(Primary Key)
分区键(Partition Key) 主键的第一列称为分区键。表格存储按照分区键对表的数据进行分区,拥有相同分区键的行会被划分到同一个分区,实现数据访问负载均衡。在同一个分区键内,我们提供跨行事务。更多信息,请参见主键和属性文档。
属性列(Attribute Column) 一行中除主键列外,其余都是属性列。属性列会对应多个值,不同值对应不同的版本,一行可存储不限个数个属性列。
版本(Version) 每一个值对应不同的版本,版本的值是一个时间戳,用于定义数据的生命周期。
数据类型(Data Type) Table Store 支持多种数据类型,包含 String、Binary、Double、Integer 和 Boolean。
生命周期(Time To Live) 每个表可定义数据生命周期。例如生命周期配置为一个月,则该表数据中在一个月之前写入的数据就会被自动清理。数据的写入时间由版本来决定,版本一般由服务端在数据写入时根据服务器时间来定,也可由应用指定。更多详情,请参见数据版本和生命周期文档。
最大版本数(Max Versions) 每个表可定义每一列最多保存的版本数,用于控制一列的版本的个数。 当一个属性列的版本个数超过 Max Versions 时,最早的版本将被异步删除。

Wide Column 模型对比关系模型区别

Wide Column 模型对比关系模型区别如下:
模型 描述
Wide Column 模型 三维结构(行、列和时间)、schema-free、宽行、多版本数据以及生命周期管理。
关系模型 二维(行、列)以及固定的Schema。