经由 Erlang 开源项目之间的合作“铸就”更好的 key-value 存储系统?
自从 Amazon 的 Dynamo 横空出世,开源的 Erlang 的 Key-Value 存储机制(毕竟有一些区别,因此我并不愿意把这个东西称作数据库)似乎已经成为了一个炙手可热的研究领域。先是有 CouchDB (本站多次介绍,已经被 apache 接纳的开源项目),现在又有了 Kai 。如果算上 Alexander Reinefeld 在 erlang exchange 2008 上展示的项目,很短的时间之内,这一领域已经产生了三个 open source 项目了,可谓进展神速。
说起来,这个新出的 Kai 乃与是我们“一衣带水”的日本同行们的作品。加之此前听说的 Orto,以及零星听说的具有超强并发能力的 tokyocabinet,等。老实说,对于他们在 opensource 领域所表现出来的整体活力,确实有些惊讶。可惜不懂日文,未能对此作进一步的了解。(召唤日语达人整理一下)
话说这几个项目共同关注的是一个相同的问题,然而各自的侧重又略有不同。比如说,Kai 项目实现的乃是(又是) memcache 的访问接口和协议,主要侧重在利用 Erlang 来提升系统在“分布和容错”方面的特性。而 couchDB 则首先关注于实现 key-value 的数据存储本身,在此基础上建立完全不同于 RDBMS 的查询机制,并以优雅的 RESTful 访问接口而著称(Alexander 的项目资料不多,尚不明朗)。应该说是各有特色,而且具有很好的互补性,实在让人很难在这两者之间进行取舍。所以当 couchDB 团队的 Jan Lehnardt 向 Kai 团队的 Takeru Inoue 提出 Collaborate 的建议时,对于广大使用者而言,确实是最为“喜闻乐见”的情形。
或许我们很快就能见到 CouchDB Powered Kai 又或者是 Kai Powered CouchDB,两个项目的特性得到融合,也许,两者之间会形成一种如同 innoDB 之于 mysql 那样的合作关系,谁知道呢?未来充满可能,值得我们期待。开源的 Erlang 就是这么精彩。


Comments
erlang maillist中看到了大家踊跃的讨论kai
有点百花齐放的感觉了,期待国内erlang的大发展。
你的站点被 Firefox 和 Google 列进有害站点了…
赞。。。davies liu所想的都很符合这个项目啊
@ljmid
“你的站点被 Firefox 和 Google 列进有害站点了…”
谁知道是怎么回事?要怎么办才能取消?给点建议。
国内的Erlang社区人太少了, 而且好像也没有什么应用机会
他们与ets, dets以及在这些基础之上的mnesia有什么区别?
@coderplay, 其中的一个区别就是:dets 有所谓的 2g/4g 限制,以及非正常关闭后重启时“冗长”(据说不见得很冗长)的数据修复过程。
Write a Comment