Why real-world DynamoDB usage scenarios often lead to unexpected expenses 在 ,我涵盖了不可预测的工作负载如何导致DynamoDB不可预测的成本。 关于 DynamoDB 成本的最新文章 现在让我们更深入一点,一旦你明白了基本知识,比如说 ,或对项目大小,复制和缓存的过度成本......你会意识到DynamoDB的成本不仅仅是阅读 / 写入量 - 它在现实世界中更为细微。 7.5x inflation of on-demand compared to reserved 周围的“上去!” 每秒100字节的100万字节不是在同一个星系里,就像100万字节在5KB上一样。为什么?因为DynamoDB测量了字节(和阅读的4KB)的圆形1KB块的成本?写一个12KB的项目?你被收取了2KB的费用。阅读一个4KB的项目具有强有力的一致性?你被收取了8KB的费用。你不只是为你使用的东西付费,你是为圆形支付的。记住超人三世中的这个角色从每个薪水中拿起一半的钱吗?这是同样的交易(是的,85,789,90美元是1983年的很多钱)。 浪费的容量在规模上是不可避免的,但当你在每一次操作中越过这个界限时,它变得非常真实,非常快。 我们的 它不代表一些真实世界的地雷 - 例如,冲突解决的写作(如在多个地区的同时更新)仍然花费你每一次尝试,即使只有最后一个写作获胜。 或者当你建立自己的TTL到期逻辑时,也许在扫描中拉一堆项目,检查应用程序代码中的时刻印记或发行删除。 ,您现在可以按需观看。 DynamoDB 成本计算器 DynamoDB Webinar 费用 全球桌面是全球痛苦 所以你想为全球用户提供低延迟吗? 全球表是最简单的方法来做到这一点。 有些人甚至可能说它是“包括电池”。 每个写字都会被重复在其他区域上。 写一个 3.5KB 项目,并将其复制到 4 个区域? 现在你正在支付 4 x 4KB (当然是圆满的)。 不要忘记在区域间的网络转移上打击。 你为这个速度付费了好几次,你的账单随着你的区域增长线性地扩张。 当多个区域同时写入同一个项目时,情况变得更糟。DynamoDB解决了冲突(最后写入赢了),但你仍然为每一次尝试付费。 我们的成本计算器允许您模拟所有这一切. 我们使用保守的价格为美国东部,但越是异国情调的地区,更有可能的成本将更高。 因此,考虑到包括电池在内的全球表复制成本,请记住,它是 ! 桌子上 DAX 缓存与捕获 现在你想要更紧密的阅读延迟,特别是对于你的延迟敏感的P99吗?DynamoDB加速器(DAX)有助于,但它增加了负担,无论是运营和财务。集群需要正确的尺寸,打比调和,并在你的应用程序中处理故障案例。错过缓存,支付阅读。 即使你调整了它,它也不是免费的。DAX实例按小时计费,以固定率,再一次,没有您习惯的保留实例选项。 我们的DynamoDB成本计算器允许您模拟缓存打击比、数据集大小、实例类型和节点. 它不会预测缓存效率,但它会帮助您捕捉这些缓存漏洞。 百万美元推荐引擎 一个大型流媒体服务使用DynamoDB构建了一个全球推荐引擎,每天的批量工作产生新鲜的建议,并将其写入1PB单一表格,在6个区域中复制。 他们对延迟和本地写作进行了优化。 成本? 每个写入基表,加上5个复制写入。 每个用户交互都引发了写入(观看历史、反馈、偏好)。 他们使用了预算容量,扩展到预期流量峰值,但仍然与延迟作斗争. 缓存打击率太低,以使Redis或DAX具有成本效益。 结果?仅仅基础工作负载每年花费数千万美元,在适应交通峰值和批量负载流程后,总量翻了一番。 对于许多团队来说,这不仅仅是产品本身的收入!所以,他们转向了ScyllaDB。 在他们转向基于配置容量(而不是每操作计费)的定价模型后,ScyllaDB能够显著压缩其存储的数据,同时还可以改善 AZs 和地区之间的网络压缩。 另一个存活的缓存案例 一家使用DynamoDB的Adtech公司以艰难的方式进入了缓存复杂性。他们在4个地区部署了48个DAX节点,以达到他们的P99延迟目标。 他们的写作(246字节/项目)浪费了75%的写作单元。他们的分析工作负载在峰值期间加载了实时流量,也许最糟糕的是,自动扩展触发器只是不够快,导致请求转移和应用程序失败。 DynamoDB和DAX的总成本是每年数十万。 ScyllaDB提供了更简单的解决方案。内置的行缓存使用了实例内存,没有额外的成本,没有外部缓存层来维护。 没有打击的表现。 工作岗位优先 更糟糕的是,他们基于TTL的会话期限自动处理,没有额外的阅读/删除逻辑。 查看DynamoDB成本视频 如果您错过了网页研讨会,请确保查看 – 特别是Guilherme详细涵盖了所有这些现实世界的工作负载。 DynamoDB 视频成本 DynamoDB 成本是非线性的,由使用模式塑造,而不仅仅是输出量。 全球桌面、项目大小、冲突解决、缓存加热等可以将“合理”的使用变成7位数的噩梦。 DAX和自动扩展不是魔法;它们需要调节,但仍然花费大量钱才能正确。 我们的DynamoDB成本计算器有助于模拟这些隐藏的成本,并比较不同的设置,即使您不使用ScyllaDB。 最后,如果您是使用 DynamoDB 的团队具有不可预测的成本和性能,请切换到 ScyllaDB,并享受可预测的定价,内置的效率和对数据库架构的更多控制的好处。 . 和我们聊天在这里 提姆·科普曼斯 在过去的几十年里,蒂姆一直在从事各种工程,热衷于可靠性和安全性。2013年,他创立了Flood IO,这是一个分布式性能测试平台,经过收购后,他喜欢扩展产品、业务和团队,然后转向其他性能相关的项目。