宽表模型介绍

宽表(WideColumn)模型是类Bigtable/HBase模型,可应用于元数据、大数据等多种场景,支持数据版本、生命周期、主键列自增、条件更新、过滤器等功能。宽表模型在车联网场景中主要用于车辆元数据的存储与分析。

说明

关于宽表模型的更多信息,请参见宽表模型

模型构成

widecolumn

宽表模型如上图所示,由以下几个部分组成。

组成部分

描述

主键(Primary Key)

主键是数据表中每一行的唯一标识,主键由14个主键列组成。

分区键(Partition Key)

主键的第一列称为分区键。表格存储按照分区键对数据表的数据进行分区,具有相同分区键的行会被划分到同一个分区,实现数据访问负载均衡。

属性列(Attribute Column)

一行中除主键列外,其余都是属性列。属性列会对应多个值,不同值对应不同的版本,每行的属性列个数没有限制。

版本(Version)

每一个值对应不同的版本,版本的值是一个时间戳,用于定义数据的生命周期。更多信息,请参见版本号

数据类型(Data Type)

表格存储支持多种数据类型,包含String、Binary、Double、IntegerBoolean。更多信息,请参见数据类型

生命周期(Time To Live)

每个数据表可定义数据生命周期。例如生命周期配置为一个月,则表格存储会自动清理一个月前写入数据表的数据。更多信息,请参见数据生命周期

最大版本数(Max Versions)

每个数据表可定义每个属性列的数据最多保存的版本个数,用于控制属性列数据的版本个数。当一个属性列数据的版本个数超过Max Versions时,表格存储会异步删除较早版本的数据。更多信息,请参见最大版本数

模型特性

  • 宽表模型是Schema-free的,创建一张数据表只需要定义1~4个主键结构,无需定义属性列结构。在写入数据时添加任意多个属性列即可。

  • 主键列表中第一个主键将作为分区键,按照分区键值的范围将数据负载均衡到多个分区 (Partition) 中。

  • 支持多版本数据存储以及数据生命周期管理,可以有效的管理数据,减少数据存储空间,降低存储成本。

使用宽表模型

您可以通过以下方式进行表操作和数据操作。