内存数据库评测
在当前NoSQL运动和缓存为王的思想推动下,来自Oracle and IBM databases: Disk-based vs In-memory databases一文对Oracle和IBM两个关系内存数据库进行了评测。
IMDB内存关系数据库有三个优势:
1.性能,数据在内存中,不是在磁盘上,没有IO限制。
2.内置失败回复fail-over 的高可靠性HA
3.支持关系schema和 SQL
当前基于磁盘的关系数据库可以处理大量数据,而基于内存的是否也可以呢?作者挑选了市场上主流IMDB产品:Oracle's 11g TimesTen 11g, a IBM's DB2 v9.5 solidDB 6.3.
IMDB关键是支持SQL和存储过程,可以增强关系数据库SQL的支持,并让他们享受高性能的内存数据访问,而采取缓存 in-memory caches策略,则需要一种完全不同的编程范式。
IMDB 第二个亮点是可以作为关系数据库的二级缓存,管理员可以配置管理内存数据库。
作者测试结果发现,使用IMDB, Select可以获得5倍速度,而insert和delete可以获得2倍和4倍性能。
IMDB可以通过水平伸缩获得伸缩性,不过个人以为:因为没有关键的数据复制技术(关系数据的性质决定了关系数据复制的低效率性)。
作者最后认为:可以采取Oracle Coherence, GigaSpaces XAP or GemFire实现盒子之外out-of-the box的透明分区和数据查询.风险是什么呢?就将你那些优美的SQL逻辑重构到面向对象语言(大势所趋,所以新系统就切莫再依赖关系数据库这个盒子了,警世名言啊)。
[该贴被banq于2009-12-18 15:03修改过]