收藏 分销(赏)

一站式结构化数据存储Tablestore实战手册.pdf

上传人:Stan****Shan 文档编号:1240424 上传时间:2024-04-19 格式:PDF 页数:205 大小:14.12MB
下载 相关 举报
一站式结构化数据存储Tablestore实战手册.pdf_第1页
第1页 / 共205页
一站式结构化数据存储Tablestore实战手册.pdf_第2页
第2页 / 共205页
一站式结构化数据存储Tablestore实战手册.pdf_第3页
第3页 / 共205页
一站式结构化数据存储Tablestore实战手册.pdf_第4页
第4页 / 共205页
一站式结构化数据存储Tablestore实战手册.pdf_第5页
第5页 / 共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

25、t|pId|pName|pPrice|pType|payTime|sId|sName|totalPrice|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|000031205a858155c4cce6d464642086|c0022|消赵一|true|o0035222739|1507599844791|苹果|3|p0001005|iphone X|8989|手机|1507600392490|s0021|售楚十|26967|十分钟快速上手十分钟快速上手|0000fe74dbccc478a3db91fadd06ffeb|c0021|消赵一|true|o0073210619|15

26、26613119777|苹果|1|p0001003|iphone 7|7979|手机|1526613369627|s0011|售赵一|7979|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|0001daac925913db5a995dca78701f60|c0021|消赵一|true|o0092439401|1536237095817|苹果|2|p0001005|iphone X|8989|手机|1536237549982|s0016|售吴六|17978|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|0002341af23476b87bdc35998

27、26c0a96|c0023|消赵一|true|o0089564235|1534798174984|苹果|3|p0001004|iphone 7p|8080|手机|1534798468123|s0014|售李四|24240|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+十分钟快速上手十分钟快速上手数据导入。这里提供两种方式导入数据,二选一即可。自定义数据,执行 putts 命令单行写入。示例中写入了 1 条时序数据。putts-k car_data,car_0000010,brand=brand0,id=car_0000010,model=em3-field c:durati

28、on,v:121,isint:true,c:mileage,v:6480,isint:true,c:power,v:69,isint:true,c:speed,v:24,isint:true,c:temperature,v:13,isint:true-time 1636460000000000下载样例数据,执行 import_timeseries 命令批量导入。样例数据中共包含 500 万条时序数据,可通过 import_timeseries-l 参数自定义导入行数(1000 万行内免费使用),示例中导入了 5 万条时序数据。yourFilePath 表示样例数据压缩包解压后的路径。导入命令i

29、mport_timeseries-i yourFilePath-l 50000输出Current speed is:11000 rows/s.Total succeed count 11000,failed count 0.Current speed is:13000 rows/s.Total succeed count 24000,failed count 0.Current speed is:16400 rows/s.Total succeed count 40400,failed count 0.Import finished,total count is 50000,failed 0

30、rows.执行 getts 命令查询一条时间线的前 5 个时间点。getts-k car_data,car_0000006,brand=brand2,id=car_0000006,model=em2-l 5输出+-+-+-+-+-+-+-+-+-+|measurement|data_source|tags|timestamp|duration|mileage|power|speed|temperature|+-+-+-+-+-+-+-+-+-+|car_data|car_0000006|brand=brand2,id=car_0000006,model=em2|1636560000000000

31、|190|1770|33|54|29|十分钟快速上手十分钟快速上手|car_data|car_0000000|brand=brand0,id=car_0000000,model=m3|null|1637722787172818|+-+-+-+-+-+|car_data|car_0000008|brand=brand0,id=car_0000008,model=m3|null|1637722789832880|+-+-+-+-+-+|car_data|car_0000002|brand=brand1,id=car_0000002,model=nm1|null|1637722787915852|+

32、-+-+-+-+-+|car_data|car_0000006|brand=brand2,id=car_0000006,model=em2|null|1637722789006974|+-+-+-+-+-+|car_data|car_0000001|brand=brand2,id=car_0000001,model=em2|null|1637722787260034|+-+-+-+-+-+|car_data|car_0000004|brand=brand0,id=car_0000004,model=m2|null|1637722788529313|+-+-+-+-+-+|car_data|ca

33、r_0000003|brand=brand1,id=car_0000003,model=nm0|null|1637722788288273|+-+-+-+-+-+|car_data|car_0000007|brand=brand2,id=car_0000007,model=em2|null|1637722789315575|+-+-+-+-+-+SQL 模式SQL 模式执行 sql 命令进入 SQL 命令行模式,可通过 sql 语句查询时序表。sql时序模型自动生成了 sql 映射表,可直接执行 sql 查询。十分钟快速上手十分钟快速上手car_data:metawheretag_value_

34、at(_tags,brand)=brand2;输出+-+|count(*)|+-+|4|+-+时间点查询示例三:查询度量名称为“car_data”并且数据源为“car_0000001”车辆,返回“power”度量的前 10 个数据点。select_time,_field_name,_long_value as valuefromcar_datawhere_m_name=car_dataand _data_source=car_0000001and _field_name=powerlimit10;输出+-+-+-+|_time|_field_name|value|+-+-+-+|1636560

35、000000000|power|68|十分钟快速上手十分钟快速上手输出+-+|speed|+-+|100|+-+示例五:对度量名称为“car_data”并且数据源为“car_0000001”的车辆的室温数据按照时间窗口(60s 聚合一次)进行聚合,统计每分钟最低室温。SELECT_time DIV 60000000*60 as time_sec,min(_long_value)as temperatureFROMcar_dataWHERE_data_source=car_0000001AND _field_name=temperatureGROUP BYtime_secORDER BYtime

36、_sec ASCLIMIT20;输出+-+-+|time_sec|temperature|+-+-+|1636560000|11|+-+-+|1636560060|10|十分钟快速上手十分钟快速上手|1636561080|14|+-+-+|1636561140|10|+-+-+退出 sql 模式exit;退出 cli 工具exit控制台入门指南控制台入门指南Step2:创建表格存储实例Step2:创建表格存储实例1.登录阿里云控制台,搜索表格存储。点击表格存储 Tablestore 进入表格存储控制台。2.选择地域,点击创建实例。每个实例相当于一个数据库。控制台入门指南控制台入门指南3.输入数

37、据表名称,添加 1-4 个表主键,点击确定。下图示例中创建表名为 order,主键为 order_id 的数据表。Step4:向数据表中写入数据Step4:向数据表中写入数据1.点击数据表名,进入表管理界面。控制台入门指南控制台入门指南2.选择单行查询,输入主键信息,点击确定。下图示例中查询 order_id=o105的记录。3.返回查询结果。Step6:创建多元索引Step6:创建多元索引提示:多元索引提供了全文检索、多列组合查询、统计聚合等功能。1.切换到索引管理界面,点击创建多元索引。控制台入门指南控制台入门指南Step7:搜索数据Step7:搜索数据Tablestore 支持多元索引和

38、 SQL 两种方式检索数据。索引查询1.选择索引管理界面,点击搜索。2.添加需要查询的字段,可添加多个字段组合查询。选择是否排序以及排序字段,点击确定。下图示例中展示了全文搜索 c_name 字段中包含“二”的所有记录,返回结果按照 order_time降序排列。3.返回结果控制台入门指南控制台入门指南2.选择需要建立映射的数据表,点击生成 SQL。3.自动生成建表 SQL 后,点击执行 SQL。4.映射表成功创建后,开始编写 SQL 并执行。下图示例 SQL 查询了 customer 为“消十一”并且 product_type 为“手机”的记录。控制台入门指南控制台入门指南Tablestor

39、e SDK 开发指南Tablestore SDK 开发指南字段名字段类型字段描述order_timeString属性列下单时间pay_timeString属性列支付时间订单表开发步骤开发步骤初始化连接Tablestore 支持 Http/Https 协议访问服务端,使用 Java SDK 发起请求前,您需要初始化一个OTSClinet 实例,初始化需要获取到服务地址(endpoint)、实例名(instanceName)、密钥(accessKeyId、accessSecret)等信息。代码如下:public static void main(String args)SyncClient syn

40、cClient=new SyncClient(https:/order-,/your endpoint,此处可选择公网地址,/your accessKeyId,/your accessSecretorder-instance);/your instance name/operation_method(syncClinet);/operation method创建数据表示例代码中创建了一张订单数据表 order。public static void createOrderTable(SyncClient syncClient)TableOptions tableOptions=new Table

41、Options();tableOptions.setMaxVersions(1);tableOptions.setTimeToLive(-1);Tablestore SDK 开发指南Tablestore SDK 开发指南public static void getOrder(SyncClient syncClient)SingleRowQueryCriteria criteria=new SingleRowQueryCriteria(order);/设置表名criteria.setPrimaryKey(PrimaryKeyBuilder.createPrimaryKeyBuilder().ad

42、dPrimaryKeyColumn(order_id,PrimaryKeyValue.fromString(o1)/设置主键.build();criteria.setMaxVersions(1);GetRowResponse response=syncClient.getRow(new GetRowRequest(criteria);/发送读取数据请求System.out.println(response.getRow();创建多元索引示例代码中创建了一个多元索引 order_index。分别设置 customer_name 字符串类型、order_time 字符串类型、pay_time 字符

43、串类型、product_name 分词类型、product_type 字符串类型。public static void createSearchIndex(SyncClient syncClient)CreateSearchIndexRequest createSearchIndexRequest=new CreateSearchIndexRequest(order,order_index);/设置表名和索引名IndexSchema indexSchema=new IndexSchema();indexSchema.setFieldSchemas(Arrays.asList(/设置索引结构ne

44、w FieldSchema(customer_name,FieldType.KEYWORD),new FieldSchema(order_time,FieldType.KEYWORD),new FieldSchema(pay_time,FieldType.KEYWORD),new FieldSchema(product_name,FieldType.TEXT),new FieldSchema(product_type,FieldType.KEYWORD);createSearchIndexRequest.setIndexSchema(indexSchema);syncClient.create

45、SearchIndex(createSearchIndexRequest);/发送创建索引请求System.out.println(create search index succeed);Tablestore SDK 开发指南Tablestore SDK 开发指南System.out.println(total rows:+response.getTotalCount();for(Row row:response.getRows()System.out.println(row);示例代码中查询了消费者姓名为“消十一”并且下单时间在“2021-10-24 00:00:00”之间的订单。并统计了

46、行数。public static void searchQuery3(SyncClient syncClient)SearchRequest searchRequest=SearchRequest.newBuilder().tableName(order).indexName(order_index)/设置表名、索引名.searchQuery(SearchQuery.newBuilder().query(QueryBuilders.bool().must(QueryBuilders.term(customer_name,消十一).must(QueryBuilders.range(order_t

47、ime).lessThan(2021-10-24 00:00:00).getTotalCount(true)/获取查询命中的行数.build().returnAllColumns(true).build();SearchResponse response=syncClient.search(searchRequest);System.out.println(total rows:+response.getTotalCount();for(Row row:response.getRows()System.out.println(row);删除多元索引示例代码中展示了删除订单表 order 中的

48、order_index 多元索引。Tablestore SDK 开发指南Tablestore SDK 开发指南Go SDK 开发入门准备工作准备工作在您开始 Tablestore SDK 开发前,需确保已开通表格存储服务并且已创建表格存储实例。您需要提前获取到以下几个参数:服务地址(Endpoint)。可选择公网地址进行测试。实例名(InstanceName)。访问密钥(AccessKeyID、AccessKeySecret)。开发简介开发简介开发示例中将以订单场景为例,使用 Tablestore SDK 实现如下几个功能。订单表创建。订单插入。订单号查询。订单搜索。字段名字段类型字段描述or

49、der_idString主键订单号customer_nameString属性列消费者姓名product_nameString属性列产品名product_typeString属性列产品类型order_timeString属性列下单时间pay_timeString属性列支付时间订单表Tablestore SDK 开发指南Tablestore SDK 开发指南reservedThroughput.Writecap=0createtableRequest.TableMeta=tableMetacreatetableRequest.TableOption=tableOptioncreatetableRequest.ReservedThroughput=reservedThroughputclient.CreateTable(createtableRequest)/发送创建数据表请求fmt.Println(create table succeed)写入数据示例代码中写入了一条订单数据,订单号 order_id 为“o1”。样例中模拟了一万条订单数据,这里不作展示。func putOrder(client*tablestore.TableStoreClient)putRowRequest:=new(tablestore.PutRowRequest)putRowChange:=new(table

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 研究报告 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服