摘 要:数据库管理系统获得高性能的一个方法就是将数据库存放在内存中而不是存放在磁盘上,这样就必须设计出一种新的数据结构和算法来更有效地利用CPU周期和内存空间。本文介绍了几种适合于内存数据库的物理数据组织方法和当前内存数据库管理系统的几种索引结构。
关键词:内存数据库;影子内存;T树;物理数据
Analysis of Data Structure in Main Memory DataBase
WANG Honghai,PAN Zhaohua
(College of Communication Engineering,PLA University of Science&Technology,Nanjing,210007,China)
Abstract:To store database in main memory rather than on disk is a approach to achieving high performance of database management system.So new data structures and algorithms must be designed.This article introduces several data organizing methods and index structures for main memory database.
Keywords: main memory database; shadow memory; T-tree; physics-data
按照目前内存芯片密度每年2倍的增长速度,在未来10年中,配置1 G或更大的内存将是很平常的事。内存容量的快速增长对数据库管理系统有着深刻的影响。在某些场合,将整个数据库放进内存是可能的,正常的查询处理可以完全脱离硬盘。另外,和传统的数据库应用相比,有大量的新兴应用,目前的内存大小已经足够了。
在数据库系统中,有2种方法来使用大量的内存。
(1)增大缓冲池 将一个事务所涉及的数据都放在缓冲池中。当采取这种方法的时候,算法优化的目标仍然是最小化磁盘访问。
(2)常驻内存数据库 将整个数据库放进内存中。 这种方法需要重新设计一种数据库管理系统,需要对查询处理、并发控制与恢复的算法和数据结构进行重新设计,以更有效地使用CPU周期和内存。
1 磁盘和内存
内存数据库的索引结构和基于磁盘系统的索引结构不同,面向磁盘的索引结构的目标是最小化磁盘访问次数和空间占用,而面向内存的索引结构全部放在内存中,因此没有磁盘访问次数的最小化。这样,内 存索引的目标是减少整体的计算时间同时尽可能少地占用内存。由于关系常驻内存,在索引中没有必要存储真实的属性值,而存储指向元组的指针,当需要的时候通过这些指针能够得到属性值。这样做有4个优点:
(1)单一元组指针便能访问元组的属性和元组本身,这就减少了索引的大小。
(2)避免了处理在索引中的长字段、可变长字段以及压缩技术。
(3)当更新索引操作时,移动指针将比移动属性值更廉价。
(4)由于单个元组指针提供访问这个元组中的任何字段,采用一种特殊的机制多属性索引的需要将减少。
关键词:内存数据库;影子内存;T树;物理数据
Analysis of Data Structure in Main Memory DataBase
WANG Honghai,PAN Zhaohua
(College of Communication Engineering,PLA University of Science&Technology,Nanjing,210007,China)
Abstract:To store database in main memory rather than on disk is a approach to achieving high performance of database management system.So new data structures and algorithms must be designed.This article introduces several data organizing methods and index structures for main memory database.
Keywords: main memory database; shadow memory; T-tree; physics-data
按照目前内存芯片密度每年2倍的增长速度,在未来10年中,配置1 G或更大的内存将是很平常的事。内存容量的快速增长对数据库管理系统有着深刻的影响。在某些场合,将整个数据库放进内存是可能的,正常的查询处理可以完全脱离硬盘。另外,和传统的数据库应用相比,有大量的新兴应用,目前的内存大小已经足够了。
在数据库系统中,有2种方法来使用大量的内存。
(1)增大缓冲池 将一个事务所涉及的数据都放在缓冲池中。当采取这种方法的时候,算法优化的目标仍然是最小化磁盘访问。
(2)常驻内存数据库 将整个数据库放进内存中。 这种方法需要重新设计一种数据库管理系统,需要对查询处理、并发控制与恢复的算法和数据结构进行重新设计,以更有效地使用CPU周期和内存。
1 磁盘和内存
内存数据库的索引结构和基于磁盘系统的索引结构不同,面向磁盘的索引结构的目标是最小化磁盘访问次数和空间占用,而面向内存的索引结构全部放在内存中,因此没有磁盘访问次数的最小化。这样,内 存索引的目标是减少整体的计算时间同时尽可能少地占用内存。由于关系常驻内存,在索引中没有必要存储真实的属性值,而存储指向元组的指针,当需要的时候通过这些指针能够得到属性值。这样做有4个优点:
(1)单一元组指针便能访问元组的属性和元组本身,这就减少了索引的大小。
(2)避免了处理在索引中的长字段、可变长字段以及压缩技术。
(3)当更新索引操作时,移动指针将比移动属性值更廉价。
(4)由于单个元组指针提供访问这个元组中的任何字段,采用一种特殊的机制多属性索引的需要将减少。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10954452/viewspace-606879/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10954452/viewspace-606879/