为什么这里没有内存数据库呢?

superman6541 2010-02-02 03:59:08
1.1 Hybrid DBMS 基本概念
Hybrid DBMS 是将数据存于不同的存储介质并管理的数据库管理系统,即同时支持内存数
据库(MMDB: Main Memory Database)和磁盘数据库(DRDB: Disk-Resident Database), 从而获得
极高的存取速度和极强的并发访问能力以及大容量存储访问。
1.2 Hybrid DBMS 产生背景
Hybrid DBMS 的产生背景与存储数据的两个代表性介质即内存和磁盘有密切的关系。
首先,内存的存取速度为 ns 级(十亿分之一秒) 且其存取速度一致,但断电时数据挥发;
反而,磁盘的存取速度为us 级(百万分之一秒)且相对内存存取速度慢并不一致,但即使断电数
据永久保存。
第二,内存大小根据CPU 的位数决定,CPU 为 32bit 时,内存最大值为 4GB; CPU 为 64bit
时,目前内存最大值为数百GB。反而,磁盘大小不受CPU 位数的影响,可以扩到数 TB。
总的来说,内存的存取速度比磁盘快数百倍而且性能均一,但断电时数据挥发并受容量的
限制。反而,磁盘可以永久地保存数据并不受容量限制,但存取速度不一致并速度慢。
根据以上存储介质的特性,数据库结构也分为基于磁盘的数据库DRDBMS(Disk-Resident
DBMS)和基于内存的数据库MMDBMS(Main-Memory DBMS),并根据业务需求混用两个数据
库。但混用数据库有诸多问题,如购买两个不同的数据库而发生的费用问题、需要了解两个不
同数据库而产生的开发费用问题、内存数据库和磁盘数据库的同步问题、管理两个不同数据库
而产生的维护费用以及内存数据库和磁盘数据库之间join 查询。为了解决以上问题而诞生了
Hybrid DBMS。
Hybrid DBMS 把需要高性能处理的数据存储在内存,需要大容量的数据存储在磁盘,差别
化数据的同时一个数据库系统中统一管理这些数据。而且根据需求选择 MMDBMS 专用、
DRDBMS 专用、 Hybrid DBMS 等运营模式。
...全文
155 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
王帆 2010-04-19
  • 打赏
  • 举报
回复
广告贴,汗一个。
Azureus 2010-03-26
  • 打赏
  • 举报
回复
内存数据库如何与物理库中的数据进行同步呢?

还有内存库的数据如何处理掉电的情况?
yingyi_cn 2010-03-19
  • 打赏
  • 举报
回复
有没有国产开源的内存数据库?
国外的开源内存数据库 有哪些?
superman6541 2010-03-19
  • 打赏
  • 举报
回复
看来这里还是有点人气的,以为这里都快荒废了,没人来了
tabris17 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 tiangej 的回复:]
请教楼主:
"内存大小根据CPU 的位数决定"对这句话有些困惑。
我在网上作了一些调查,从硬件角度,PC(或服务器)可扩展的最大内存是和主板提供的扩展槽数量有关的,可以查到,目前服务器内存最大可以扩展到256G。 *这里说的前提是64位?
内存数据库可以使用的内存在32位的时候,理论最大可以使用4G内存?32位机器不可以把内存扩展到4G以上?

望指教。
[/Quote]

server版本的32位windows支持/3G开关,用户内存可达3G,还有AWE(地址窗口扩展),使得一个进程最高可支持访问64G的物理内存
雪狼__ 2010-03-18
  • 打赏
  • 举报
回复
有点意思 ,各位继续
iisbsd 2010-03-17
  • 打赏
  • 举报
回复
现在的64位系统没有一个能支持2的64次方的内存的,至少x86-64是只支持到2的48次方。简单说,计算是完全64位的,但是寻址只用到64位中的48位。

我都开始烦我自己了,就此打住,不捣乱了。
superman6541 2010-03-16
  • 打赏
  • 举报
回复
32位的操作系统2的32次方大致在4G左右,你就插几百G也就只能识别到这么点内存
64位的操作系统2的64次方,是一个很大的数字,所以就概括成无限大内存,毕竟在电信的系统里主机配置最大也就500多个G而已,不可能一台服务器配置几个T的内存
tiangej 2010-03-12
  • 打赏
  • 举报
回复
似乎如楼主所说,32位操作系统最多支持4G内存。
超过4G的都是64位操作系统。
谢谢,就当没有问吧。
tiangej 2010-03-12
  • 打赏
  • 举报
回复
请教楼主:
"内存大小根据CPU 的位数决定"对这句话有些困惑。
我在网上作了一些调查,从硬件角度,PC(或服务器)可扩展的最大内存是和主板提供的扩展槽数量有关的,可以查到,目前服务器内存最大可以扩展到256G。 *这里说的前提是64位?
内存数据库可以使用的内存在32位的时候,理论最大可以使用4G内存?32位机器不可以把内存扩展到4G以上?

望指教。

iisbsd 2010-03-10
  • 打赏
  • 举报
回复
好吧,我没看清楚。不过真的很容易误导,我觉得32位机器物理内存是4G算是常识,我第一感觉是应该谈内存能支持的用户数据量,当然,这不是你的错。

不过以此类推,64位的内存就不是你说的几百G了,amd64(或者x86-64)理论值应该是256TB,Windows都支持到16TB(不知道最近的几个系统有没有变化)。

纯粹闲聊。
superman6541 2010-03-10
  • 打赏
  • 举报
回复
引用 8 楼 iisbsd 的回复:
LZ还是没有搞清楚,32位的通用操作系统不可能在内存中容纳4G的应用数据,凭这点就很难相信这个系统的可靠性。

32位的操作系统你可以算出2的32次方,也就是大致4G的内存,但是我并没有说这4G都装的是数据啊,一般应用数据最多也就2G,其余肯定要跑的应用程序,至于你的怀疑,确实你没看清楚我的话
iisbsd 2010-03-09
  • 打赏
  • 举报
回复
引用 9 楼 superman6541 的回复:
你没认真看,我说的是32位最大是4G,但是一般最多应用都是2G左右,基本上用的最多的都是64位的,毕竟数据量比较大


好吧,我还是没明白,你能再说一下这个数据库在32位操作系统上和4G的关系么?

并无恶意,就是想搞明白。
superman6541 2010-03-08
  • 打赏
  • 举报
回复
你没认真看,我说的是32位最大是4G,但是一般最多应用都是2G左右,基本上用的最多的都是64位的,毕竟数据量比较大
iisbsd 2010-03-06
  • 打赏
  • 举报
回复
LZ还是没有搞清楚,32位的通用操作系统不可能在内存中容纳4G的应用数据,凭这点就很难相信这个系统的可靠性。
superman6541 2010-02-02
  • 打赏
  • 举报
回复
目前主流的内存数据库都有商用的,韩国的altibase内存数据库目前中国市场占有率最高,甲骨文和IBM相继收购了2家产品也正式推出了timesten和solid内存数据库作为自己磁盘数据库的备件,以前mysql也有开源的内存库产品
superman6541 2010-02-02
  • 打赏
  • 举报
回复
目前最大电信项目内存用量超过500多个G,对内存无要求,只是对操作系统32位的支持最大4G,64位的可以到无限
wwwwb 2010-02-02
  • 打赏
  • 举报
回复
数据量有多大,对内存有什么要求
superman6541 2010-02-02
  • 打赏
  • 举报
回复
现在很常用啊,电信和金融的高并发的实时系统几乎都在用内存数据库
ACMAIN_CHM 2010-02-02
  • 打赏
  • 举报
回复
这些不太常用的数据库产品一般都放在 [其他数据库] 库中了。

加载更多回复(2)

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧