Comparison of relational database management systems
http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems
主要关系型数据库系统对比
嵌入式数据库系统
Berkeley DB
Berkeley DB(BDB)是一个高性能的,嵌入数据库编程库,和C语言,C++,Java,Perl,Python,Tcl以及其他很多语言都有应用程序编程界面。Berkeley DB可以保存任意类型的键/值对,而且可以为一个键保存多个数据。Berkeley DB可以支持数千的并发线程同时操作数据库,支持最大256TB的数据,广泛用于各种操作系统包括大多数Unix类操作系统和Windows操作系统以及实时操作系统。
http://www.oracle.com/database/berkeley-db.html
SQLite
SQLite是遵守ACID的關聯式資料庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域項目。
不像常見的客戶-伺服器範例,SQLite引擎不是個程序與之通信的獨立進程,而是連接到程序中成為它的一個主要部分。所以主要的通信協議是在程式語言內的直接API調用。這在消耗總量、延遲時間和整體簡單性上有積極的作用。整個資料庫(定義、表、索引和數據本身)都在宿主主機上存儲在一個單一的文件中。它的簡單的設計是通過在開始一個事務的時候鎖定整個數據文件而完成的。
内存数据库产品
■ Oracle TimesTen
Oracle TimesTen是Oracle从TimesTen公司收购的一个内存优化的关系数据库,它为应用程序提供了实时企业和行业(例如电信、资本市场和国防)所需的即时响应性和非常高的吞吐量。Oracle TimesTen可作为高速缓存或嵌入式数据库被部署在应用程序层中,它利用标准的 SQL 接口对完全位于物理内存中的数据存储区进行操作。
■ Altibase
Altibase是一个在事务优先的环境中提供高性能和高可用性的软件解决方案。它提供高性能、容错能力和事务管理能力,特别适合通信、网上银行、证券交易、实时应用和嵌入式系统领域。Altibase能够最大限度地发挥数据库服务系统的潜力,增强数据服务器的处理能力。Altibase支持客户端/服务器架构或嵌入式架构。其中客户端/服务器架构非常适合一般的应用。而嵌入式架构将应用程序嵌入到数据库服务器,适合于有高时效要求的实时系统。
■ eXtremeDB
eXtremeDB实时数据库是McObject公司的一款特别为实时与嵌入式系统数据管理而设计的数据库,只有50K到130K的开销,速度达到微秒级。eXtremeDB完全驻留在主内存中,不使用文件系统(包括内存盘)。eXtremeDB采用了新的磁盘融合技术,将内存拓展到磁盘,将磁盘当做虚拟内存来用,实时性能保持微秒级的同时,数据管理量在32BIT下能达到20G。
MonetDB
http://www.monetdb.nl/projects/monetdb/Home/index.html
MonetDB是一个内存数据库原型系统,它侧重于支持查询密集型应用, 如数据挖掘、即时决策支持等。它是从主存储器观点开发而来的数据管理系统,使用一个完全分解的存储模块,自动的标题管理,数据类型和搜索加速器的可延伸性,以及SQL-和XML-前台。
功能和特点
◆ 支持SQL’99,SQL’03核心标准
◆ 支持持久存储,触发器
◆ 用户可用C编写所需功能
◆ 支持OPEN-GIS标准
◆ 支持SQL/XML大部分标准
◆ 基于内存文件存储
◆ 可对数据库进行升级
◆ 支持32位和64位平台
◆ 能对查询进行优化
memcached
is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
MemcacheDB
is a distributed key-value storage system designed for persistent. It is NOT a cache solution, but a persistent storage engine for fast and reliable key-value based object storage and retrieval. It conforms to memcache protocol(not completed, see below), so any memcached client can have connectivity with it. MemcacheDB uses Berkeley DB as a storing backend, so lots of features including transaction and replication are supported.