30、H2 Database
H2 Database是一个开源的Java数据库,它的速度很快,包括JDBC API,支持嵌入式和服务器模式,内存数据库,提供了一个基于浏览器的控制台程序,它的体积也非常小,只有一个大小约1MB的jar文件,它还支持ODBC驱动和全文搜索。
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解决了高可伸缩性存储问题。
不知道你是否一口气看完本文,我想你也一定会惊讶于这么多开源数据库吧,事实上,本文也尚未完全罗列,欢迎你的补充。