目前分布式数据库正变得越来越有趣,并且数据库的实现方式也多种多样。目前加入Apache旗下的CouchDB项目也给出了一种分布式数据库的实现途径。RDDB是***使用Ruby实现的面向文档的分布式数据库之一。而由Yurii Rashkovskii和Oleg Andreev编写的StrokeDB在这个领域中则是个新加入的成员,它的作者在Euruko2008大会上也做了相关的演讲(PDF格式讲稿)。本文中主要为大家讲解StrokeDB这种分布式数据库。
StrokeDB是使用Ruby编写的可嵌入的分布式文档数据库。数据库的模式没有限制,规模具备延展性,甚至可以保存每次对数据库的修改的记录,并且能够与Ruby应用***结合。
StrokeDB仅发布了3个月的时间,但已经具备了众多有趣的特性,作为分布式数据库,StrokeDB的基本功能列举如下:
UUID标识的单一文档地址空间。
JSON,无模式的文档格式。
通过访问时自动装载来与其他文档建立参照关系。
StrokeDB还拥有其他与众不同的特性:
使用内置的diff/merge工具来进行文档版本控制。
灵巧的面向对象API。
跨越文档槽的简单搜索索引。
可以根据具体性能问题来编写本地代码。
更多的特性已经列表在开发计划之中。
这里还有一份将StrokeDB植入瘦客户端语言(如JavaScript,ActionScript等等)的声明,使其可以进行离线数据操作。
你可以在StrokeDB的GitHub存储库中获取源代码,还可以查看Yurii撰写的StrokeDB入门简介。目前作者们正专注于编写灵巧的API以及为数据库增加新的特性。陪伴StrokeDB逐步走向成熟,并从测试中了解StrokeDB的性能表现将是一件很有趣的事情。
StrokeDB这种分布式数据库不是很常用,所以导致很多人对此很陌生,不过,相信大家通过上文的讲解,现在对StrokeDB这种分布式数据库已经有所了解,希望大家都能够从上文中涉及到的内容中有所收获。