Amazon Dynamo 相关的一些知识

说到Amazon Dynamo,可能没有比官方的那篇论文更详尽的描述了。之前读它的时候,就一直觉得没有Google 的 BigTable 论文给力,如果你也觉得读Dynamo 的论文比较吃力,下面推荐的这篇文章可能会给你一点安慰并且可能帮助你更好的理解Dynamo 论文。

文章开始部分对 Dynamo 论文提出了一点意见:

The Dynamo paper can be difficult to read. The main issue we had is that the authors don’t always motivate the different components of the system. For example, consistent hashing is one of the earlier concepts introduced in the paper, but it is difficult to see why it is used and how it contributes to increased availability until later on. It is best to approach each section of the article as a self-contained idea, and wait until the end best online casino to see how they are combined. It took us two sessions to get through the paper, so don’t be surprised if you find it slow going.

翻译:

Dynamo 论文不好理解。究其原因在于作者在文章各章节内容组织上有问题。比如说一致性哈希在论文一开始就介绍了,但是一直到最后才讲到为什么要用它,它对提高可用性方面有什么作用。在阅读的时候,把每一节当作独立的内容读,然后在最后把它们串起来可能会好一点。我们开了两次会才捋顺论文的内容。所以,如果你觉得你在读论文时比较慢,也是正常的。

接下来对 Dynamo 需要的一些特性做了简要的描述:

  • Cost-effectiveness - 省钱!Dynamo 不像一些商用数据库产品,需要昂贵的服务器来得到良好的性能,而且可能增加5%的访问量会需要你花2万美刀去买一台新服务器。而在 Dynamo上,由于是利用一堆廉价机器来存数据,于是你可能只需要花个500刀买个破机器加入到集群里就行了。
  • Dynamo 是一个 Key-Value 存储 - 因此他不支持外键和关联查询什么的。其Value值是二进制存储的,所以查询条件也只能作用在 Key 上。
  • 配置简单的分布式存储 - 这是由于 Dynamo 是去中心化地设计,在集群中它的每一台机器都是对等的,不像 MongoDB 这样的中心化设计,于是它也不会有单点问题。

之后又对论文中提到的四个有意思的点分别进行了介绍:

1. Consistent hashing

一致性哈希算法,这个讲的地方到多了,附一个经典图和 wiki 的链接吧。

2.Dynamo’s implementation

Dynamo 的内容现实,主要讲了Dynamo 中使用的非阻塞的异步IO及使用了类似 CPS 编程模式的思想。

3.Amazon’s quality metric

大致讲了Amazon的质量控制相关的一些东西。

4.Feedback control for balancing tasks

提到了在 Dynamo 中运用用到了反馈控制原理来平衡任务分配。

原文链接:All About Amazon’s Dynamo

anyShare据说看到好文章不转的人,服务器容易宕机!
          

无觅相关文章插件,快速提升流量