表格存储(Tablestore)面向海量结构化数据提供Serverless表存储服务,适用于海量账单、IM消息、物联网、车联网、风控、推荐等场景中的结构化数据存储,提供海量数据低成本存储、毫秒级的在线数据查询和检索以及灵活的数据分析能力。
基本概念
在使用表格存储前,您需要了解以下基本概念。
术语 | 说明 |
---|---|
地域 | 地域(Region)物理的数据中心,表格存储服务会部署在多个阿里云地域中,您可以根据自身的业务需求选择不同地域的表格存储服务。更多信息,请参见表格存储已经开通的Region。 |
读写吞吐量 | 读吞吐量和写吞吐量的单位为读服务能力单元和写服务能力单元,服务能力单元(Capacity Unit,简称CU)是数据读写操作的最小计费单位。更多信息,请参见读写吞吐量。 |
实例 | 实例(Instance)是使用和管理表格存储服务的实体,每个实例相当于一个数据库。表格存储对应用程序的访问控制和资源计量都在实例级别完成。更多信息,请参见实例。 |
服务地址 | 每个实例对应一个服务地址(EndPoint),应用程序在进行表和数据操作时需要指定服务地址。更多信息,请参见服务地址。 |
数据生命周期 | 数据生命周期(Time To Live,简称TTL)是数据表的一个属性,即数据的存活时间,单位为秒。表格存储会在后台对超过存活时间的数据进行清理,以减少您的数据存储空间,降低存储成本。更多信息,请参见数据版本和生命周期。 |
数据存储模型
表格存储提供多种数据存储模型,您可以根据业务需求选择对应的模型进行应用。表格存储数据存储模型的详细说明请参见下表。
模型 | 描述 |
---|---|
宽表模型 | 类Bigtable/HBase模型,可应用于元数据、大数据等多种场景,支持数据版本、生命周期、主键列自增、条件更新、局部事务、原子计数器、过滤器等功能。更多信息,请参见宽表模型。 |
时序模型 | 针对时间序列数据的特点进行设计的模型,可应用于物联网设备监控、设备采集数据、机器监控数据等场景,支持自动构建时序元数据索引、丰富的时序查询能力等功能。更多信息,请参见时序模型。 |
消息模型 | 针对消息数据场景设计的模型,可应用于IM、Feed流等消息场景。能满足消息场景对消息保序、海量消息存储、实时同步的需求,同时支持全文检索与多维度组合查询。更多信息,请参见消息模型。 |
Grid模型 | 针对多维网格数据设计的模型,可实现对多维网格数据的存储、查询和管理。更多信息,请参见Grid模型。 |
功能
表格存储提供的功能说明请参见下表。
功能 | 描述 |
---|---|
主键列自增 | 设置非分区键的主键列为自增列后,在写入数据时,无需为自增列设置具体值,表格存储会自动生成自增列的值。该值在分区键级别唯一且严格递增。 |
条件更新 | 只有满足条件时,才能对数据表中的数据进行更新;当不满足条件时,更新失败。 |
局部事务 | 创建数据范围在一个分区键值内的局部事务。对局部事务中的数据进行读写操作后,可以根据实际提交或者丢弃局部事务。 |
原子计数器 | 将列当成一个原子计数器使用,对该列进行原子计数操作,可用于为某些在线应用提供实时统计功能,例如统计帖子的PV(实时浏览量)等。 |
过滤器 | 在服务端对读取的结果再进行一次过滤,根据过滤器中的条件决定返回哪些行。由于只返回符合条件的数据行,所以在大部分场景下,可以有效降低网络传输的数据量,减少响应时间。 |
多元索引 | 多元索引基于倒排索引和列式存储,可以解决大数据的复杂查询难题,包括非主键列查询、全文检索、前缀查询、模糊查询、多字段自由组合查询、嵌套查询、地理位置查询和统计聚合(max、min、count、sum、avg、distinct_count、group_by、percentiles和histogram)等功能。 |
二级索引 | 支持在属性列创建索引。 通过创建一张或多张索引表,使用索引表的主键列查询,二级索引相当于把数据表的主键查询能力扩展到了不同的列。使用二级索引能加快数据查询的效率。 |
SQL查询 | 通过SQL查询功能,您可以对表格存储中数据进行复杂的查询和高效的分析,为多数据引擎提供统一的访问接口。 |
通道服务 | 通道服务提供了增量、全量、增量加全量三种类型的分布式数据实时消费通道。可以实现对表中历史存量和新增数据的消费处理。 |
数据湖投递 | 表格存储数据湖投递可以全量备份或实时投递数据到OSS数据湖中存储,以满足更低成本的历史数据存储,以及更大规模的离线和准实时数据分析需求。 |
HBase支持 | 开源HBase API的Java应用可以通过Tablestore HBase Client直接访问表格存储服务。 |