我考虑使用亚马逊的DynamoDB。当然,如果您不想使用高度可用的分布式数据存储,您需要确保您的客户以合理的方式处理中断!
虽然我可以找到描述亚马逊" Dynamo"数据库,我的理解是" DynamoDB" derives its name from Dynamo, but is not at all related in any other way
对于DynamoDB本身,我能找到的唯一文档是brief forum post,它基本上表示"重试500错误"。对于大多数其他数据库,可以获得更详细的信息。
我应该在哪里了解有关DynamoDB中断处理的更多信息?
答案 0 :(得分:10)
虽然Amazon DynamoDB确实缺乏关于他们对{{3}}的选择的详细陈述(仍然希望发布一个DynamoDB版本的Kyle Kingsbury最优秀的CAP theorem系列 - Jepsen分析a Dynamo启发数据库),Jeff Walker Code Ranger对Call me maybe: Cassandra的回答证实了在这个领域缺乏明确的信息,但断言我们可以做出一些非常强大的推论
引用的DynamoDB: Conditional writes vs. the CAP theorem也表明事实上也非常强调可用性:
DynamoDB确实可以跨多个同步复制 区域内的可用区域,因此容忍a 区域故障。如果区域不可用,您仍然可以 使用DynamoDB,该服务将保留任何成功的写入 我们已经承认(包括我们当时承认的写作 可用区变得不可用了。)
完整可用区丢失时的客户体验 范围从完全没有影响到延迟处理时间 其中需要进行故障检测和服务端重定向。 后一种情况的确切影响取决于客户是否 直接使用服务的API或通过我们的SDK之一进行连接。
除此之外,Werner Vogels在Dynamo / DynamoDB上的帖子最终提供了更多的见解:
Amazon's Dynamo - 主要介绍性文章包括:
耐用且高度可用。 Amazon DynamoDB复制其数据 至少3个不同的数据中心,以便系统可以继续 即使在复杂的故障情况下也可以运行和提供数据。
<强>灵活即可。 Amazon DynamoDB是一个非常灵活的系统 不要强迫用户进入特定的数据模型或特定的数据模型 一致性模型。 DynamoDB表没有固定的架构 而是允许每个数据项具有任意数量的属性, 包括多值属性。 开发人员可以选择使用 在访问数据库时,更强的一致性模型,权衡 一些简单模型的性能和可用性。他们也可以 利用原子增量/减量功能 用于计数器的DynamoDB。 [强调我的]
最后,Aditya Dasgupta关于DynamoDB One Year Later: Bigger, Better, and 85% Cheaper…的演讲也分析了其关于CAP定理的运作方式。
就重试处理的实用指南而言,DynamoDB团队同时添加了一个关于Amazon's Dynamo DB的专门部分,包括Handling Errors。