阅读更多

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

作者:张宴

 

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,但是,它的数据是可以持久存储的。

  点击在新窗口中浏览此图片

  • 大小: 76.4 KB
13
0
评论 共 7 条 请登录后发表评论
7 楼 crackcell 2009-05-02 11:07
很有趣的文章
6 楼 jindw 2009-01-31 22:13
我看到这个都感觉比较意外。
5 楼 gqf2008 2009-01-31 15:43
楼主的搜索引擎开源的吗?哪里有下载?
4 楼 whaosoft 2009-01-30 19:20
怎么还有百度的事吗 不信任 非常之不信任百度
我有种感觉 百度是被骂火的~
3 楼 Arden 2009-01-30 13:06
Joo 写道

还是很看到couchDB的,相信erlang

这个东西有人测试过还不如mysql了, 俱说。
2 楼 SteveGY 2009-01-30 12:59
看到百度,就有一种不信任的感觉,甚至联想到这样的技术选择问题,感觉不太好。真不知道被百度看上到底是福是祸
1 楼 Joo 2009-01-30 11:31
还是很看到couchDB的,相信erlang

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

Global site tag (gtag.js) - Google Analytics