
分布式数据库实践案例
|
231
最后写入者获胜(
last writer wins
)的冲突解决策略将副本收敛在一个值上。
全局表有一些需要注意的细微限制,涉及高度一致的读取和事务,它们都在单个区域的
范围内运行:
•
强一致读取返回所读取区域内项目的最新值。如果同一项目键刚在另一个区域更新,
那么最新值并没有被返回,因为跨地域复制最新版本可能需要几秒时间。
•
事务的
ACID
属性只在处理事务的区域内得到保证。在源区域提交事务后,
DynamoDB
会将生成的更新复制到其他区域。更新流使用的是标准复制协议,这意
味着在复制事务中的所有更新时,你在目标区域看到的可能是部分更新。
13.3.3
优缺点分析
DynamoDB
的日益普及与
AWS
云的应用的日益增长相得益彰。
DynamoDB
作为强大的
AWS
工具和技术生态系统的一部分而存在。其中的好处是相当可观的。例如,
AWS
使
用
CloudWatch
为
DynamoDB
提供集成性能监控,同时,
DynamoDB
与
AWS Lambda
无
服务器功能无缝集成。如果你要将系统部署到
AWS
,
DynamoDB
可能是持久层的绝佳
选择。当然,与任何数据库一样,你需要仔细评估一些细节。一如既往,对于公有云的
系统,你必须了解应用程序产生的成本。
13.3.3.1
性能
DynamoDB API
相对简单,可以以非常低的延迟执行。你的数据模型还可以利用复合键
和二级索引来提高数据访问效率。利用索引而不是执行表扫描的查询将执行得更快并且
消耗更少的容量单位,同时也降低了成本。设计一个适当的数据模型来支持低延迟查询 ...