表格存储Tablestore-新手入门攻略

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000 次 1年
文件存储 NAS,50GB 3个月
简介: 这里期望给大家提供一个简易小攻略,快速上手表格存储Tablestore。期望表格存储Tablestore能够解决你当前架构与场景中遇到问题。

这里期望给大家提供一个简易小攻略,快速上手表格存储Tablestore。期望表格存储Tablestore能够解决你当前架构与场景中遇到问题。(会不定期的更新)
在此之前给大家提供两个小法宝。会大大提高后续研发效率:

  1. 钉钉咨询群——能够直接与表格存储工程师&广大开发者沟通交流、同时还会不定期送上实践学习直播。
  2. 表格存储权威指南——汇集了表格存储的关键场景案例以及最佳实践,看看有没有你正遇到场景的解决方案?

入门篇一 初步调研了解

Step.1 场景锲合度判断
选择使用表格存储前关键需要明确你的场景是否适合。
表格存储是阿里云自2010起自研使用的一个多模型NoSQL数据库,面向海量大数据存储,身经百战。非常适合存储如下结构化/半结构化数据:
pic1.png
这些场景特点是:1. 数据规模大,常见的关系型数据库难以存储。2.需要支持很高的读写吞吐与极低的响应延迟。 3. 数据结构相对简单,无跨数据表的关联查询,数据存储写入是无需复杂的事务机制。
典型的案例推荐:

案例推荐 存储数据
打造亿量级订单管理解决方案 历史订单
现代IM中消息系统构建 聊天消息
管理海量快递轨迹数据架构实现 轨迹信息(时序数据)
海量气象格点数据解决方案实战 气象监控(时序数据)
百亿级全网舆情分析系统存储设计 爬虫信息
共享汽车管理平台 Iot信息(元数据、时序数据)

可以查看更多案例
如果你的的场景符合上面的描述,放心的往下走,一起来构建你的服务,解决你的问题。

Step.2 了解费用
表格存储当前的付费模型目前是纯按量模式,根据实际使用量按小时计费。所以前期的接入成本非常的低。可以免费开通使用。后面正式业务上量后可以按照资源包等其他手段优化成本。
费用简介:表格存储费用,可以直接看链接中最下方的视频简介有个快速了解。

入门篇二、开通与构建数据

Step.1 开通产品,创建实例
表格存储是Serverless的产品,直接在产品详情页点击开通即可。开通产品不会有任何费用产生。
开通后可以立马在控制台创建实例,可以根据业务场景需求创建不同的实例类型,详情可以参考实例类型说明

类型 使用场景 读性能 写性能 并发力
高性能实例 适用于对读写性能和并发都要求非常高的场景,例如游戏、金融风控、社交应用、推荐系统等。
容量型实例 适用于对读性能不敏感,但对成本较为敏感的业务,例如日志监控数据、车联网数据、设备数据、时序数据、物流数据、舆情监控等。

然后就可以在控制台中创建实例:控制台创建实例说明

Step.2 选择数据模型,设计表结构
表格存储是一个多模态的数据库产品,支持多种数据模型适配不同的应用场景:

实例模型 适用场景 详情
宽行模型(WideColumn) 表格存储数据模型,适合元数据、大数据场景 点击查看
时间线模型(Timestream) 时序场景,如轨迹,监控等 点击查看
轻量级消息模型(Timeline) 消息场景如IM,Feed流等
格点模式(Grid) 多维网格数据的存储、查询和管理。如     

可以根据实际使用场景选择不同的数据模型,这里需要注意的是宽行模型是当前表格存储的基础数据模型。其他的数据模型基于此封装输出。如果场景匹配度较高,可以直接使用后面封装完整的模式。当前也可以根据实际场景设计表结构。
如果使用宽行模型,表结构的设计是我们的能够发挥表格存储能力、满足业务需求的关键。需要考虑:

  • 如何避免热点,提升整体服务能力,避免系统瓶颈
  • 如何设计主键顺序,满足业务查询需求

如果表设计完成,可以控制台中创建表:控制台创建表示例

入门篇三、基础数据的读写

在完成表设计,创建表以后既可以尝试写入数据。表格存储的读写接口都非常简单,可以简单分为单行数据操作与多行数据操作。

操作类型 接口 说明
单行数据操作
(Java示例)
GetRow 读取一行数据。
PutRow 新写入一行数据
UpdateRow 更新一行数据。
DeleteRow 删除一行数据。
多行数据操作
Java 示例
BatchGetRow 批量读取一个或多个表中多行数据。
BatchWriteRow 批量插入、更新或者删除一个或多个表中的多行数据。
GetRange 读取表中指定主键范围内的数据。

如果同时可以在控制台体验数据读写
综上基本已经完成一个数据系统的基本元素,包含了基础的数据读写。除此之外可以根据你的场景需要在这里关注诸如:条件更新原子计数器局部事务主键列自增的需求。
接下来进阶使用一些关键能力。让你的数据真正玩转起来。

进阶篇——多元索引

表格存储的宽行模型本身设计只提供了相对简单的数据查询能力,而由于业务场景的需求,往往需要较为多维度的查询需求(尤其是非主键查询)。而表格存储的索引能力能够满足该需求。我们将原本的数据称之为主表,在这个基础上面提供二级索引&多元索引能力。

索引类型 原理 场景
数据表主表 数据表类似于一个巨大的Map,它的查询能力也就类似于Map,只能通过主键查询。 适用于可以确定完整主键(Key)或主键前缀(Key prefix)的场景。
全局二级索引 通过创建一张或多张索引表,使用索引表的主键列查询,相当于把数据表的主键查询能力扩展到了不同的列。 适用于能提前确定待查询的列,待查询列数量较少,且可以确定完整主键或主键前缀的场景。
多元索引 使用了倒排索引、BKD树、列存等结构,具备丰富的查询能力。 适用于除数据表主键和全局二级索引之外的其他所有查询和分析场景。

可以根据上面的场景选择不同的索引能力,可以直接在控制台创建多元索引

进阶篇——计算引擎的对接

表格存储中存储的多为数据中台类数据,除了面向TP类业务还是非常大的需求需要针对这部分数据进行分析处理。而当前产品已经与基本主流的计算引擎无缝对接,支持流、批等多种开源、阿里云产品生态。能够挖掘使用数据价值。

数据计算类型 使用文档(计算引擎选择) 场景
批计算 - Maxcompute
-
- Hive/HadoopMR
海量数据分析
流计算 - Blink/Flink 流式数据分析、清洗
交互式分析 - DLA 即席数据分析
事件触发(函数计算) - 函数计算FunctionCompute 数据清洗、同步等

进阶篇——数据实时消费通道

Tunnel能够实时捕获表内数据的变化,返回一个有序的行级的数据变更记录。提供全增量一体数据实时消费通道,高效完成数据全链路处理分析。
由于捕获数据变化的能力,可以方便的完成数据的迁移、流式计算、事件触发、数据消费等。尤其针对数据需要连续计算、清洗的场景,可以非常便捷的通过通道服务实现。

pic7.png
详情可以参考:数据实时消费通道

进阶篇——数据安全

这里简单总结了一些安全相关的功能点,涉及数据安全相关需求,可以参考这里:

功能点 解决问题
VPC绑定 网络安全问题。限制实例仅仅被指定VPC网络访问
数据多版本 数据误操作等问题。提供多数据版本,支持读取指定版本数据。
访问权限管控(RAM&STS) 访问权限问题。提供精细到API级别的权限管控能力。

结语

期望表格存储本身能够帮助大家解决当前场景的问题。业务场景与技术也在不断的变化发展,表格存储也会跟大家一起面对变化,迎接一轮又一轮的浪潮。

相关实践学习
阿里云表格存储使用教程
表格存储(Table Store)是构建在阿里云飞天分布式系统之上的分布式NoSQL数据存储服务,根据99.99%的高可用以及11个9的数据可靠性的标准设计。表格存储通过数据分片和负载均衡技术,实现数据规模与访问并发上的无缝扩展,提供海量结构化数据的存储和实时访问。 产品详情:https://www.aliyun.com/product/ots
目录
相关文章
|
索引 存储 NoSQL
表格存储(Tablestore)入门指南
表格存储(Tablestore)入门指南内容简介了表格存储(Tablestore)是阿里云自研的 NoSQL 多模型数据库,提供海量结构化数据存储以及快速的查询和分析服务。
19771 2
|
存储 监控 NoSQL
快速认识OTS
## 什么是OTS   OTS 是Open Table Service的简称,现在已更名为表格存储Table Store,官网对它的解释为:OTS是构建在阿里云飞天分布式系统之上的 NoSQL 数据库服务,提供海量结构化数据的存储和实时访问。OTS 以实例和表的形式组织数据,通过数据分片和负载均衡技术,达到规模的无缝扩展。OTS 向应用程序屏蔽底层硬件平台的故障和错误,能自动从各类错误中快速
46645 2
|
12月前
|
存储 NoSQL 开发工具
开发者如何使用表格存储 Tablestore
【10月更文挑战第11天】开发者如何使用表格存储 Tablestore
566 0
|
存储 NoSQL 关系型数据库
Feed流系统设计-总纲
简介 差不多十年前,随着功能机的淘汰和智能机的普及,互联网开始进入移动互联网时代,最具代表性的产品就是微博、微信,以及后来的今日头条、快手等。这些移动化联网时代的新产品在过去几年间借着智能手机的风高速成长。
30454 123
|
存储 SQL 运维
基于 MySQL + Tablestore 分层存储架构的大规模订单系统实践-架构篇
背景订单系统存在于各行各业,如电商订单、银行流水、运营商话费账单等,是一个非常广泛、通用的系统。对于这类系统,在过去十几年发展中已经形成了经典的做法。但是随着互联网的发展,以及各企业对数据的重视,需要存储和持久化的订单量越来越大,数据的重视程度与数据规模的膨胀带来了新的挑战。首先,订单量对于数据的存储、持久化、访问带来了挑战,这不仅增加了开发面对的困难,也为系统的运维带来了挑战。其次,随着大数据技
3224 0
基于 MySQL + Tablestore 分层存储架构的大规模订单系统实践-架构篇
|
存储 SQL 运维
大规模订单系统解读-架构篇
从最早的互联网高速发展、到移动互联网的爆发式增长,再到今天的产业互联网、物联网的快速崛起,各种各样新应用、新系统产生了众多订单类型的需求,比如购物订单、交流流水,外卖订单、支付账单、设备信息等。数据范围不仅越来越广,而且数据量越来越大,原有的经典架构方案已经很难满足当前新的业务场景。在新的需求下,对存储规模、开发效率、查询功能、未来扩展性等众多方面提出了更高的要求,要设计一款可靠稳定且扩展性好
8945 1
大规模订单系统解读-架构篇
|
存储 NoSQL 分布式数据库
深入对比 HBase 与阿里云的表格存储服务
谷歌的 Bigtable 于 2016 年推出了兼容 HBase 的接口,而作为国内最早推出分布式 NoSQL 数据存储服务的阿里云表格存储也在最近正式发布了HBase Client,能够帮助用户将业务轻松从 HBase 迁移至表格存储。
21388 1
深入对比 HBase 与阿里云的表格存储服务
|
存储 运维 Cloud Native
教你如何免费使用一款免运维、无限容量的表存储服务
作者:李欣前言表格存储是一款用于存储海量非关系型(NoSQL)结构化数据的云原生表存储服务,提供 Schemaless 表结构设计、多元化索引以及数据更新实时订阅通道,支撑 PB 级数据存储的同时能提供丰富且灵活的数据查询、检索和分析能力。对接了各大主流开源计算引擎,能灵活的实现流批一体分析。通过阅读本文您将了解如何免费开通和使用表格存储服务,即刻拥有一个完全免运维、弹性、高性能、低成本的表存储服
3816 0
教你如何免费使用一款免运维、无限容量的表存储服务
|
存储 NoSQL 关系型数据库
基于Tablestore打造亿量级订单管理解决方案
一、方案背景 订单系统存在于各行各业,如电商订单、银行流水、运营商话费账单等,是一个非常广泛、通用的系统。对于这类系统,在过去十几年发展中已经形成了经典的做法。但是随着互联网的发展,以及各企业对数据的重视,需要存储和持久化的订单量越来越大。
19113 0