时态数据库的特殊实现技术-四川大学.DOCVIP

时态数据库的特殊实现技术-四川大学.DOC

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
时态数据库的特殊实现技术-四川大学

时态数据库的分史存储技术 唐常杰 于中华,张天庆,徐代刚,杨 峰 四川大学计算机系 摘要:根据应用中时态数据使用频率特点。本文提出三史制存储技术,将对象历史分为远、中、近三期,分介质、变粒度存储,并设置两个过渡期,提出了时代转移算法和压缩采样算法。定量分析了三史制时空效益,用实例说明时态存储密度和时态查询速度提高了一到二个数量级。 关键词:时态数据库,分史存储,时态转移算法,压缩采样,时态存储密度。 在TDB中,保存了被处理对象的历史,历史只能追加,不能删除。但除了以考古为目的的TDB,大多数TDB应用都是厚今薄古的,即当前或不久前的这些数据用得多,而历史久远的数据用得少。根据这一观察,本文提出三史制存储技术,将对象历史分为远、中、近三期,分介质、变粒度存储,本文将介绍作者在这一方案中对存储结构、算法、和显著的时空效益。HBase是国家自然科学基金支持的项目,项目背景和技术细节请参见文献[2]—[4]。 1 HBase的分史策略 HBase中,个历史按事务时间排序。 HBase把被管理对象按事务时间在[0,Now]上的历史划分为三个时期和两个过渡区间,如图1。这一存储制式又称为三史制,而传统的不划分时间的制式又称为单史制。HBase的三史制与文献[5]中分割 “TDB = 快照 + 历史” 有本质不同。HBase模型的当前期不是快照,而是[CB, Now]区间的历史,这保证了能高速分析当前期中对象间的联系,而HBase特有的过渡区及稍后要介绍的时期转换算法保证了多时期多介质的平滑、高效的过渡。 三史制的要点如下∶ (1)分段 近代开始时刻记为MidAgeBegin (缩写为MB),近代终止时刻记为MidAgeEnd (缩写为ME),区间[MB,ME]称为近代(或中期)。 现代开始时刻记为CurrAgeBegin (缩写为CB)。区间[CB,Now]称为现代(或当前期)。 古代终止时刻记为OldAgeEnd (缩写为OE),区间[0,OE]称为古代(或远期)。 OE CB Now 0 MB ME 图1 三个时期、两个过渡区间 (2) 过渡期.系统要求MBOE和 CBME。区间 [MB,OE].记为Old_Mid,称为 古—近过渡期。 Old_Mid_Len = OE-MB 称为古—近过渡期长度。区间Mid_Curr = [CB,ME]称为近-现过渡期,而Mid_Curr_Len = ME-CB称为近—现过渡期长度。 (3)存储介质. 现代史全部保存在内存,采用主存数据库技术(main memory DB)。不需Cache 。 在内存中为近代史、古代史设置高速缓存 M_Cache, O_Cache,二者大小比例和使用 频度相同,默认为1∶10。 近代史保存在硬盘中。古代史保存在可不停机更换盘片的活动硬盘上或CDROM中。(9) 过渡期中的历史数据在两个相关历史时代中各存一份。由专门的时代转移模块自动而平滑地转移过渡期中超期的历史数据。 (4) 用户可根据情况设置古代史、近代史、现代史的使用频率。系统默认值为 古代;近代∶现代 = 1∶10∶100。 通过设置 MidAgeBegin (或MB), OldAgeEnd (或OE) 及古—近过渡期长度Old_Mid_Len 这三个变量中的任意两个,可以划分古代和近代及其过渡期。 例1 下列语句采用了相对时刻∶ Set MidAgeBegin = Ago (5 years) Set Old_Mid_Len =60 Days 系统以执行时间作为基准,其5年之前的时刻作为近代的开始时刻MB,而[MB, MB+60 Days]这60天时间作为古代—近代过渡期。注意,Ago是一个时态宏。对于宏Ago(5 years),TDBMS将根据系统内部日历,根据闰年法则准确地计算出执行时的5年前准确时刻。因此用Ago(…)宏来划分的时代间隔是动态的。 例2 下列语句采用绝对时刻 Set MidAgeBegin = “12-31-1996” Set OldAgeEnd = “01-13-1997” 将[0, “01-13-1997”]设置为古代,且将 [“12-31-1996”, “01-13-1997”]这一个月设置为古代—近代过渡期。 通过设置CurrAgeBegin (或CB),MidAgeEnd (或ME)以及近-现过渡期Mid-CurrLen三者中的任意二者可以划

文档评论(0)

2105194781 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档