内存数据库详细解答。 谁能够告诉我,内存数据库具体什么含义?以及用于何种场合?能够介绍一下内存数据库的详细信息吗?多谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 内存数据库,顾名思义就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。同时,内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处理速度要快很多,一般都在10倍以上。内存数据库的最大特点是其“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。 定义:设有数据库系统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;0B为一个内存数据库,简称为MMDB。 尽管内存数据库已不是传统磁盘数据库的概念,但是内存数据库本质上还是数据库,它也具有一般数据库的基本功能: ■ 永久数据的管理,包括数据库的定义、存储、维护等; ■ 完成各种数据操作,如查询处理、存取、完整性检查; ■ 事务管理,包括调度与并发控制等; ■ 对存取的控制和安全性检验; ■ 具有数据库的可靠性恢复机制。 相对于利用程序开发手段调用内存处理来说,内存数据库自有其优势。首先,内存数据库是产品化的数据库管理软件,极 大缩短了开发周期; 其次,内存数据库有着开放的平台和接口,程序开发和移植更加灵活便捷,也便于维护和二次开发; 第三,可以通过使用统一的SQL语言方便地查询内存中的数据; 最后,能在数据库中保障数据的安全性和完整性。这些优势,对于快速部署和简化维护都是有利的。 http://blog.csdn.net/firefoxboy/archive/2008/10/19/3104639.aspx 如何建立SQLSERVER的内存数据库. http://topic.csdn.net/u/20090313/10/e90163f0-e36c-43a7-81d1-4095c33a5a3e.html?seed=1922876051现在的内存便宜,16G以上内存的服务器已不少见.大内存的确让你的服务器运行程度加快了不少.但有些分析报表,总产生N个中 间的表,数据在里面倒来倒去,从这个表合计到那个表.不但速度很慢,而且,这个过程还有可能影响了正常的业务.减慢了服务器的响 应时间. 也经常有人出于业务的考虑,如某些系统要实时数据采集,有些系统可能每秒有上万条的 INSERT INTO 量.我看了一下相关的 回复,大体上都是增加硬盘,应用分布式管理,表分区等等..一句话.基本上是砸钱加硬件. :) .这的确是好办法.不过,现在是经济 危机,尤其是中小型企业,每一分钱都算得紧紧的,我相信你这个DBA也很难向老板开口. 不扯了,如果真的要在内存中建一个数据库,不难,很简单. 1.下载一个 ramdisk 或类拟的软件,先在2G左右的内存虚拟成一个硬盘. 2.在你的实体硬盘上建立一个空的数据库(直接在虚拟盘中建库是不可能的). 设置这个库的事务方式为简单. 3.分离这个新建的库. 4.将这个库 COPY 到你的虚拟盘上,然后附加. 我在我的电脑上测试:L730T + 2G + 320G. 100万条,基本是每秒 INSERT INTO 20000 条左右,而且,这个数据很平稳. OK,你的内存数据库完成了. 以后呢,凡是分析报表扯到的临时中间表,都可以放到这个库里,用完就KILL,或者你有很多实时数据要采集,也放到这个库里(要注意隔一定时间回写到实体表,还要注意断电. :) 关于时间换算的 怎么知道数据库访问了呢? 关于 Set nocount on 的问题 关于大数据量下查询逻辑优化的问题 Oracle有没有备份的文件损坏原来不起的情况?多吗? 这种情况,MS SERVER 2005出现的较多 关于sql查询数据很棘手的问题,劳烦各位大侠帮忙 如何将连续值字段的值重设为起始位置?(表已经清空) 本地图片导入sql server2008 初学者的问题-VB和SQL SERVER在各种开发工具和数据库开发工具中有什么优势? SQL问题,系统出问题,非常急? 关于U锁 group by的意思,用来做什么的、
定义:设有数据库系统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;0B为一个内存数据库,简称为MMDB。
■ 永久数据的管理,包括数据库的定义、存储、维护等;
■ 完成各种数据操作,如查询处理、存取、完整性检查;
■ 事务管理,包括调度与并发控制等;
■ 对存取的控制和安全性检验;
■ 具有数据库的可靠性恢复机制。
相对于利用程序开发手段调用内存处理来说,内存数据库自有其优势。首先,内存数据库是产品化的数据库管理软件,极
大缩短了开发周期; 其次,内存数据库有着开放的平台和接口,程序开发和移植更加灵活便捷,也便于维护和二次开发;
第三,可以通过使用统一的SQL语言方便地查询内存中的数据;
最后,能在数据库中保障数据的安全性和完整性。这些优势,对于快速部署和简化维护都是有利的。
也经常有人出于业务的考虑,如某些系统要实时数据采集,有些系统可能每秒有上万条的 INSERT INTO 量.我看了一下相关的 回复,大体上都是增加硬盘,应用分布式管理,表分区等等..一句话.基本上是砸钱加硬件. :) .这的确是好办法.不过,现在是经济 危机,尤其是中小型企业,每一分钱都算得紧紧的,我相信你这个DBA也很难向老板开口.
不扯了,如果真的要在内存中建一个数据库,不难,很简单.
1.下载一个 ramdisk 或类拟的软件,先在2G左右的内存虚拟成一个硬盘.
2.在你的实体硬盘上建立一个空的数据库(直接在虚拟盘中建库是不可能的). 设置这个库的事务方式为简单.
3.分离这个新建的库.
4.将这个库 COPY 到你的虚拟盘上,然后附加. 我在我的电脑上测试:L730T + 2G + 320G.
100万条,基本是每秒 INSERT INTO 20000 条左右,而且,这个数据很平稳. OK,你的内存数据库完成了.
以后呢,凡是分析报表扯到的临时中间表,都可以放到这个库里,用完就KILL,或者你有很多实时数据要采集,也放到这个库里(要注意隔一定时间回写到实体表,还要注意断电. :)