Gemfire内存数据库介绍

boredbird 2013-10-22

      因为工作需要,公司开始要采用Gemfire作为内存数据库,以后的日子就要细细研究它了。

      先来搞清楚研究对象的概念是什么?什么是内存数据库,Gemfire内存数据库又是什么?有什么优势?

      一、 内存数据库

      内存数据库,顾名思义就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。同时,内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处理速度要快很多,一般都在10倍以上(双通道DDR3-1333可以达到9300 MB/s,一般磁盘约150 MB/s),随机访问时间更是可以纳秒计(一般磁盘约10 ms,双通道DDR3-1333可以达到0.05 ms),所以这种数据库的读写性能很高。内存数据库的最大特点是其“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。显然,它要求较大的内存量,但并非任何时刻整个数据库都存放在内存,即内存数据库系统还是要处理I/O。

      百度百科上有一个比较抽象的定义 :

       设有数据库系统DBS,DB为DBS中的数据库,DBM(t)为在时刻t,DB在内存的数据集,DBM(t)属于DB。TS为DBS中所有可能的事务构成的集合。AT(t)为在时刻t处于活动状态的事务集,AT(t)属于TS。Dt(T)为事务T在时刻t所操作的数据集,

       Dt(T)属于DB。若在任意时刻t,均有:

       任意T属于AT(t) Dt(T)属于DBM(t)

成立,则称DBS为一个内存数据库系统,简称为MMDBS;DB为一个内存数据库,简称为MMDB。

     二、 Gemfire内存数据库

      VMware vFabric TM GemFire ® 内存数据库是内存数据库的一种, 提供只有内存才能提供的性能。它非常适合于要求对数据进行实时访问、高并发的新式应用程序的需要。

      通过使用 GemFire 管理内存数据,可以省去传统数据库由于 CPU 周期、网络流量、数据库访问延迟等导致的高额数据库事务成本。
      能省去诸多延迟也是项目目前用内存数据库的原因。
      
Gemfire内存数据库介绍
     开篇就先写到这里吧,后面的例子再慢慢补上~~~

相关推荐