完成了阶段性的实作後,我们今天一起来看看什麽是Dynamo DB。
如果我们有非结构资料的储存需求,且要求千分之一秒的高速读写和完善的备份机制,那Dynamo DB就可以派上用场。
DynamoDB是分散式NoSQL及key-value为基础的资料库,资料会按照分区(partition)来做存放。DynamoDB由table组成,每一个table会有多个纪录,称作item。每一个item由一组key-attribute组成,每一个attribute会有一到多个value。
我们可以选择item当中的某一个key当作Partition Key,用来定义资料的分区。以足球选手的资料为例,可以定义选手所效力的队伍,当作partition key,资料就会按照队伍来分区。Sort Key的话,从字面上即可以理解,是针对各个分区,提供资料排序的Key,例如在名为曼城队的分区下,按照足球选手在职年数进行排序。
如果想要重新去调整分区与排序的设定,该怎麽做呢?
如果要调整排序设定的话,可以在一开始建立Table时,纳入Local Secondary Index设定,简称LSI;如果一开始建立Table时,没有纳入这LSI,就只能抱歉,排序的调整就无法透过LSI来动了。如果要同时调整分区与排序的设定的话,Global Secondary Index或称作GSI,就能做到。
资料备份有两种方式: 随需备份(On-Demand Backup and Restore)以及时间点复原(Point-in-Time Recovery)。随需备份让我们自行定义资料备份的时间点,因此,备份可还原的时间,就是根据我们曾经备份过的时间点,来做还原。时间点复原是AWS提供的自动化备份的服务,只要是近期35天内的资料,我们都可以在这个时间范围内,做资料的还原。
Dyanmo DB如何跟我们收钱呢?相信这是一个大家相当关注的议题。
Dynamo DB会根据Read-Write Units,也就是读写单位来计价。根据不同的方案,每一个单位(Unit)会有不同的读写能力。主要方案有三种如下:
方案 | Eventually Consistent Read Request | Strongly Consistent | Transactional Request |
---|---|---|---|
读取请求单位 | 8KB/Unit | 4KB/Unit | 4KB/Two Unit |
写入请求单位 | 1KB/Unit | 1KB/Unit | 1KB/Two Unit |
表格参考: 大话AWS云端架构
<<: Day 19 Docker Compose 操作指令
我们透过前几天介绍的所有内容 Storybook - 基本介绍 & 安装 Storybook...
这是 Roblox 从零开始系列,在效果章节的单元,今天你将学会如何透过粒子发射器来做出基本的粒子特...
前言 今天是铁人赛的第十四天,这次要来写一下虚拟货币的爬虫 对象是meme虚拟货币界的霸主:狗狗币 ...
这篇的上一篇:https://ithelp.ithome.com.tw/articles/10283...
前言 今天开始实作的部分,尝试用完全没碰过的CSS Grid要搞出一个万年历,不停的研究不停地开发新...