简析主存系统MMDB发布者:apple6700s 时间:06-05 阅读数:295 什么是MMDBMS ? 主存系统(MMDB)在主存中管理整个或者的一部分,所以可以直接访问数据而不用访问磁盘,这样主存就具有了高性能的事务处理能力。在英语中,主存可以叫做main-memory database,memory residence database或者in-memory database等等,所有这些英文名称的主要的概念都是的主体保存在内存中。另一方面,在实时应用领域对于系统相应时间的要求非常高,因此在实时系统中开发和使用了主存来管理数据,但是在这些系统中存在以下问题:-因为现有的实时系统的开发都是针对于特定的应用(都是特别设计的系统),系统的通用性很低,同样管理的概念很差。-这样的系统不能同时提供满足工业标准的编程接口,实时事务处理能力和可扩展的管理结构。-在这样的系统中很难灵活的反映客户的要求或者用于其他的应用领域,也就是说由于受特定的应用的限制,这种系统的可伸缩性、可用性和系统的效率都非常低。这样的实时系统的开发需要很大的费用,而且这样的特定设计的实时系统很难满足完整的管理的要求,为此而进行的开发的费用也是很大的。
另外,Altibase之前的关系型系统都是针对于磁盘数据设计的,由于在这些上有很多应用,因此很难对这些进行重新设计。为什么现在用MMDB?MMDB的理论基础是在1980年代后期通过积极的研究和开发形成的。当时,32位处理器最大支持4GB地址空间,但是由于操作系统和软件操作的限制,32位地址空间实际上只有2GB左右(现在的的大小)。然而,64位的主存仅受系统中配置的物理内存的数量的限制,64位系统支持最高100GB的内存容量。但由于经济和技术的限制,投入实际应用的主存系统产品很少,只有一些大学和研发机构开发的试验产品。 (1) 存储器价格的下降半导体技术的高速发展使DRAM的成本戏剧性的下降,在过去的20年中,DRAM的成本下降了10倍。1986年时1GB内存的成本是40000美元,但是现在还不到5000美元,在一些服务器上还不到2500美元。mmdbIDC预测存储器的价格还会持续下降。考虑到这种趋势,在解决方案中引入主存是可行的,这正被越来越多的人所接受。 (2) 64位系统的关键作用32位系统只能访问大约2GB的内存,这限制了系统中主存数据的存储。
另一方面,64位系统可以访问最多160亿GB的内存,所以在64位系统中的主存数据存储容量的限制仅仅是可以被安装到系统中的物理内存的数量。主存不受地址访问空间的限制。 (3) 管理技术的提高在实际应用中用户通常会有两个考虑:主存的稳定性和的大小会不会有限制。商业主存已经应用于各种高科技领域而且具有和传统基于磁盘同样的稳定性。为什么MMDB快?如果磁盘的内存缓冲区足够大,将整个都放在缓冲区中,那么磁盘的性能可以和MMDBMS一样高吗?磁盘的UPDATE操作需要和磁盘同步数据,但是SELECT操作可以得到差不多的效率。但是由于磁盘查询处理算法的复杂性,主要是为了优化磁盘访问,磁盘系统还不能得到我们希望的高性能。主存系统高性能的秘密在于它的管理技术和系统的架构。(1) 数据访问的成本磁盘的价格低于存储器的价格,存储器的价格低于CPU CACHE的价格,换句话说,速度越快,价格越高。另一方面,在处理速度方面,磁盘的访问时间位毫秒级,而内存的方位时间为数十纳秒的数量级。要想得到高性能仅仅将存储在主存中是不够的,还需要高效内存结构技术,高速缓存数据管理技术和基于主存的查询优化技术。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27538-1.html
少讲话
应该重质不重量