内存数据库

内存数据库,顾名思义就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。同时,内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处理速度要快很多,一般都在10倍以上。内存数据库的最大特点是其“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。

内存数据库与传统数据库的异同

  内存数据库的目标是通过使用内存实现数据存储来提高吞吐量和降低延迟。这与使用磁盘存储的传统数据库管理系统不同,由于内部优化算法更简单,而且执行的CPU指令较少,所以内存内数据的速度比基于磁盘的数据库快。访问内存数据可以提高响应速度,对于一些响应时间要求较高的应用程序,如交易、电信和国防系统,一般都会使用内存数据库。由于内存数据库的这种特性,这些数据库使用内存要多于磁盘数据库产品。具体差别如下:

  1. 传统的数据库系统是关系型数据库,开发这种数据库的目的,是处理永久、稳定的数据。关系数据库强调维护数据的完整性、一致性,但很难顾及有关数据及其处理的定时限制,不能满足工业生产管理实时应用的需要,因为实时事务要求系统能较准确地预报事务的运行时间。

  2. 对磁盘数据库而言,由于磁盘存取、内外存的数据传递、缓冲区管理、排队等待及锁的延迟等使得事务实际平均执行时间与估算的最坏情况执行时间相差很大,如果将整个数据库或其主要的“工作”部分放入内存,使每个事务在执行过程中没有I/O,则为系统较准确估算和安排事务的运行时间,使之具有较好的动态可预报性提供了有力的支持,同时也为实现事务的定时限制打下了基础。这就是内存数据库出现的主要原因。

  3. 内存数据库所处理的数据通常是“短暂”的,即有一定的有效时间,过时则有新的数据产生,而当前的决策推导变成无效。所以,实际应用中采用内存数据库来处理实时性强的业务逻辑处理数据。而传统数据库旨在处理永久、稳定的数据,其性能目标是高的系统吞吐量和低的代价,处理数据的实时性就要考虑的相对少一些。实际应用中利用传统数据库这一特性存放相对实时性要求不高的数据。

  在实际应用中这两种数据库常常结合使用,而不是以内存数据库替代传统数据库。


常用的几种内存数据库:

eXtremeDB:eXtremeDB实时数据库是McObject公司的一款特别为实时与嵌入式系统数据管理而设计的数据库,只有50K到130K的开销,速度达到微秒级。eXtremeDB完全驻留在主内存中,不使用文件系统(包括内存盘)。eXtremeDB采用了新的磁盘融合技术,将内存拓展到磁盘,将磁盘当做虚拟内存来用,实时性能保持微秒级的同时,数据管理量在32BIT下能达到20G。支持跨平台,支持多种开发语言, 但不开源不开源,价格不菲。
Oracle TimesTen:Oracle TimesTen是Oracle从TimesTen公司收购的一个内存优化的关系数据库,它为应用程序提供了实时企业和行业(例如电信、资本市场和国防)所需的即时响应性和非常高的吞吐量。Oracle TimesTen可作为高速缓存或嵌入式数据库被部署在应用程序层中,它利用标准的 SQL 接口对完全位于物理内存中的数据存储区进行操作。不开源,价格不菲。
SolidDB:Solid Information Technology 成立于 1992 年,全球总部位于加州Cupertino,Solid数据管理平台将基于内存和磁盘的全事务处理数据库引擎、载体级高可用性及强大的数据复制功能紧密地融为一体。
Altibase:ALTIBASE公司从1999年就一直致力于内存数据库软件和其应用的开发,提供高性能和高可用性的软件解决方案。特别适合通信、网上银行、证券交易、实时应用和嵌入式系统领域。目前占据80%以上内存数据库市场,可以说是当今数据库软件技术的领导者。目前Altibase在国内成功案例也比较多,尤其是在电信行业,已经得到了广泛认可。

Hsqldb 支持跨平台,支持java,内存数据库,开源

BerkeleyDB 支持跨平台,分为C++版和Java版 ,内存数据库,开源

Postgresql 支持跨平台,非内存数据库,开源
SQLite 支持跨平台,内存数据库(非默认),开源

Redis 内存数据库,开源

    




Cache Server网络内存数据库是业内运行速度最快,功能强大的网络内存数据库系统。产品定位于内存数据库系统和提供高端高性能系统的开发、处理平台。 Cache Server内存数据库是将所有数据加载到物理内存,不需要访问磁盘就直 接访问数据,从而获得极高的存取速度和极强的并发访问能力的数据库管理系统,在设计风格上兼容主流数据库(MS SQL SERVER、SYBASE)的特点,客户端通过TCP网络的方式来访问Cache Server。 Cache Server网络内存数据库是具有自主知识产权的企业级内存数据库,是作 者多年工作经验的结晶。Cache Server提供详细的中文文档(安装手册、使用手册、开发文档、练习手册、通讯协议等)和服务。 Cache Server内存数据库将数据存储于物理内存中并进行高速处理及操作,并 针对内存数据库的特点进行了优化,采用先进的体系架构、数据缓存、快速算 法、并行操作、异步处理技术。 Cache Server提供了和传统关系数据库管理系统(MS SQL SERVER、Oracle、Sybase、DB2、mysql)的访问接口,可以以同步或异步方式和RDBMS交互。 Cache Server内存数据库为需要容错服务的系统提供实时数据库复制功能和双 机功能,使系统可以实现高性能、高可用性、数据库一致性。Cache Server内 存数据库能够为需要实时性事务处理的应用系统提供高性能、高可用性、容错能力,特别是在通信、金融、电力等行业,能够最大限度的发挥系统的处理能力。 另外Cache Server拥有强大的编程能力,拥有业内功能最强大的内存数据库脚本,使Cache Server不只作为数据的高速缓存服务器,更能够实现复杂的业务逻辑,通过编写数据库脚本和存储过程实现以前通过C/C++编程才能实现的强大功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值