精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 群件>>个人专集>>263_syf>>Notes开发者网络电子杂志第九期:直接在

主题:Notes开发者网络电子杂志第九期:直接在
发信人: 263_syf()
整理人: kamkam(2002-05-01 23:51:19), 站内信件
直接在内存中的数据库——无须缓存

来源:东海龙宫 http://syfang.yeah.net

原著:GLOBEBYTE

翻译:商云方

内容:

 
大多数关系型数据库把表存放在硬盘上,显然把表存放在是性能上的一个瓶颈,
但知道现在,这也被认为是关系型数据库存储的唯一方法。然而,最近我们有了
另一种方法。


 随着低价内存的出现,Main Memory数据库(以内存作为存储介质的数据库)正
变得可行。简单而言,一个Main Memory数据库把所有的表存放在RAM中,以前这
种做法根本不可能,因为内存太贵,但现在内存价格天天都在下降,这将使这种
数据库变的有意义。而且,如果你必须快速存取数据库中的数据,那么硬盘与内
存当然是无法相提并论的。


“但如果数据丢失了怎么办?”问得好,Main Memory数据库把数据备份到硬盘,
所以如果发生冲突事件,表不会丢失,当一个Main Memory数据库被初始化后,它
所做的第一件事就是把所有的表加载到内存中,并且对表的修改也首先在内存中
生效(在其把数据传到硬盘之前)

“啊哈,那不就是一个缓存吗?”,不仅是,Main Memory数据库只有在有足够内
存加载所有表的数据时才会工作。大多数关系型数据库有一些软设备用于尽可能
多的把数据放到缓存中,一个缓存可以减少最近存取数据的存取次数,而Main M
emory数据库的设计目标是减少所有数据的存取次数,而不考虑它最后一次存取是
在什么时候发生的。

‘现在最好的部分:Main Memory数据库就象关系型数据库,这意味着它们是通过
SQL存取,正如你所估计到的,在Domino代理中使用ODBC从这些数据库中获取数据
是很简单的。当然存取驻留在内存中的表所获得的性能提高也是很好的。

' '这种数据库可以和Domino 整合在一起吗?我们把其中一个拿来测试,发现这
是一种存取关系型数据库的有效方法,SQL被数据库透明的处理了,对Domino而言
,这就象存取标准的关系型数据库一样,总之,这是一次成功的尝试,并且,我
们想得到其中之一的完全版,(这难道不是一种新技术吗?)正如大家所期望的
,Domino显示了它通常作为整合方案的一部分的能力。

”目前,Main Memory数据库仍然处于幼年期,很多公司正在生产原型或他们的早
期产品,对我们中的那些需要快速关系型数据库的人来说,他们可能是所需的答
案。

 



 
 

--
东海龙宫 http://syfang.yeah.net
汇集天下精品
您不可不来一看欧

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.198.213]

[关闭][返回]