表格存储面向海量结构化数据提供Serverless表存储服务,适用于海量账单、IM消息、物联网、车联网、风控、推荐等场景中的结构化数据存储,提供海量数据低成本存储、毫秒级的在线数据查询和检索以及灵活的数据分析能力。
基本概念
在使用表格存储前,您需要了解以下基本概念。
术语 | 说明 |
地域 | 地域(Region)物理的数据中心,表格存储服务会部署在多个阿里云地域中,您可以根据自身的业务需求选择不同地域的表格存储服务。更多信息,请参见表格存储已经开通的Region。 |
读写吞吐量 | 读吞吐量和写吞吐量的单位为读服务能力单元和写服务能力单元,服务能力单元(Capacity Unit,简称CU)是数据读写操作的最小计费单位。更多信息,请参见读写吞吐量。 |
实例 | 实例(Instance)是使用和管理表格存储服务的实体,每个实例相当于一个数据库。表格存储对应用程序的访问控制和资源计量都在实例级别完成。更多信息,请参见实例。 |
服务地址 | 每个实例对应一个服务地址(EndPoint),应用程序在进行表和数据操作时需要指定服务地址。更多信息,请参见服务地址。 |
数据生命周期 | 数据生命周期(Time To Live,简称TTL)是数据表的一个属性,即数据的存活时间,单位为秒。表格存储会在后台对超过存活时间的数据进行清理,以减少您的数据存储空间,降低存储成本。更多信息,请参见数据版本和生命周期。 |
数据存储模型
表格存储提供多种数据存储模型,您可以根据业务需求选择对应的模型进行应用。表格存储数据存储模型的详细说明请参见下表。
模型 | 描述 |
宽表模型 | 类Bigtable/HBase模型,可应用于元数据、大数据等多种场景,支持数据版本、生命周期、主键列自增、条件更新、局部事务、原子计数器、过滤器等功能。更多信息,请参见宽表模型。 |
时序模型 | 针对时间序列数据的特点进行设计的模型,可应用于物联网设备监控、设备采集数据、机器监控数据等场景,支持自动构建时序元数据索引、丰富的时序查询能力等功能。更多信息,请参见时序模型。 |
消息模型 | 针对消息数据场景设计的模型,可应用于IM、Feed流等消息场景。能满足消息场景对消息保序、海量消息存储、实时同步的需求,同时支持全文检索与多维度组合查询。更多信息,请参见消息模型。 |
功能特性
表格存储的不同模型支持的功能不同。
宽表模型
功能特性 | 描述 | 相关文档 |
表操作 | 支持列出实例中的全部数据表、创建一张数据表、查询数据表的配置信息、更新数据表的配置信息以及删除一张数据表。 | |
基础数据操作 | 表格存储提供了PutRow、GetRow、UpdateRow和DeleteRow的单行数据操作接口以及BatchWriteRow、BatchGetRow和GetRange的多行数据操作接口。您可以通过单行数据操作接口或者多行数据操作接口读写表中数据。 | |
数据版本和生命周期 | 使用数据版本以及数据生命周期(TTL)功能,您可以有效的管理数据,减少数据存储空间,降低存储成本。 | |
主键列自增 | 设置非分区键的主键列为自增列后,在写入数据时,无需为自增列设置具体值,表格存储会自动生成自增列的值。该值在分区键级别唯一且严格递增。 | |
条件更新 | 只有满足条件时,才能对数据表中的数据进行更新;当不满足条件时,更新失败。 | |
局部事务 | 创建数据范围在一个分区键值内的局部事务。对局部事务中的数据进行读写操作后,可以根据实际提交或者丢弃局部事务。 | |
原子计数器 | 将列当成一个原子计数器使用,对该列进行原子计数操作,可用于为某些在线应用提供实时统计功能,例如统计帖子的PV(实时浏览量)等。 | |
过滤器 | 在服务端对读取的结果再进行一次过滤,根据过滤器中的条件决定返回哪些行。由于只返回符合条件的数据行,所以在大部分场景下,可以有效降低网络传输的数据量,减少响应时间。 | |
二级索引 | 通过创建一张或多张索引表,使用索引表的主键列查询,相当于把数据表的主键查询能力扩展到了不同的列。二级索引包括全局二级索引和本地二级索引。
| |
多元索引 | 多元索引基于倒排索引和列式存储,可以解决大数据的复杂查询难题,包括非主键列查询、全文检索、前缀查询、模糊查询、多条件组合查询、嵌套查询、地理位置查询、统计聚合(max、min、count、sum、avg、distinct_count、group_by)、并发导出数据等功能。 | |
SQL查询 | SQL查询功能为多数据引擎提供统一的访问接口。通过SQL查询功能,您可以对表格存储中数据进行复杂的查询和高效的分析。使用SQL查询数据时,您还可以配合索引来优化查询。 | |
通道服务 | 表格存储提供了增量、全量、增量加全量三种类型的分布式数据实时消费通道,可以实现对表中历史存量和新增数据的消费处理。 | |
数据安全 | 表格存储默认只能通过经典网域名、VPC域名或者控制台进行访问。您可以通过为实例绑定VPC并更改实例网络类型实现在专有网络中使用表格存储资源,保证网络访问安全。 为了保证表数据安全,表格存储提供了数据落盘加密功能。您可以在创建数据表时配置数据表加密。 | |
数据湖投递 | 表格存储数据湖投递可以全量备份或实时投递数据到数据湖OSS中存储,以满足更低成本的历史数据存储,以及更大规模的离线和准实时数据分析需求。 | |
数据可视化 | 支持对接数据可视化工具DataV或者Grafana。通过对接数据可视化工具可以实现可视化展示表格存储中的数据。 | |
监控与报警 | 通过查看表格存储资源的监控信息,您可以了解资源的使用情况。通过为资源的重要监控指标设置报警规则,您还可以及时得知指标异常并快速处理异常。 | |
备份与恢复 | 通过云备份(Cloud Backup)定期备份表格存储实例中的数据,并在数据丢失或受损时及时恢复。Cloud Backup支持全量与增量数据备份,同时支持数据冗余机制,可以提高存储库的数据可靠性。 | |
HBase支持 | 开源HBase API的Java应用可以通过Tablestore HBase Client直接访问表格存储服务。 | |
审计日志 | 通过审计日志功能,您可以查询与分析表格存储实例中的表、索引相关操作的日志。 |
时序模型
功能特性 | 描述 | 相关文档 |
表操作 | 支持列出实例中的全部时序表、创建一张时序表、查询时序表的配置信息、更新时序表的配置信息以及删除一张时序表。 | |
读写时序数据 | 将时序数据批量写入一张时序表中。数据写入后,您可以通过指定时间线标识来查询一条时间线在某段时间范围内的数据。 | |
时间线检索 | 检索一张时序表中的时间线,检索条件支持多种条件组合。检索到时间线后,您可以通过调用接口进一步查询该时间线中的数据。 | |
自定义时间线标识和作为主键的数据字段 |
| |
Lastpoint索引 | Lastpoint索引提供了快速获取时间线最新时间点数据的能力。当需要获取每条时间线的最新一个时间点的时序数据时,您可以使用Lastpoint索引实现。 | |
SQL查询分析 | 时序表支持通过SQL进行查询,SQL中支持通过指定时间线的元数据条件筛选时间线以及通过统计聚合操作按照不同维度对数据进行聚合操作。 此外,SQL还支持仅对时间线的元数据进行查询,方便通过SQL进行时间线的元数据管理。 | |
对接Grafana | 表格存储的表数据接入Grafana后,Grafana可以根据表数据生成大盘面板,将数据实时展示给需要的用户。 |
消息模型
功能特性 | 描述 | 相关文档 |
表操作 |
| |
Meta管理 | Meta管理提供了增、删、改、单行读、多条件组合查询等接口。 | |
Timeline管理 | Timeline管理提供了消息模糊查询、多条件组合查询接口。 | |
Queue管理 | Queue是单存储库下单Identifier对应的消息队列的管理实例,主要有同步写、异步写、批量写、删、同步改、异步改、单行读、范围读等接口。 |