云端磁盘:网络巨头如何存储数据(下)

jim 发表于:12年04月09日 09:47 [编译] 存储在线

  • 分享:
[导读]Dynamo与GFS和HDFS有一些相同的地方:它同样是设计成为了高可用性而不关注数据在跨系统交换时的一致性,还为了运行在亚马逊大量集合的硬件上。但是相似性到此为止,因为对Dynamo的要求完全不同。

当数据被写入到Dynamo时——通过一个“put”请求——系统会给要写入的数据分配一个键值。这个值是通过128位MD5哈希得到的;哈希的值 作为数据在环中的一个地址。负责该地址的数据节点会变成该数据的“协调节点”,负责处理对它的请求并把数据复制提交给环中的其他节点。

这将使请求散布到系统中的所有节点。在其中一个节点发生错误时,它在环上的虚拟相邻节点开始接受请求,用它们的副本填补空白。

接下来是Dynamo的一致性检查方案。当一个“get”请求由客户端程序发出时,Dynamo调查它的节点来找到谁有所请求数据的副本。带有副本 的每个节点响应,提供上次改动的信息,基于一个向量时钟——一个追踪数据变化依赖关系的版本控制系统。依照调查的设置,请求处理器可以等待第一个响应并返 回(如果应用程序数据繁忙而且冲突的风险很低——像Hadoop程序一样)或者可以等待两个,三个或者更多响应。对于存储节点的多个响应,处理器进行检查 从而找出哪一个是最新的并提醒陈旧节点从最新的节点处复制数据,或者合并无冲突的编辑的版本。该方案大多数情况下弹性很强——如果节点死了,而新的已经在 线,那么最新的数据将被复制到新节点上。

Dynamo最新的改进,DynamoDB的创立,就是为什么亚马逊内部开发者没有自己采用Dynamo作为他们应用的基础的结果,取而代之的则是,依靠建立在它之上的服务——S3,SimpleDB和Elastic Block Storage。亚马逊在2011年四月中断时所面临的问题就是安装在集群间的副本高于应用套件——在亚马逊Elastic Block Storage,副本超过了可用的额外容量,而不是Dynamo本身的问题。

Dynamo的总体稳定性使它成为开源界模仿者的灵感,就像GFS一样。Facebook依赖于Cassandra,一个基于Dynamo的Apache项目。Basho的Riak “NoSQL”数据库同样来源于Dynamo架构。

[责任编辑:王振]
昆腾公司已经算是存储行业的“老手”了,在磁带市场一直保持着优势。随着存储技术的发展,昆腾又适时做出调整,开展磁盘方面的业务。
官方微信
weixin
精彩专题更多
华为OceanStor V3系列存储系统是面向企业级应用的新一代统一存储产品。在功能、性能、效率、可靠性和易用性上都达到业界领先水平,很好的满足了大型数据库OLTP/OLAP、文件共享、云计算等各种应用下的数据存储需求。
12月15日,中国闪存联盟成立,同时IBM Flash System卓越中心正式启动
DOIT、DOSTOR、易会移动客户端播报中国存储峰会盛况。
 

公司简介 | 媒体优势 | 广告服务 | 客户寄语 | DOIT历程 | 诚聘英才 | 联系我们 | 会员注册 | 订阅中心

Copyright © 2013 DOIT Media, All rights Reserved.