• 永久数据的管理,包括数据库的定义、存储、维护等
• 完成各种数据操作,如查询处理、存取、完整性检查
• 事务管理,包括调度与并发控制等
• 对存取的控制和安全性检验
• 具有数据库的可靠性恢复机制
我们将对传统硬盘数据库同IMDB的功能和特性做一个简单的对比。
In-Memory Database
Oracle TimesTen
Oracle 的内存数据库 TimesTen 从某种角度上来看,也是一种 Cache 机制,是磁盘数据库的 'Cache',通过物理内存中的数据存储区的直接操作,减少了到磁盘间的 I/O 交互。TimesTen 中的这个 Ten 据说就是指速度能达到基于磁盘的 RDBMS 10倍,从2013开始在国内市场也有很多活动,逐渐吸引了很多技术人员的注意。实际上,这个产品也是有一定潜在市场的。
eXtremeDB
eXtremeDB实时数据库是一款特别为实时与嵌入式系统数据管理而设计的数据库,只有50K到130K的开销,速度达到微秒一级。接口语言包括C、C++、嵌入式SQL、JNI等,通过定制数据库根据应用动态生成。使用时通过接口编程,编译链接时将eXtremeDB内核嵌入到应用程序中。eXtremeDB完全驻留在主内存中,不使用文件系统(包括内存盘在内)。eXtremeDB通过交易机制保证数据一致性来支持本地多进程或多线程,通过RPC或RSQL实现网络化访问。eXtremeDB通过eXtremeLog实现磁盘镜像、通过eXtremeHA实现内存镜像进行自动在线备份以保证数据安全。eXtremeDB支持各种平台,包括Solaris、HPUX、Windows、Linux、VxWorks、eCos等各种OS,运行在x86、ARM、PowerPC、MIPS等各种处理器上。体验eXtremeDB会有一种耳目一新的感觉。
SQL Server
新一代微软SQL Server 2014中增加了IMDB的最新技术。SQL Server 2014的内存优化表对索引的处理方式与传统表相比差别很大。所有的数据结构设计都是为了内存而做的优化,没有锁、没有Launch,这都是前所未有的。在数据库日志方面,SQL Server采用的日志和一般的事务日志相比较而言,更加精简、小巧,极大的减少了I/O数量;对于有I/O瓶颈的企业,如果使用In-Memory技术,在性能上会有极大的提高。SQL Sever 2014的正式版本已发布。相信这一突破性技术,在改善和提升企业处理日常事务的效率上带来显著效果。
在一些对响应时间要求极其严格的场合,比如电信运营,工业控制,航空医疗等等,IMDB是最佳选择。随着内存价格越来越便宜,IMDB在新千年初期开始被大量使用,尤其在数据分析领域。
几年来,非易失性内存得到高速发展,更是使得IMDB可以实现本地持久化,逐渐脱离了缓慢的磁盘。NVDIMM作为非易失性内存中异军突起的一员,相比其他一些方案的非易失性内存,速度快,容量高,成本低,实为IMDB的最佳存储介质。引入NVDIMM技术后,IMDB将会以最大马力驰骋于众服务器中,并且能够在系统掉电时维持数据。美国mcobject公司宣布已成功将eXtremeDB移植于Agiga公司的NVDIMM产品,并公布了其基准测试结果。该测试包括“终止执行”,证实了AGIGA的NVDIMM产品在系统故障时持久存储数据的能力,并促进数据恢复。下图所示为插入,更新与删除操作的测试结果。
In-Memory Database