`
yinwufeng
  • 浏览: 283103 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多

先看一个示意图:

Amazon_sosp.png

从上图可以看出,Amazon 的架构是完全的分布式,去中心化。存储层也做到了分布式。

Dynamo 概述

Dynamo 的可扩展性和可用性采用的都比较成熟的技术,数据分区并用改进的一致性哈希(consistent hashing)方式进行复制,利用数据对象的版本化实现一致性。复制时因为更新产生的一致性问题的维护采取类似 quorum 的机制以及去中心化的复制同步协议。 Dynamo 是完全去中心化的系统,人工管理工作很小。

强调一下 Dynamo 的"额外"特点:
1) 总是可写
2) 可以根据应用类型优化

关键词

Key : Key 唯一代表一个数据对象,对该数据对象的读写操通过 Key 来完成.
节点(node) :通常是一台自带硬盘的主机。每个节点有三个 Java 写的组件:请求协调器(request coordination)、成员与失败检测、本地持久引擎(local persistence engine)
实例(instance) ;每个实例由一组节点组成,从应用的角度看,实例提供 IO 能力。一个实例上的节点可能位于不同的数据中心内, 这样一个数据中心出问题也不会导致数据丢失。

上面提到的本地持久引擎支持不同的存储引擎。Dynamo 上最主要的引擎是 Berkeley Database Transactional Data Store(存储处理数百K的对象更为适合),其他还有 BDB Java Edition、MySQL 以及 一致性内存 Cache 等等。

三个关键参数 (N,R,W)

第一个关键参数是 N,这个 N 指的是数据对象将被复制到 N 台主机上,N 在 Dynamo 实例级别配置,协调器将负责把数据复制到 N-1 个节点上。N 的典型值设置为 3.

复制中的一致性,采用类似于 Quorum 系统的一致性协议实现。这个协议有两个关键值:R 与 W。R 代表一次成功的读取操作中最小参与节点数量,W 代表一次成功的写操作中最小参与节点数量。R + W>N ,则会产生类似 quorum 的效果。该模型中的读(写)延迟由最慢的 R(W)复制决定,为得到比较小的延迟,R 和 W 有的时候的和又设置比 N 小。

(N,R,W) 的值典型设置为 (3, 2 ,2),兼顾性能与可用性。R 和 W 直接影响性能、扩展性、一致性,如果 W 设置 为 1,则一个实例中只要有一个节点可用,也不会影响写操作,如果 R 设置为 1 ,只要有一个节点可用,也不会影响读请求,R 和 W 值过小则影响一致性,过大也不好,这两个值要平衡。对于这套系统的典型的 SLA 要求 99.9% 的读写操作在 300ms 内完成。

分享到:
评论

相关推荐

    \Amazon's Dynamo 中文.pdf

    **背景与概述** Amazon 的 Dynamo 是一款为解决大规模、高可用性键-值存储需求而设计的系统。Dynamo 的目标在于为用户提供一种灵活的方式来权衡成本、一致性、持久性和性能,同时确保高可用性。它不仅是一项重要的...

    DynamoMEP:Revit MEP的一组Dynamo节点

    概述 DynamoMEP是Dynamo软件包,用于在Revit中使用MEP元素。 DynamoMEP是一个开源项目,可在github和Dynamo的程序包管理器上找到。 该程序包从用于创建房间和MEP空间的节点开始,并将随着时间的推移得到改进。 该...

    Dynamo:Amazon's Highly Available Key-value Store

    #### 概述与背景 Dynamo是由Amazon开发的一款高度可扩展且高可用性的键值存储系统。它为Amazon的核心服务提供了支持,帮助其实现了“始终在线”的体验。由于Amazon作为全球最大的电子商务平台之一,在高峰期需为数...

    DynamoScripts:可能有用的Dynamo脚本的汇编,以增强Autodesk Revit

    StudioLE的Dynamo Scipts ... 将会出现另一个对话框,其中概述了哪些维度不是有效的协调维度,并建议您使用最接近的有效值。 此对话框底部的选项是“ Set text below dimension to确保选择了“ CO Status ,然后按继续

    大数据与NOSql概述.ppt

    NoSQL数据库通常会在CAP三者中做出权衡,如Big Table倾向于保证CP,而Dynamo则更注重AP,实现最终一致性。 总结来说,大数据与NoSQL是现代信息技术领域的核心概念,大数据提供了新的视角来挖掘和利用信息资产,而...

    供应链建模及系统动力学概述.pptx

    DYNAMO基于动态模型,能够追踪并模拟系统随时间的动态行为,尤其适合处理那些具有长期性和周期性的复杂问题,如经济周期、生态平衡等。系统动力学的核心在于反馈和延迟这两个概念。 反馈是系统中信息传递并返回的...

    dynamodb开发文档

    知识点一:DynamoDB概述与服务亮点 DynamoDB是AWS提供的一个可扩展的非关系型数据库服务。它可以帮助开发者存储和检索任意量级的数据,并为这些数据提供快速且可预测的性能。DynamoDB支持多种数据类型和索引类型,并...

    [PPT]《云计算》教材配套课件1-云计算技术概述

    **云计算技术概述** 云计算是一种基于互联网的计算方式,它通过共享大规模分布式计算资源,如硬件、软件和服务,来实现高效能、高可用性和低成本的计算。这种计算模型颠覆了传统IT架构,使得用户无需直接拥有和管理...

    Amazon 云计算 AWS1.pptx

    #### 一、Amazon Web Services (AWS) 概述 - **定义与背景**: - Amazon Web Services (AWS) 是亚马逊公司提供的一系列全面的云服务平台和服务。这些服务涵盖了计算、存储、数据库、分析、机器学习等多个领域,...

    云计算中几种基础设施的朴素看法.pdf

    【云计算基础设施概述】 云计算是一种基于互联网的计算方式,它通过共享计算资源,提供按需访问的计算服务。这种服务模式可以极大地减少企业和个人对于硬件投资的成本,同时也为处理大规模数据提供了可能。云计算...

    revit安装说明

    #### 二、软件概述 **软件名称:** Autodesk Revit 2013 **软件版本:** 2013 **操作系统支持:** Windows XP / Windows 7 **媒体类型:** 电子软件分发(ESD) **产品编号:** 829E1-521848-4774E **发布时间:...

    dynamodb-gsg

    1. 亚马逊DynamoDB概述: DynamoDB是亚马逊网络服务(Amazon Web Services, AWS)提供的一个完全托管的NoSQL数据库服务, 它提供了快速且灵活的性能,能够存储和检索任何规模的数据。DynamoDB支持文档和键值对数据结构...

    云计算和云数据管理技术 (1).pdf

    首先,云计算的概述指出,随着数据的快速增长和用户对数据存储能力需求的提高,云计算改变了普通用户对计算机的传统使用方式。云计算不仅提供了强大的数据分析和存储能力,还使得计算机的数据资源能够高效使用。...

    关于云计算和云数据管理技术的研究.pdf

    2. 云数据管理技术概述 云数据管理技术指的是在云计算环境下,对存储在云平台中的数据进行组织、存储、检索、备份、恢复和分析等一系列处理的过程。云数据的管理是云计算能否成功应用的关键因素之一,尤其对于需要...

    云计算与大数据处理综述.pdf

    这篇文档概述了云计算的基本理念和大数据管理系统的关键技术,特别是针对可扩展性和分布式处理的挑战。 云计算的核心理念包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。这些服务模式为企业...

    云计算与云数据管理PPT课件.ppt

    Google云平台、Yahoo云平台、Aneka云平台、Greenplum云平台和Amazon Dynamo云平台分别展示了不同的云计算技术实现,如Google的GFS、Bigtable和MapReduce,Yahoo的Hadoop,以及Amazon的EC2和Dynamo,这些平台为企业...

    物流系统仿真:05系统动力学建模与仿真.pdf

    系统动力学的基本概念包括系统动力学概述、系统动力学语言和软件等。系统动力学语言如DYNAMO语言,可以把系统流图模型送入计算机并计算出数字结果。 系统动力学的由来可以追溯到美国麻省理工学院Jay W. Forrester...

    J2EE in practice

    1. **J.Crew Web Presence Rebuild with ATG Dynamo Suite**:J.Crew公司通过采用J2EE技术与ATG的Dynamo Suite产品,对其网站进行了重建,实现了性能的大幅提升和用户体验的优化,同时也降低了运维成本。 2. **...

Global site tag (gtag.js) - Google Analytics