中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > LOTUS > 开发心得
直接在内存中的数据库——无须缓存
作者:未知 时间:2005-07-22 13:38 出处:Lotus中文技术站 责编:chinaitpower
              摘要:大多数关系型数据库把表存放在硬盘上,显然把表存放在是性能上的一个瓶颈, 但知道现在,这也被认为是关系型数据库存储的唯一方法。然而,最近我们有了 另一种方法。
大多数关系型数据库把表存放在硬盘上,显然把表存放在是性能上的一个瓶颈,
但知道现在,这也被认为是关系型数据库存储的唯一方法。然而,最近我们有了
另一种方法。


 随着低价内存的出现,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数据库仍然处于幼年期,很多公司正在生产原型或他们的早
期产品,对我们中的那些需要快速关系型数据库的人来说,他们可能是所需的答
案。
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有