本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
最佳实践
除了前几节中讨论的最佳实践(例如在 Amazon S3 中存储大于 400 KB 的项目、使用索引、单表设计和事务)之外,本节还总结了建议。
使用对象持久化访问模式
如本指南前面所述,Amazon DynamoDB 提供了三种访问模式。对象持久化接口提供了简洁的 easy-to-maintain代码。除非在读/写操作期间必须自定义或转换模型属性值,否则我们建议您使用对象持久化接口。
选择正确的容量配置模式
当您的工作负载增加和减少时,按需容量配置会自动扩展读取和写入操作。如果您的工作负载不可预测,我们建议您使用此模式。成本通常高于预配置容量模式,并且是按比例收取的。 pay-as-you-use当您的工作负载可以预测并且可以预测容量需求时,我们建议您使用预置容量模式。有关更多信息,请参阅本指南前面的 “定价模式” 部分。
使用缓存
我们建议您在使用 DynamoDB 时使用缓存来降低与每次读/写操作相关的成本。当缓存的数据失效时,使用适当的失效逻辑从缓存中移除项目。确定实现缓存的最常用的端点。
使用查询代替扫描
尽可能避免 DynamoDB 扫描。与扫描操作相比,DynamoDB 查询效率更高,成本更低。查询根据分区键 (PK) 和排序键 (SK) 值筛选项目,而扫描必须读取所有记录才能根据指定参数筛选项目。DynamoDB 的定价基于数据读/写操作量,因此扫描产生的费用比查询高。查询速度也更快,这最终会提高应用程序的性能。
验证数据完整性
DynamoDB 是一个 NoSQL 数据库,因此它不维护关系数据或包含数据完整性限制。它要求每个项目只有主键和排序键的唯一组合。为确保 DynamoDB 表中相关项目之间的数据完整性,我们建议您在系统的应用程序或业务层进行严格的验证。