目前分布式数据库正变得越来越有趣,并且数据库的实现方式也多种多样。目前加入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, Just Another Distributed Database? Not Really.
评论