当前位置: 首页 > 专利查询>浙江大学专利>正文

缓存数据库数据组织方法技术

技术编号:2849948 阅读:179 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种缓存数据库数据组织方法。它是通过采用处理器缓存可操作的硬件新特征,实现一种基于预测和存储介质特征的缓存数据库数据组织,其主要功能是系统根据数据使用频率预测数据在未来使用的可能性,将频繁数据装入缓存,大幅提高频繁数据访问速度。并能根据数据的使用情况动态地在各层次数据版本之间交换数据。

【技术实现步骤摘要】

本专利技术涉及数据库系统的体系结构设计
,涉及到数据库物理数据组织
,特别是涉及到一种缓存数据库的数据组织方法。
技术介绍
数据库技术一直随着计算的发展而不断进步,随着智能移动终端的普及,人们对数据实时处理和管理要求的不断提高,嵌入式移动实时数据库越来越体现出其优越性,从而被学界和业界所重视。在实时应用中,事务在运行前的操作逻辑(操作类型、顺序等)、数据集及其结构、行为以及时间的相关性等都是可预分析的。然而,对磁盘数据库而言,数据的I/O是造成事务执行时间不确定、预报不准确的关键因素。为此,要求以大内存作为实时数据库的主要存储介质,使一个事务在活动期间没有I/O,以达到较准确的预报,从而满足实时事务的定时限制。因此,内存数据库是支持实时事务的最佳技术,其本质特征是其″主拷贝″或″工作版本″常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。显然,它要求较大的内存量,但并不要求任何时刻整个数据库都能存放在内存,即内存数据库系统还是要处理I/O。实时内存数据库的设计打破传统磁盘数据库的设计观念,考虑内存直接快速存取的特点,以CPU和内存空间的高效利用为目标来重新设计开发各种策略与算法、技术、方法及机制。实时事务要求系统能较准确地预报事务的运行时间,但对磁盘数据库而言,由于磁盘存取、内外存的数据传递、缓冲区管理、排队等待及锁的延迟等使得事务实际平均执行时间与估算的最坏情况执行时间相差很大。内存数据库将整个数据库或其主要的″工作″部分放入内存,使每个事务在执行过程中没有I/O,则为系统较准确估算和安排事务的运行时间,使之具有较好的动态可预报性提供了有力的支持,同时也为实现事务的定时限制打下了基础。然而,在过去的二十年间,CPU速度的提高远远地超过了内存访问速度的提高。内存访问因而逐渐地成为很多计算机应用程序的性能瓶颈,包括需要较大内存量的内存数据库。而且,随着嵌入式硬件平台技术的不断进步,如IntelXscale PXA 27x系列巧妙的设计,使Data Cache可以配置为内存使用,从而提供了进一步大幅提高嵌入式数据库实时性性能的硬件基础。因此需要一种新的数据库数据组织技术,利用缓存的高速访问性能,进一步提高数据库的实时性。
技术实现思路
本专利技术的目的在于提供一种用于缓存数据库数据组织的方法。本专利技术解决其技术问题采用的技术方案如下1)缓存数据库空间结构分层方法缓存数据库的存储空间是一个三层结构,各层结构存储不同的数据子集I.易失的处理器缓存,用以存放支持各事务的工作数据,是缓存数据库的工作版本,工作版本的数据是内存版本数据中最为常用的数据子集;II.易失的内存,用以存储一些活动的临时性数据,是缓存数据库的临时内存版本,内存版本的数据是外存版本的常用数据子集;III.非易失的外部存储器,用来存放完整的数据库数据,还要存放用作恢复的数据库备份。存储在非易失的外部存储器上的数据库数据称为缓存数据库的外存版本;2)数据库物理数据组织方法由于缓存数据库存储空间三层结构的存储介质各不相同,所以三层结构中物理数据的组织方法也有所不同I.工作版本,以缓存行作为基本单元,作为缓存空间分配和与内存版本进行数据交换的单位;II.内存版本,存储空间划分为和外存单元块大小相同的段,作为内存空间分配和与外存版本进行数据交换的单位,段内进而划分为缓存行大小相同的行;III.外存版本,以输入输出的块为基本单元组织数据;3)缓存数据库的数据装入与交换方法I.数据初始装入,数据库启动时,将使用频率最高的数据装载到缓存中,成为工作版本,频率较高的数据装载到内存中成为内存版本;II.缓存数据库各层数据交换,在缓存数据库运行中,根据数据使用频率的变化,各层间数据即时进行交换。本专利技术与
技术介绍
相比,具有的有益的效果是本专利技术是一种基于预测和存储介质特征的数据组织方法,其主要功能是系统根据数据使用频率预测数据在未来使用的可能性,并将频繁数据装入缓存,并根据数据的使用情况动态地在各层次数据版本之间交换数据。(1)提高缓存数据预测智能性。系统可以更加根据数据的历史使用情况,生成工作版本数据集和内存版本数据集,在系统启动之时就将它们相应地加载入缓存和内存,不必在需要时才进行加载,并且可以使这些数据在一段时间之内驻留在缓存和内存之中。(2)大幅提高频繁数据访问速度。系统可以让使用最频繁的数据常驻在CPU缓存之中,而不被替换。因此可以有效减少这些频繁数据访问的冷启动失配,从而提高了数据访问的速度。(3)动态调整频繁数据集。由于工作版本数据集和内存版本数据集的确定很大程度上是由数据使用的频繁程度所决定的,而在系统运行过程中,数据使用的频繁程度会发生变化,所以系统必须动态地根据数据频繁程度的变化来适时地调整频繁数据集,也就是工作版本数据集和内存版本数据集,以决定哪些数据应该加载到缓存,哪些数据应该加载到内存。附图说明图1是总体流程图;图2是数据分层和数据组织示意图;图3是系统实施例列表LC示意图;图4是系统实施例列表LM示意图;图5是数据初始装入流程图;图6是数据交换流程图。具体实施例方式的具体实现流程如下。第一步缓存数据库空间结构分层。根据缓存数据库使用得三层存储结构易失的处理器缓存、易失的内存、不易失的外存,数据在空间结构上被分为相应的三层,如图2所示I.工作版本。存放在易失的处理器缓存之中,是缓存数据库支持各事务的工作数据。工作版本的数据是内存版本数据中最为常用的数据子集;II.内存版本。存放在易失的内存之中,是缓存数据库一些活动的临时性数据,内存版本的数据是外存版本的常用数据子集;III.外存版本。存放在非易失的外部存储器之中,是缓存数据库完整的数据,还包括用作恢复的数据库备份。第二步缓存数据库物理数据组织。由于缓存数据库存储空间三层结构的存储器不同,各种存储器都有各自特征,所以各层结构中物理数据的组织也依据存储器的特征进行相适应的设计,以最好地利用存储器的优点I.工作版本。CPU缓存以缓存行为单位从内存进行数据读写,所以工作版本的数据以缓存行作为基本单元进行组织,作为缓存空间分配和与内存版本进行数据交换的单位。以Intel Xscale PXA 27x系列CPU为例,处理器的数据缓存行大小为32字节,则缓存数据库数据记录应该以4字节,8字节,16字节或32字节对齐,且每32字节组成一行,每一行有一个唯一的标识符LID,LID是一个二元组<B,L>,其中B为此行所处的块号,L为块内的行号。系统保持一个使用最频繁的行的列表LC,如图3所示。II.内存版本。采用区-段式组织基于关系数据模型,它将存储空间逻辑地划分为″分区″,每一分区存储一个关系,物理上由若干″段″组成。一个段是内存中一固定长度的连续区域,它相当于″页″,是内外存I/O的单位,也是内存空间分配及内存数据库恢复的单位。每个段对应的数据都有一个唯一的标识符BID,用<B>表示,B为此行所处的段号。系统维护一个使用最频繁的段的列表LM,如图4所示。III.外存版本。以输入输出的块为基本单元组织数据。第三步缓存数据库的数据装入与交换。影响缓存数据库的数据装入与交换的主要因素有数据本身及其事务的特征①数据易变性指其变更速率。不同本文档来自技高网
...

【技术保护点】
一种缓存数据库数据组织方法,其特征在于:1)缓存数据库空间结构分层方法缓存数据库的存储空间是一个三层结构,各层结构存储不同的数据子集:Ⅰ.易失的处理器缓存,用以存放支持各事务的工作数据,是缓存数据库的工作版本,工作版 本的数据是内存版本数据中最为常用的数据子集;Ⅱ.易失的内存,用以存储一些活动的临时性数据,是缓存数据库的临时内存版本,内存版本的数据是外存版本的常用数据子集;Ⅲ.非易失的外部存储器,用来存放完整的数据库数据,还要存放用作恢复 的数据库备份。存储在非易失的外部存储器上的数据库数据称为缓存数据库的外存版本;2)数据库物理数据组织方法由于缓存数据库存储空间三层结构的存储介质各不相同,所以三层结构中物理数据的组织方法也有所不同:Ⅰ.工作版本,以缓 存行作为基本单元,作为缓存空间分配和与内存版本进行数据交换的单位;Ⅱ.内存版本,存储空间划分为和外存单元块大小相同的段,作为内存空间分配和与外存版本进行数据交换的单位,段内进而划分为缓存行大小相同的行;Ⅲ.外存版本,以输入输 出的块为基本单元组织数据;3)缓存数据库的数据装入与交换方法Ⅰ.数据初始装入,数据库启动时,将使用频率最高的数据装载到缓存中,成为工作版本,频率较高的数据装载到内存中成为内存版本;Ⅱ.缓存数据库各层数据交换,在缓存数 据库运行中,根据数据使用频率的变化,各层间数据即时进行交换。...

【技术特征摘要】
1.一种缓存数据库数据组织方法,其特征在于1)缓存数据库空间结构分层方法缓存数据库的存储空间是一个三层结构,各层结构存储不同的数据子集I.易失的处理器缓存,用以存放支持各事务的工作数据,是缓存数据库的工作版本,工作版本的数据是内存版本数据中最为常用的数据子集;II.易失的内存,用以存储一些活动的临时性数据,是缓存数据库的临时内存版本,内存版本的数据是外存版本的常用数据子集;III.非易失的外部存储器,用来存放完整的数据库数据,还要存放用作恢复的数据库备份。存储在非易失的外部存储器上的数据库数据称为缓存数据库的外存版本;2)数据库物理数据组织方法由于缓存数据库存储空间三层结构的存...

【专利技术属性】
技术研发人员:陈天洲严力科蒋宁陈学亮
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1