2024Dynamo:亚⻢逊的⾼可⽤性键值存储.docx

2024Dynamo:亚⻢逊的⾼可⽤性键值存储.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Dynamo:亚马逊的高可用性键值存储

摘要大规模可靠性

是亚马逊面临的最大挑战之一,亚马逊是全球最大的电子商务运营商之一;即使是最轻微的中断也会造成重大的财务后果并影响客户的信任。亚马逊平台为全球许多网站提供服务,它建立在遍布全球许多数据中心的数万台服务器和网络组件的基础架构之上。在这种规模下,大大小小的组件不断出现故障,面对这些故障时持久状态的管理方式决定了软件系统的可靠性和可扩展性。

本文介绍了Dynamo的设计和实现,Dynamo是一种高可用性键值存储系统,Amazon的一些核心服务使用它来提供“始终在线”的体验。为了实现这种级别的可用性,Dynamo在某些故障情况下会牺牲一致性。它广泛使用对象版本控制和应用程序辅助冲突解决,为开发人员提供了一个新颖的界面。

我们的组织从运营亚马逊平台中学到的一个教训是,系统的可靠性和可扩展性取决于如何管理其应用程序状态。

Amazon采用高度分散、松散耦合、面向服务的架构,由数百种服务组成。在这种环境下,特别需要始终可用的存储技术。例如,即使磁盘发生故障、网络路由不稳定或数据中心被龙卷风摧毁,客户也应该能够查看购物车并向其添加商品。因此,负责管理购物车的服务要求它始终能够写入和读取其数据存储,并且其数据需

要在多个数据中心可用。

处理由数百万个组件组成的基础设施中的故障是我们的标准操作模式;在任何时候,总会有少量但相当数量的服务器和网络组件发生故障。因此,亚马逊的软件系统需要以一种将故障处理视为正常情况的方式构建,而不会影响可用性或性能。

类别和主题描述

D.4.2[操作系统]:存储管理;D.4.5[操作系统]:可靠性;D.4.2[操作系统]:性能;

一般条款

算法、管理、测量、性能、设计、可靠性。

简介亚马逊运营着一个全球性的

电子商务平台,该平台使用位于全球许多数据中心的数万台服务器在高峰时段为数千万客户提供服务。亚马逊平台在性能、可靠性和效率方面有严格的运营要求,为了支持持续增长,平台需要具有高度的可扩展性。可靠性是最重要的要求之一,因为即使是最轻微的中断也会造成重大的财务后果并影响客户的信任。此外,为了支持持续增长,平台需要具有高度的可扩展性。

为了满足可靠性和扩展需求,亚马逊开发了多种存储技术,其中最著名的可能是亚马逊简单存储服务(亚马逊之外也有提供,称为AmazonS3)。本文介绍了Dynamo的设计和实现,这是另一种为亚马逊平台构建的高可用性和可扩展性分布式数据存储。

Dynamo用于管理对可靠性要求极高且需要严格控制可用性、一致性、成本效益和性能之间权衡的服务状态。Amazon平台拥有非常多样化的应用程序,它们对存储的要求也各不相同。一组选定的应用程序需要一种足够灵活的存储技术,以便应用程序设计人员能够根据这些权衡适当地配置其数据存储,从而以最具成本效益的方式实现高可用性和保证性能。

亚马逊平台上有许多服务只需要主键访问数据存储。对于许多服务(例如提供畅销书列表、购物车、客户偏好、会话管理、销售排名和产品目录的服务),使用关系数据库的常见模式会导致效率低下并限制规模和可用性。Dynamo提供了一个简单的仅主键接?来满足这些应用程序的要求。

允许免费复制本作品的全部或部分内容以供个人或课堂使用,但不得出于营利或商业目的而复制或分发,且副本首页必须注明此声明和完整引文。若要复制、重新发布、发布到服务器或重新分发到列表,则需要事先获得特定许可和/或支付费用。

Dynamo综合运用了多种众所周知的技术来实现可扩展性和可用性:使用一致性哈希[10]对数据进行分区和复制,并通过对象版本控制[12]来保证一致性。更新过程中副本之间的一致性由类似仲裁的技术和去中心化副本同步协议来维护。Dynamo采用

基于八卦的分布式故障检测和成员协议。Dynamo是一个完全分散的系统,几乎不需要手动管理。可以在Dynamo中添加和删除存储节点,而无需任何手动分区或重新分配。

本文介绍了Dynamo,这是一种高可用性数据存储技术,可满足这些重要服务类别的需求。Dynamo具有简单的键/值接?,具有明确定义的一致性窗?,可用性高,资源使用效率高,并且具有简单的扩展方案,可应对数据集大小或请求率的增长。每个使用Dynamo的服务都运行自己的Dynamo实例。

在过去的一年中,Dynamo已成为亚马逊电子商务平台中许多核心服务的底层存储技术。在繁忙的假日购物季,它能够高效地扩展到极端峰值负载,而不会出现任何停机时间。例如,维护购物车的服务(购物车服务)处理了数千万个请求,导致一天内结账次数超过300万次,而管理会话状态的服务处理了数十万个并发活动会话。

系统假设和要求此类服务的存储系统具有以下要求:

查询模

文档评论(0)

互联网资料整理 + 关注
实名认证
服务提供商

企业信息管理师持证人

新能源集控中心项目 智慧电厂建设项目 智慧光伏 智慧水电 智慧燃机 智慧工地 智慧城市 数据中心 电力行业信息化

版权声明书
用户编号:6011145050000024
领域认证该用户于2023年02月15日上传了企业信息管理师

1亿VIP精品文档

相关文档