DynamoDB教程

DynamoDB 最佳实践

在处理各种来源和元素时,某些做法可以优化代码、防止错误并最大限度地降低吞吐量成本。
以下是 DynamoDB 中一些最重要和最常用的最佳实践。

表格

表格的分布意味着最佳方法将读/写活动均匀地分布在所有表格项目中。
旨在对表格项目进行统一的数据访问。最佳吞吐量使用取决于主键选择和项目工作负载模式。在分区键值之间均匀分布工作负载。避免诸如少量频繁使用的分区键值之类的事情。选择更好的选择,例如大量不同的分区键值。
了解分区行为。估计 DynamoDB 自动分配的分区。
DynamoDB 提供突发吞吐量使用,为"突发"功率保留未使用的吞吐量。避免大量使用此选项,因为突发会快速消耗大量吞吐量;此外,它不能证明是可靠的资源。
在上传时,分发数据以实现更好的性能。通过同时上传到所有分配的服务器来实现这一点。
缓存常用项目以将读取活动卸载到缓存而不是数据库。

项目

限制、性能、大小和访问成本仍然是项目最大的问题。选择一对多表。删除属性并划分表以匹配访问模式。通过这种简单的方法,您可以显着提高效率。
在存储之前压缩大值。使用标准压缩工具。对大型属性值(如 S3)使用备用存储。您可以将对象存储在 S3 中,并将标识符存储在项目中。
通过虚拟物品碎片在多个物品之间分配大属性。这提供了解决项目大小限制的方法。

查询和扫描

查询和扫描主要受到吞吐量消耗的挑战。避免突发,这通常是由于切换到强一致性读取等原因造成的。以低资源方式使用并行扫描(即没有限制的后台功能)。此外,仅将它们用于大型表,并且在您没有充分利用吞吐量或扫描操作的情况下性能不佳。

本地二级指数

索引在吞吐量和存储成本以及查询效率方面存在问题。除非经常查询属性,否则避免索引。在预测中,明智地选择,因为它们会使索引膨胀。只选择那些经常使用的。
利用稀疏索引,即排序键不会出现在所有表项中的索引。它们有益于查询大多数表项中不存在的属性。
注意项目集合(所有表格项目及其索引)的扩展。添加/更新操作会导致表和索引同时增长,10GB 仍然是集合的限制。

全球二级指数

索引在吞吐量和存储成本以及查询效率方面存在问题。选择关键属性传播,如表中的读/写传播提供工作负载一致性。选择均匀分布数据的属性。另外,使用稀疏索引。
利用全局二级索引在请求适度数据的查询中进行快速搜索。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4