一站式结构化数据存储Tablestore实战手册.pdf
《一站式结构化数据存储Tablestore实战手册.pdf》由会员分享,可在线阅读,更多相关《一站式结构化数据存储Tablestore实战手册.pdf(205页珍藏版)》请在咨信网上搜索。
1、卷首语号称 Google 三驾马车的重要论文 GFS、MapReduce、Bigtable 的发布引爆了大数据时代,奠定了风靡全球的大数据技术基础。Bigtable 启发了诸多 NoSQL 数据库的诞生,比如Cassandra、HBase、Tablestore 等。其中表格存储 Tablestore 是阿里云存储团队基于Bigtable 思想自研的分布式结构化数据存储,历经十年发展,覆盖了国内外 30+区域、拥有1 万+服务器规模、200+PB 存储规模,输出了新零售订单存储、物联网平台数据存储、IM 消息数据存储等众多解决方案。作为一款免运维 NoSQL 数据库产品,Tablestore 在
2、数据存储系统架构中扮演着什么角色?如何十分钟内学会一款分布式数据库?本书将带大家从零开始上手体验表格存储,并实战演示如何基于 Tablestore 打造百亿级订单存储系统架构。目录表格存储 Tablestore 简介5表格存储 Tablestore 简介5十分钟快速上手8准备工作8快速上手宽表模型12快速上手时序模型28控制台入门指南38Tablestore 控制台入门指南38Tablestore SDK 开发指南50Java SDK 开发入门50Go SDK 开发入门57Python SDK 开发入门66Node.js SDK 开发入门72场景实战83基于 MySQL+Tablestore
3、分层存储架构的大规模订单系统实践-架构篇83基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-数据同步 DTS 篇91基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-数据同步 Canal 篇108基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-订单搜索篇123基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-SQL 查询和分析137基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-基于 DLA 的联邦查询147基于 MySQL+Tablestore 分层存储架构的大规模订
4、单系统实践-数据处理 ETL 篇165基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-历史数据分析篇172基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-数据流计算篇1895表格存储 Tablestore 简介表格存储 Tablestore 简介表格存储 Tablestore 简介前言前言近十年来互联网技术得到了飞速的发展,越来越多的行业逐渐加入到了互联网的阵营中来,同时也产生了更丰富、更复杂的业务场景和需求,这对于数据应用系统的性能无疑是巨大的挑战。传统应用系统通常会选择关系型数据库 MySQL 作为存储引擎,原因是 MySQL 自身拥有强
5、大的数据查询能力,同时能满足 ACID 强事务处理。但仅以单点 MySQL 作为存储系统架构会存在如下几个问题:第一,存储规模和并发都存在瓶颈,难以支持规模很大的业务场景。第二,集群需要预备计算和存储资源,弹性低。且集群扩缩容需要进行数据迁移,扩展性差。第三,成本非常高。业务规模变大后成本会直线飙升,但是性能却存在瓶颈。如何优化如何优化上述的问题本质上也是关系型数据库瓶颈所在。可以从存储和流量两个方面来分析可优化的点。第一点是存储,可以按照访问频率、数据量将数据划分为热数据与冷数据。热数据的特点为规模小、访问频率高、事务相关性强。冷数据的特点为规模大、访问频率低、事务相关性弱。MySQL 仅负
6、责热数据的存储,而将冷数据迁移到其他成本低、规模大的存储引擎中,具备这两个特性的毫无疑问是 NoSQL 数据库。第二点是流量,可以将流量划分为数据查询、数据检索、数据分析。其中数据检索、分析对服务计算资源消费比较高,可以将这部分流量卸载到 NoSQL数据库中,MySQL 只负责处理简单的数据查询。整体的优化如下图所示。表格存储 Tablestore 简介表格存储 Tablestore 简介十分钟快速上手十分钟快速上手启动命令行启动命令行解压缩下载的 zip 包,进入 Tablestore CLI 根目录。执行./ts 启动命令行工具。./ts#Welcome to use Command Li
7、ne Tool for Aliyun Tablestore.Current Version is 2021-11-11.#_#|_|#|_ _|_|_|_ _#|/_|_|/_ /_|_|/_|_|/_#|(_|_)|_/_|_|(_)|_/#|_|_,_|_._/|_|_|_/_|_/|_|_|#Please visit our product website:https:/ can also join our DingTalk Chat Group(ID:11789671 or 23307953)to discuss andask Tablestore related questions.
8、#tablestore获取 AccessKeyID 和 AccessKeySecret获取 AccessKeyID 和 AccessKeySecret1.登录阿里云官网,进入表格存储控制台。单击 AccessKey 管理。十分钟快速上手十分钟快速上手配置实例和服务地址配置实例和服务地址执行 config 命令配置实例名和服务地址。执行 config help 可查看详细参数信息和 Sample示例。提示:可选择公网地址作为访问服务地址,格式为 https:/instanceNconfig-endpoint your_endpoint-instance your_instanceName十分钟快
9、速上手十分钟快速上手宽表操作宽表操作创建数据表。执行 create 命令创建一张订单表,表名为 order。create-t order-pk c:id,t:string选择数据表。执行 use-wc 命令选择操作 order 表。use-wc-t order数据导入。这里提供两种方式导入数据,二选一即可。自定义数据,执行 put 命令单行写入。示例中写入了 5 条订单数据。put-pk 0000000f470ef0f548b925ceffe1a7e3-attr c:pBrand,v:oppo,c:pPrice,v:2498.99,c:totalPrice,v:1599.0,c:sName,v
10、:售郑七,c:pId,v:p0004001,c:oId,v:o0057022192,c:hasPaid,v:false,c:sId,v:s0007,c:orderTime,v:1518510583886,isint:true,c:pName,v:oppo K1,c:cName,v:消郑七,c:pType,v:手机,c:pCount,v:1,isint:true,c:cId,v:c0017put-pk 000000114d884ca1dbd6b9a58e8d0d94-attr c:pBrand,v:vivo,c:pPrice,v:1599.0,c:payTime,v:1509615334404,
11、isint:true,c:totalPrice,v:2498.99,c:sName,v:售周五,c:pId,v:p0003004,c:oId,v:o0039248410,c:hasPaid,v:true,c:sId,v:s0015,c:orderTime,v:1509614885965,isint:true,c:pName,v:vivo x21,c:cName,v:消冯八,c:pType,v:手机,c:pCount,v:1,isint:true,c:cId,v:c0018put-pk 0000004dbeb751e77cf0b3f0da90b6ee-attr c:pBrand,v:小米,c:p
12、Price,v:2002.0,c:payTime,v:1491560220742,isint:true,c:totalPrice,v:6006.0,c:sName,v:售楚十,c:pId,v:p0005001,c:oId,v:o0003171350,c:hasPaid,v:true,c:sId,v:s0021,c:orderTime,v:1491560154808,isint:true,c:pName,v:小米pad,c:cName,v:消赵一,c:pType,v:平板,c:pCount,v:3,isint:true,c:cId,v:c0022put-pk 00000057f33ff1d0a2
13、d00ff6dbf4c411-attr c:pBrand,v:oppo,c:pPrice,v:3199.98,c:totalPrice,v:3199.98,c:sName,v:售周五,c:pId,v:p0004003,c:oId,v:o0036473830,c:hasPaid,v:false,c:sId,v:s0015,c:orderTime,v:1508226047439,isint:true,c:pName,v:oppo R17,c:cName,v:消吴六,c:pType,v:手机,c:pCount,v:1,isint:true,c:cId,v:d0006十分钟快速上手十分钟快速上手|00
14、00005be2b43dd134eae18ebe079774|c0015|消周五|false|o0035062633|1507519847532|小米|3|p0005003|小米 6|2299.21|手机|s0017|售郑七|6897.63|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+执行 scan 命令查询多行数据。示例中查询了 5 条订单数据。scan-l 5输出+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|id|cId|cName|hasPaid|oId|orderTime|pBrand|pCount|pId|pName|pPrice|pType|
15、sId|sName|totalPrice|payTime|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|0000000f470ef0f548b925ceffe1a7e3|c0017|消郑七|false|o0057022192|1.518510583886e+12|oppo|1|p0004001|oppo K1|2498.99|手机|s0007|售郑七|1599|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|000000114d884ca1dbd6b9a58e8d0d94|c0018|消冯八|true|o0039248410|1.50961488596
16、5e+12|vivo|1|p0003004|vivo x21|1599|手机|s0015|售周五|2498.99|1.509615334404e+12|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|0000004dbeb751e77cf0b3f0da90b6ee|c0022|消赵一|true|o0003171350|1.491560154808e+12|小米|3|p0005001|小米 pad|2002|平板|s0021|售楚十|6006|1.491560220742e+12|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+十分钟快速上手十分钟快速上手s
17、Id MEDIUMTEXT,sName MEDIUMTEXT,totalPrice DOUBLE,PRIMARY KEY(id);示例一:查询 10 条售货员姓名为“售周五”的订单,按照订单总金额升序排列。select*fromorderwheresName=售周五order bytotalPrice asclimit10;输出+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|id|cId|cName|hasPaid|oId|orderTime|pBrand|pCount|pId|pName|pPrice|pType|payTime|sId|sName|totalPrice|
18、+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|000d63a8240fd5798ae533fab9627fbd|c0018|消冯八|true|o0067305260|1523656305350|小米|1|p0005004|红米 5s|499.01|手机|1523656890642|s0005|售周五|499.01|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+十分钟快速上手十分钟快速上手+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|0000f560b62779285e86947f8e8d0e4c|c0008|消冯八|false|o
19、0000826505|1490386088808|小米|1|p0005004|红米 5s|499.01|手机|null|s0015|售周五|499.01|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|00026613c323ad57e57a87730f316f94|c0018|消冯八|false|o0094575530|1537306505439|小米|1|p0005004|红米 5s|499.01|手机|null|s0015|售周五|499.01|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+示例二:统计产品类型为“手机”的订单条数selectcou
20、nt(*)fromorderwherepType=手机;输出+-+|count(*)|+-+|33915|+-+示例 3:统计产品个数大于 1 的订单条数selectcount(*)十分钟快速上手 1;输出+-+|count(*)|+-+|33481|+-+退出 sql 模式exit;退出 cli 工具exit高级特性高级特性多元索引提供了丰富的查询方式和数据聚合能力,例如全文检索、多列排序、分组、求和等等。多元索引在 SQL 查询加速方面也有着很好的特性,下面将再导入一百万条订单数据(这里不作展示,参考上文导入),使用 SQL 查询。执行 create_search_index 命令创建多元
21、索引。注意:创建多元索引后会按照表中数据量大小产生少量费用,删除索引后停止计费。多元索引创建后需要等待一段时间,数据表中的数据将以异步的方式自动同步到索引中。21十分钟快速上手create_search_index-t order-n order_indexIndexSetting:null,FieldSchemas:FieldName:id,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,Store:true,FieldName:cId,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,
22、Store:true,FieldName:cName,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,Store:true,FieldName:hasPaid,FieldType:BOOLEAN,Index:true,EnableSortAndAgg:true,Store:true,FieldName:oId,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,Store:true十分钟快速上手十分钟快速上手Index:true,EnableSortAndAgg:true,Store:tru
23、e,FieldName:pType,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,Store:true,FieldName:sId,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,Store:true,FieldName:sName,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,Store:true,FieldName:totalPrice,FieldType:DOUBLE,Index:true,EnableSortAndAgg:
24、true,Store:true十分钟快速上手十分钟快速上手|vivo|162539|+-+-+|小米|194543|+-+-+|苹果|96153|+-+-+示例三:检索所有产品名包含“iphone”并且消费者姓名为“消赵一”并且已经支付的订单,返回前面 10 条订单。select*fromorderwherepayTime is not nulland cName=消赵一and pName like%iphone%limit10;输出+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|id|cId|cName|hasPaid|oId|orderTime|pBrand|pCoun
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一站式 结构 数据 存储 Tablestore 实战 手册
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【Stan****Shan】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【Stan****Shan】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。