`
sjk2013
  • 浏览: 2183512 次
文章分类
社区版块
存档分类
最新评论

内存数据库

 
阅读更多

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

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

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

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

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

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

常见内存数据库

SQLite

SQLite是一个开源内存数据库,实现了独立的,可嵌入的,零配置的SQL数据库引擎。

http://www.sqlite.com.cn/

OracleTimesTen内存数据库

OracleTimesTen是一个全新设计的内存数据库。它使用基于行的关系模型(表、列、数据类型、索引等)实现数据存储,并使用SQL作为访问语言。它提供了许多API,并且支持OraclePL/SQL。应用程序的访问方式与其他关系数据库完全相同。

http://download.csdn.net/detail/xunzaosiyecao/7307121l

IBMSolidDB

IBMsolidDB可以提供每秒数万至数十万事务的吞吐率,并且始终可以获得微秒级的响应时间(或延时)。

http://www-01.ibm.com/software/data/soliddb/

SAP-HANA

http://help.sap.com/hana/

Sqlserver2014Hekaton内存数据库引擎

http://www.cnblogs.com/CareySon/p/3155753.html

其他参考资料:

http://www.searchdatabase.com.cn/guide/imdb.htm
http://hemeicun.blog.163.com/blog/static/11157304820113645525209/

分享到:
评论

相关推荐

    一种内存数据库到文件数据库的数据同步方法及系统

    一种内存数据库到文件数据库的数据同步方法,包括:A、内存数据库将事务日志记录写入日志缓存区;B、定义内存数据库和文件数据库数据表的对应关系;C、根据事务日志刷新进程,异步地将所述日志缓存区中的所述事务日志...

    H2 Database(H2内存数据库)

    H2就不做很多介绍了。资源包内容列表是我进行H2预研是收集的H2资料,应该是最全面的的了: ...10、H2内存数据库h2部署操作手册.docx 11、H2内存数据库安装与维护.doc 12、H2数据库基础知识.docx 13、H2数据库使用.doc

    Delphi使用SQLite3内存数据库

    Delphi使用SQLite3,包括本地数据库和内存数据库,本地数据库加载到内存,内存数据库备份到本地,使用sqlite simple delphi包装类。

    内存数据库及其技术浅论

    本文研究了内存数据库的基本定义和大致的理论,并在此基础上对内存数据库的并发机制、MMDB的逻辑优化规则以及动态降低锁粒度和动态提高锁粒度技术进行了较为系统的分析和研究。希望通过文中的研究能够为解决内存...

    Cache Server V1.2.0 嵌入式(实时)内存数据库(linux 32)

    Cache Server嵌入式内存数据库是业内运行速度最快,功能强大的嵌入式(实时)内存数据库系统。产品定位于内存数据库系统和提供高端高性能系统的开发、处理平台。 Cache Server内存数据库是将所有数据加载到物理内存...

    常用内存数据库介绍常用内存数据库介绍.doc

    常用内存数据库介绍常用内存数据库介绍

    常用内存数据库介绍

    常用内存数据库介绍

    内存数据库介绍资料.ppt

    内存数据库介绍资料.ppt,介绍了内存数据库技术,及现有的主流内存数据库

    论文研究-基于网络内存的内存数据库高效恢复技术.pdf

    论文研究-基于网络内存的内存数据库高效恢复技术.pdf, 提出了利用网络工作站(通过高速局域网络连接)内存加速内存数据库日志记录持久化的技术方案,在日志写入网络工作站...

    内存数据库简介.doc

    内存数据库简介.doc内存数据库简介.doc内存数据库简介.doc

    常用内存数据库的比较

    什么是内存数据库,常用内存数据库,SQLite最佳试用场合,哪些场合适合使用其他的关系型数据库,内存数据库之比较,性能测试

    内存数据库应用,功能,产品

    内存数据库应用,内存数据库功能,内存数据库产品

    网络内存数据库

    Cache Server网络内存数据库是业内运行速度最快,功能强大的网络内存数据库系统。产品定位于内存数据库系统和提供高端高性能系统的开发、处理平台。 Cache Server内存数据库是将所有数据加载到物理内存,不需要访问...

    MySql_内存数据库

    MySql的内存数据库的信息 数据库基本操作

    内存数据库原理及最佳实践

    内存数据库原理及最佳实践,讲述内存数据库的原理以及实例

    内存数据库代码有详细设计说明(java版)

    内存数据库代码有详细设计说明(java版) 很实用

    内存数据库白皮书.pdf

    为了使更多的企业和用户能得到专业的数据库服务选型建议,中国信息通信研究院云计算与大数据研究所联合杭州数梦工厂科技有限公司等多家国内知名数据库企业及Redis中国用户组(CRUG)共同编写了《内存数据库白皮书》...

    经典的内存数据库源代码

    内存数据库memcached源代码,对学习C语言和分布式开发的人,会有莫大的帮助。

    oracle 内存数据库 TimesTen试用笔记

    最近公司打算在下一代计费系统里面使用内存数据库的技术,所以作为公司的设计人员之一的我,在oracle网上下了个TimesTen,安装在我们的测试服务器上面aix5,这篇短文主要是我操作数据库的一个笔记,下一篇打算发一个...

    内存数据库白皮书.rar

    内存数据库白皮书.rar,是学习数据库与大数据的最好学习资料

Global site tag (gtag.js) - Google Analytics