上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

专场20.3-有容乃大-Amazon DynamoDB助力现代化应用程序-李君.pdf

编号:126946 PDF 55页 2.36MB 下载积分:VIP专享
下载报告请您先登录!

专场20.3-有容乃大-Amazon DynamoDB助力现代化应用程序-李君.pdf

1、Amazon DynamoDB助力现代化应用程序李君亚马逊云科技数据库技术专家议题1.Amazon DynamoDB 简介2.Amazon DynamoDB 极致弹性和底层设计3.Amazon DynamoDB 设计最佳实践4.Amazon DynamoDB 全球部署与服务集成AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营Amazon DynamoDB 简介 2022,Amazon Web Services,Inc.或其关联公司。保留所有权利。Amazon DynamoDB快速且灵活的 NoSQL 数据库,规模没有限制规模性能提供更稳定的毫秒级延迟每秒处理数百万个

2、请求无需管理服务器免维护Auto-scaling按需容量模式高达 99.999%的 SLA适合大型企业ACID 事务静态加密连续备份,按需备份和还原与其他亚马逊云科技服务集成全局表构建全球应用程序实现对本地数据的快速访问自动化全球复制Amazon DynamoDB 非常适合:无服务器的事件驱动型架构 遍及全球的弹性服务 高吞吐量工作负载 2021,Amazon Web Services,Inc.or its Affiliates.All rights reserved.Amazon DynamoDB 用例客户依赖DynamoDB来支持其任务关键型工作负载软件和互联网金融服务支付和欺诈检测用户配

3、置文件和活动手机银行(Capital One,Vanguard,Fannie Mae)游戏状态排行榜玩家数据存储(Riot Games,Electronic Arts,PennyPop)游戏零售购物车和订单库存与履行付款和优惠券赎回(Nordstrom,Nike,Zalando,Mercado Libre)营销与广告广告定位与属性网络/社交媒体分析深度链接(AdRoll,GumGum,Branch,DataXu)媒体与娱乐用户数据存储媒体元数据存储流媒体观看列表和书签(Airtel Wynk,Amazon Prime,Netflix)元数据存储网络安全数字信息(Swiggy,Snap,Duol

4、ingo)AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营表表条目属性分区键 排序键必须指定键值访问方式决定数据如何分布可选用于1:N的关系提供很多的查询优化的能力All items for key=,=,=“begins with”“between”“contains”“in”sorted resultscountstop/bottom N valuesAWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营0055A954FFAA00FF分区键分区键唯一的标识了一条记录分区键用来构建一个非排序的散列索引使得表可以进行分区,从而满足扩展性的需求

5、Id=1Name=JimHash(1)=7BId=2Name=AndyDept=EngHash(2)=48 Id=3Name=KimDept=OpsHash(3)=CD Key SpaceAWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营Partition 3分区键:排序键分区键和排序键共同唯一的标识一条记录在一个分区键决定的散列索引里,数据按照排序键进行排列每个排序键所对应的数据行数没有上限除非你有本地二级索引(local secondary indexes)00:0FF:Hash(2)=48Customer#=2Order#=10Item=PenCustomer#

6、=2Order#=11Item=ShoesCustomer#=1Order#=10Item=ToyCustomer#=1Order#=11Item=BootsHash(1)=7BCustomer#=3Order#=10Item=BookCustomer#=3Order#=11Item=PaperHash(3)=CD55A9:54:AAPartition 1Partition 2SensorId(分区键)时间(排序键)值SensorA2018-01-03T10:15:3030SensorA2018-01-04T10:19:3035SensorB2018-03-04T11:21:2028Senso

7、rId(分区键)纬度经度SensorA40.712784-74.005941SensorB35.689488139.691706SensorLocation 表SensorReadings 表主键:唯一地标识一个项目简单主键:分区键复合主键:分区键+排序键项目和属性 类型键-值项目person_id:123,last_name:Doe,first_name:John,next_anniversary:year:2018,month:5,day:30,children :Dick,Harry,Jane,Mary 字符串数字布尔值JSON映射列表ItemNumberTitleLeadActorPr

8、iceInCirculation12My Favorite VideoJames Smith5.00true文档项目读取和写入一致性DynamoDB 会维护数据的多个副本以获得更高的持久性。您可以在读取数据时指定所需的一致性级别。读取一致性级别 最终一致性 强一致性 事务 写入一致性级别 标准 事务读取和写入吞吐量 读取容量单位(RCU):强一致性读取:最大大小为 4KB 的项目的每秒读取次数最终一致性读取:最大大小为8KB的项目的每秒读取次数 写入容量单位(WCU):每秒写入大小为 1KB 的项目的次数注意:吞吐量在各分区之间均衡分配。RCUWCU二级索引 让您可以基于非主键属性查询数据 二

9、级索引会定义替代键 包含:替代键属性 主键属性 基表中其他属性的可选子集(投影属性)可选类型:KEYS_ONLY,INCLUDE A3,ALL 可以是以下其中一种类型:全局二级索引(GSI)本地二级索引(LSI)AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营本地二级索引-Local Secondary Index(LSI)可以选择与表不同的排序键每个表分区对应一个索引分区A1(partition)A3(sort)A2(item key)A1(partition)A2(sort)A3A4A5LSIsA1(partition)A4(sort)A2(item key)A

10、3(projected)TableKEYS_ONLYINCLUDE A3A1(partition)A5(sort)A2(item key)A3(projected)A4(projected)ALL每个分区键可以存储最多10 GB的数据,包括表分区和索引分区的数据量。本地二级索引分区键和排序键LSI:JohnLSI:MaryRCUWCURepId(分区键)TravelerId(排序键)ContactDateJohn Doe12018/05/01John Doe32018/05/02Mary Smith22018/05/10RepId(分区键)ContactDate(排序键)TravelerIdJ

11、ohn Doe2018/05/011John Doe2018/05/023Mary Smith2018/05/102TravelerSurvey 表TravelerSurveyByRepAndDate 本地二级索引示例:本地二级索引继承自基表AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营全局二级索引-Global Secondary Index(GSI)可以选择与表不同的分区键以及排序键每个索引分区会对应所有的表分区A1(partition)A2A3A4A5A5(partition)A4(sort)A1(item key)A3(projected)INCLUDE

12、A3A4(partition)A5(sort)A1(item key)A2(projected)A3(projected)ALLA2(partition)A1(itemkey)KEYS_ONLYGSIsTableGSI的RCUs和WCUs是独立于表的容量而单独计算的全局二级索引分区键或分区和排序键GSITravelerId(分区键)CityDate1Reno2018/03/012Boston2018/04/153Reno2018/04/21City(分区键)Date(排序键)TravelerIdReno2018/03/011Reno2018/04/213Boston2018/04/152Des

13、tinations 表DestinationByCity 全局二级索引示例:全局二级索引RCUWCUAWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营GSI 是如何被更新的?TablePrimary tablePrimary tablePrimary tablePrimary tableGlobal Secondary IndexClient2.Asynchronous update(in progress)如果GSI没有足够的写容量,对表的写操作会被限流AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营选择 GSI 还是 LSI(Local

14、 Secondary Index)?)?Global Secondary IndexLocal Secondary Index索引的尺寸没有上限读写容量和表是独立的只支持最终一致性索引保存在表的分区中,每个分区键值的存储上限是10GB使用的是表上定义的RCU和WCU强一致性 2022,Amazon Web Services,Inc.or its affiliates.All rights reserved.读取和写入吞吐量读取容量单位(RCU):最大大小为 4KB 的项目的每秒强一致性读取次数最终一致性读取使用了一半的预置读取容量。写入容量单位(WCU):每秒写入大小为 1KB 的项目的次数注

15、意:吞吐量在各分区之间平均分配。RCUWCU按设置值收费,可调整选择合适的容量模式按每次请求收费没有容量限制On-Demand按最大值设置Provisioned CapacityRCU/WCUlevel特点:不需要计划容量只按照你发出的读和写付费优点:避免了过大的容量或者过小的容量随着工作负载而自动调整从0开始没有容量限制按需(On Demand)容量AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营预置容量 Vs 按需容量预置容量按需容量稳定的工作负载工作负载逐步变化了解自己的流量模式持续监控工作负载不可预知工作负载经常会降到0不了解自己的流量模式没有运维综合考虑成

16、本,运维AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营Amazon DynamoDB 极致弹性和底层设计极致弹性和底层设计每秒数百万个请求数万亿个项PB 级数据存储个位数毫秒级读写延迟大规模高性能PB级规模下的个位数毫秒延迟 2022,Amazon Web Services,Inc.or its affiliates.All rights reserved.DynamoDB High-level architectureCRegional endpointAZ 1AZ 2AZ 3Metad

17、ata,partition maps,auto-admin,transaction coordinatorLoad balancersRequest routersStorage nodes 2022,Amazon Web Services,Inc.or its affiliates.All rights reserved.DynamoDB High-level architectureCRegional endpointAZ 1AZ 2AZ 3Metadata,partition maps,auto-admin,transaction coordinatorLoad balancersReq

18、uest routersStorage nodesAWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营Amazon DynamoDB 设计最佳实践最佳实践1:慎重选择Hash Key以实现无限扩展 在分区键之间平均分配读写操作,以最大化吞吐量。124热分区2097303308313124.7201.3204.6205.7289.19297.18303.6308.11313.7 读/写操作仅限于少数分区。分区键的范围有限。读/写操作分布在更多分区上。分区键包含计算的后缀。最佳

19、实践2:区分表格存储时序型数据 将频繁访问的数据(热数据)与不频繁访问的数据(冷数据)分开第 4 季度订单表第 3 季度订单表第 2 季度订单表第 1 季度订单表预置吞吐量高低当前季度上一季度最佳实践3:将大项目分开存储在另一张表 使用一对多表,而不是大量属性。复杂论坛话题表thread_id:123,subject:How do I cook potatoes?,replies :Boil,Bake,Roast,Fry,Mash,Chop 简单论坛话题表thread_id:123,subject:How do I cook potatoes?回复表thread_id:123,reply_id

20、:abcreply:Boil for 10 minutesthread_id:123,reply_id:defreply:Bake for 45 minutes多种访问模式 将频繁访问的少量属性存储在单独的表中。Company 表companyName:Example,stockPrice:285,aboutCompany:Example company buildsships,missionStatement:Our mission is tobuild the best ships.,logoHighResolution:example.pngCompany Stock 表companyN

21、ame:Example,stockPrice:285Company 表companyName:Example,aboutCompany:Example companybuilds ships,missionStatement:Our mission isto build the best ships.,logoHighResolution:example.png本地二级索引 谨慎使用索引。慎重选择投影。仅投影频繁请求的属性。利用稀疏索引。CustomerIdCustomer NameSportsNewsInterest1John2MaryY3Tom Y客户表CustomerIdSportsNe

22、wsInterest2Y3YSportsInterest 索引全局二级索引 选择可提供统一工作负载的键。利用稀疏索引。创建具有表属性子集的全局二级索引,以便快速查找。用作最终一致性只读副本。使用版本号的乐观锁UpdateItem 操作Primary key:userId=1Set:accountLocked=NversionNum=1ConditionExpression:VersionNum=0GetItem 操作Primary key:userId=1记住 versionNum。执行其他处理。userID(主键)lastFailedLoginTimeaccountLockedversion

23、Num12018-06-06T19:20+01:00Y0AccountStatus 表DynamoDB AcceleratorAmazonDynamoDB您的应用程序Amazon DynamoDB Accelerator(DAX)AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营AWS 中国(宁夏)区域由西云数据运营AWS 中国(北京)区域由光环新网运营Amazon DynamoDB 全球部署与服务集成全球部署与服务集成 2021,Amazon Web Services,Inc.or its Affiliates.DynamoDB流DynamoDB流是针对表里的数据变

24、化的顺序记录在流里,针对表的变化的记录只会出现一次在流里的记录的顺序与表上发生修改操作的顺序是一致的流里的数据保存24小时,24小时以后自动删除可以把表的数据被更新前的值以及更新后的值都写到流里流里的数据通过API进行消费 2021,Amazon Web Services,Inc.or its Affiliates.DynamoDB流里记录的数据内容 DynamoDB流可以配置为四种写入的数据内容:KEYS_ONLY 只有分区键和排序键的数据被写入流NEW_IMAGE 修改后的整条记录都被写入流OLD_IAMGE 修改前的整条记录都被写入流NEW_AND_OLD_IMAGES 修改前和修改后的

25、整条记录都被写入流Partition KeyPartition Key修改前的记录修改后的记录 2021,Amazon Web Services,Inc.or its Affiliates.DynamoDB流和AWS Lambda触发器举例 2021,Amazon Web Services,Inc.or its Affiliates.键值型关系型文档型图表全球扩展的应用系统的特征用户规模超过1百万数据量TB,PB,EB访问用户全球性能Milliseconds,microseconds每秒请求数百万应用端Mobile,IoT,devices伸缩性向上或者向下伸缩成本按照用量付费开发方式API访问

26、 2021,Amazon Web Services,Inc.or its Affiliates.全局表(Global Tables)用于构建高性能的,全球分布的应用系统对本区域的表的低延迟读取需求多区域冗余配置简单,无需应用程序多次写第一个全托管的,多主,多区域的数据库 2021,Amazon Web Services,Inc.or its Affiliates.全局表(Global Tables)2021,Amazon Web Services,Inc.or its Affiliates.StreamReader多区域复制RegionRegion 1RegionRegion 3RegionR

27、egion 2StreamReaderStreamReader 2021,Amazon Web Services,Inc.or its Affiliates.插入数据(PutItem)2021,Amazon Web Services,Inc.or its Affiliates.数据同步以后 2021,Amazon Web Services,Inc.or its Affiliates.冲突处理机制大部分情况下数据在区域之间的同步时间为秒级别如果多个区域对同一条记录进行修改,则以最后一个修改请求为主需要为表 2022,Amazon Web Services,Inc.or its affiliate

28、s.All rights reserved.Serverless和事件驱动架构AWS LambdaNotify changeAmazon OpenSearch ServiceAmazon Kinesis Data FirehoseData eventsAmazon S3(Parquet)AmazonAthenaDynamoDB StreamsDynamoDB Streams and LambdaPartition APartition BPartition C123UpdatesGetRecordsDynamoDBtableDynamoDB StreamsShardsLambdafunctio

29、nDynamoDB Streams+AWS Lambda=可靠的“至少一次”事件传递Serverless应用示例AWSLambdaAmazonDynamoDBAmazon API GatewayAmazonDynamoDB StreamsLambdaAmazon S3Amazon OpenSearch ServiceAmazon AthenaDynamoDBQuery sideOnline Transaction Processing(OLTP)side关键要点NoSQL 非常适合 OLTPNoSQL 并不意味着没有关系(ERD 仍然很重要)数据建模(为查询而组织设计表结构)Serverless 和事件驱动架构实现更多云原生应用选择正确的DynamoDB 容量模式 经济又高效

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(专场20.3-有容乃大-Amazon DynamoDB助力现代化应用程序-李君.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部