随笔 - 16  文章 - 1  trackbacks - 0
<2009年12月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

对于Web应用来说,RDBMS在性能和扩展性上有着天生的缺陷,而key-value存储系统通过牺牲关系数据库的事务和范式等要求来换取性能和扩展性,成为了不错的替代品。key-value存储系统设计时一般需要关注扩展性,错误恢复,可靠性等,大致可以分类如下:
1. “山寨“流派:国产的很多系统属于这种类型。这种类型的系统一般不容易扩展,错误恢复和负载平衡等都需要人工介入。由于国内的人力成本较低,这类系统通过增加运维人员的数量来回避分布式系统设计最为复杂的几个问题,具有强烈的中国特色。这种系统的好处在于设计简单,适合几台到几十台服务器的互联网应用。比如,现在很多多机mysql应用通过人工分库来实现系统扩展,即每次系统将要到达服务上限时,增加机器重新分库。又如,很多系统将更新节点设计成单点,再通过简单的冗余方式来提高系统可靠性;又如,很多系统规定单个表格最大的数据量,并通过人工指定机器服务每个表格来实现负载平衡。在这样的设计下,应用规模增加一倍,服务器和运营各项成本增加远大于一倍,不能用来提供云计算服务。然而由于其简单可依赖,这类系统非常适合小型互联网公司或者大型互联网公司的一些规模较小的产品。
2. "P2P"流派:代表作为Amazon的Dynamo。Amazon作为提供云计算服务最为成功的公司,其商业模式和技术实力都异常强大。Amazon的系统典型特点是采用P2P技术,组合使用了多种流行的技术,如DHT,Vector Clock,Merkle Tree等,并且允许配置W和R值,在可靠性和一致性上求得一个平衡。Dynamo的负载平衡需要通过简单的人工配置机器来配合,它的很多技术点可以单独被其它系统借鉴。如,国内的“山寨”系统可以借鉴Dynamo的设计提高扩展性。
3. Google流派:代表作有Google的三驾马车:GFS+Mapreduce+Bigtable。这种系统属于贵族流派,模仿者众多,知名的有以Yahoo为代表的Hadoop, 与Hadoop同源的Hypertable以及国内外众多互联网公司。Google的设计从数据中心建设,服务器选购到系统设计,数据存储方式(数据压缩)到系统部署都有一套指导原则,自成体系。如Hadoop的HDFS设计时不支持多个客户端同时并发Append操作,导致后续的HBase及Hypertable实现极其困难。模仿者虽多,成功者少,HBase和Hypertable都在响应的延时及宕机恢复上有一系列的问题,期待后续发布的版本能有较大的突破。小型互联网公司可以使用Hadoop的HDFS和Mapreduce,至于类似Hbase/Hypertable的表格系统,推荐自己做一个“山寨”版后不断优化。
4. 学院派:这种类型的系统为研究人员主导,设计一般比较复杂,实现的时候以Demo为主。这类系统代表未来可能的方向,但实现的Demo可能有各种各样的问题,如有的系统不能长期稳定运行,又如,有的系统不支持异构的机器环境。本人对这类系统知之甚少,著名的类Mapreduce系统Microsoft Dryad看起来有这种味道。

【注:"山寨“如山寨手机,山寨开心网主要表示符合中国国情,非贬义】 阅读全文
类别:默认分类 查看评论
文章来源:http://hi.baidu.com/knuthocean/blog/item/ae38ebf8891acb05d9f9fdb9.html
posted on 2009-12-03 13:43 Programmers 阅读(260) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: