31、EyeDB EyeDB是一款基于ODMG 3规范的面向对象数据库管理系统,为C++和Java提供了编程接口,它功能非常强大,并且成熟,稳定和安全,实际上,它起源于1992年的Genome View项目,1994年又进行了重写,广泛用于生物信息项目。 32、txtSQL txtSQL是一个面向对象的平面文件数据库管理系统,它使用PHP编写,支持对普通文本文件的操作,虽然是一个文本数据库,但同样支持SQL的一个子集,并且执行效率非常高,txtSQL使用文件系统的方法与MySQL的表和数据库原理类似,它有一个类似于phpMyAdmin管理界面。 33、db4o db4o是一个面向对象的开源数据库,允许Java和.NET开发人员用一行代码存储和检索任何应用程序对象,无需预定义或维护一个独立的,僵化的数据模型,因为模型现在是由db4o根据需要自动创建和更新的。db4o成功的秘密是因为它的易用性,它原生为Java和.NET设计,存储数据对象的方法直接在应用程序中定义,因此db4o很容易集成到应用程序中,由于只需要一行代码,因此执行效率非常高。 34、Tokyo Cabinet Tokyo Cabinet是一个Kay/Value型数据库,每个Key和Value的长度都可以不同,Kay和Value既可以是二进制数据,也可以是字符串,无数据表和数据类型的概念,记录是以哈希表、B+树和固定长度数组形式组织的。Tokyo Cabinet具有以下优点: 空间利用率高 – 数据文件尺寸更小; 执行效率高 – 更快的处理速度; 并发性能好 – 在多线程环境性能更好; 改善的可用性 – 简化的API; 改善的可靠性 – 即使在发生灾难的情况下,数据文件也不会损坏; 支持64位架构 – 支持海量的存储空间和巨型数据库文件。 Tokyo Cabinet是用C语言编写的,为C,Perl,Ruby,Java和Lua提供了API。 35、Voldemort项目 Voldemort是一个分布式Key/Value存储系统,它具有以下特点: 数据自动在多个服务器之间复制; 数据自动分区,因此每个服务器只包括整体数据的一个子集; 服务器故障处理是透明的; 支持插入式序列化,允许丰富的Key和Value类型,包括列表和元组,也可以集成常见的序列化框架,如Protocol Buffers,Thrift,Avro和Java Serialization 数据项支持版本化,即使在故障情况下,数据完整性也可以得到保障; 每个节点都是独立的,无需其他节点协调,因此也没有中央节点; 单节点性能优秀:根据机器配置、网络、磁盘系统和数据复制因素的不同,每秒可以执行10-20k操作; 支持地理分散式部署。 LinkedIn目前就使用Voldemort解决了高可伸缩性存储问题。 不知道你是否一口气看完本文,我想你也一定会惊讶于这么多开源数据库吧,事实上,本文也尚未完全罗列,欢迎你的补充。 |