百度、新浪、Mixi、Apache社区赞助的开源key-value分布式存储系统

来源:百度文库 编辑:神马文学网 时间:2024/04/25 22:01:58
  key-value分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询。如果辅以Real-Time Search Engine(实时搜索引擎)进行复杂条件检索、全文检索,就可以替代并发性能较低的MySQL等关系型数据库,达到高并发、高性能,节省几十倍服务器数量的目的。以MemcacheDB、Tokyo Tyrant为代表的key-value分布式存储,在上万并发连接下,轻松地完成高速查询。而MySQL,在几百个并发连接下,就基本上崩溃了。

  虽然key-value分布式存储具有极高的性能,但是只能做类似于MySQL的SELECT * FROM table WHERE id = 123;简单主键查询。

  “搜索索引引擎+key-value分布式存储”能够实现高并发的复杂条件查询、全文检索与数据显示。但是,由于索引更新需要时间,目前还不能实现完全意义上的Real-Time Search(实时搜索),只能称之为Near Real-Time Search(准实时搜索)。“搜索索引引擎+key-value分布式存储”除了做全文检索外,还可以在允许的索引延迟范围内,取代MySQL进行复杂条件查询。

  我的文章《亿级数据的高并发通用搜索引擎架构设计》的程序编码已经完成,第一轮测试昨天已经结束,能够在高并发情况下实现1分钟内索引更新,属于“Near Real-Time Search Engine(准实时搜索引擎)+key-value分布式存储”应用。其中,索引引擎采用Sphinx,存储采用key-value分布式数据库Tokyo Tyrant

  以下是常见的key-value分布式存储系统:

  

  其中,以下几款值得关注:

  1、Hypertable:它是搜索引擎公司Zvents根据Google的9位研究人员在2006年发表的一篇论文《Bigtable:结构化数据的分布存储系统》开发的一款开源分布式数据储存系统。Hypertable是按照1000节点比例设计,以 C++撰写,可架在 HDFS 和 KFS 上。尽管还在初期阶段,但已有不错的效能:写入 28M 列的资料,各节点写入速率可达7MB/s,读取速率可达 1M cells/s。Hypertable目前一直没有太多高负载和大存储的应用实例,但是最近,Hypertable项目得到了百度的赞助支持,相信其会有更好的发展。

  



  2、Tokyo Tyrant:它是日本最大的SNS社交网站mixi.jp开发的 Tokyo Cabinet key-value数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是,它的数据是可以持久存储的。Tokyo Tyrant 具有故障转移、日志文件体积小、大数据量下表现出色等优势,详见:http://blog.s135.com/post/362.htm

  Tokyo Cabinet 2009年1月18日发布的新版本(Version 1.4.0)已经实现 Table Database,将key-value数据库又扩展了一步,有了MySQL等关系型数据库的表和字段的概念,相信不久的将来,Tokyo Tyrant 也将支持这一功能。值得期待。

  



  3、CouchDB:它是Apache社区基于 Erlang/OTP 构建的高性能、分布式容错非关系型数据库系统(NRDBMS)。它充分利用 Erlang 本身所提供的高并发、分布式容错基础平台,并且参考 Lotus Notes 数据库实现,采用简单的文档数据类型(document-oriented)。在其内部,文档数据均以 JSON 格式存储。对外,则通过基于 HTTP 的 REST 协议实现接口,可以用十几种语言进行自由操作。

  



  4、MemcacheDB:它是新浪互动社区事业部为在Memcached基础上,增加Berkeley DB存储层而开发一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,它仍旧是个Memcached,但是,它的数据是可以持久存储的。

  
百度、新浪、Mixi、Apache社区赞助的开源key-value分布式存储系统 一些分布式key/value存储系统的比较 一些分布式key/value存储系统的比较 Flare-兼容Memcached协议的分布式key/value存储系统 - 张沈鹏,在路上... - JavaEye技术网站 InfoQ: 淘宝开源Key/Value结构数据存储系统Tair技术剖析 利用Tokyo Tyrant构建兼容Memcached协议、支持故障转移、高并发的分布式key-value持久存储系统[原创] - 回忆未来[张宴] - 服务器系统架构与底层研发 利用Tokyo Tyrant构建兼容Memcached协议、支持故障转移、高并发的分布式key-value持久存储系统[原创] - 回忆未来[张宴] - 服务器系统架构与底层研发 分布式 Key-Value 存储系统:Cassandra 入门 -- Linux,C,C ,Java,Ajax,XML,perl,php,python,ruby,MySQL,Gnome,KDE,Qt,Gtk,bash,shell,嵌入式,网络,信息安全,操作系统,数据结构,编译原理 Bigtable:一个分布式的结构化数据存储系统 mixi.jp:使用开源软件搭建的可扩展SNS网站: 一个藏袍 mixi.jp:使用开源软件搭建的可扩展SNS网站 Relational DB vs. Key-Value store - 智障大师 的专栏 - CSDN博客 Apache创始人:Apache的成功应该归功于开源 Bigtable探秘 Google分布式数据存储系统(1) - 51CTO.COM mixi.jp:使用开源软件搭建的可扩展SNS网站 | MySQL 中文网|MySQL 文... 还原巴菲特的部分真相(下)-Value杂志 - 新浪BLOG 还原巴菲特的部分真相(中)-Value杂志 - 新浪BLOG 还原巴菲特的部分真相(上)-Value杂志 - 新浪BLOG VALUE系列-BLOG能带来的VALUE 分布式计算开源框架Hadoop介绍 分布式计算开源框架Hadoop介绍 分布式计算开源框架Hadoop介绍 百度赞助央视4000万意欲摆平竞价门? 分布式计算开源框架Hadoop入门实践 - 文初的专栏 - CSDNBlog