在破解数据库的基础上设计一种算法实现处理大容量更新的功能

本文探讨了在破解数据库的基础上设计的算法,用于处理大规模的更新操作,如插入、删除和更新,同时保持快速数据访问和自组织能力。通过在MonetDB系统中的实现和评估,证明了这种算法的有效性和对查询响应时间的可控性。
摘要由CSDN通过智能技术生成

更新破解的数据库

Updating a Cracked Database

作者是Stratos Idreos CWI Amsterdam The Netherlands idreos@cwi.nl,Martin L. Kersten CWI AmsterdamThe Netherlands mk@cwi.nl,Stefan Manegold CWI Amsterdam The Netherland smanegold@cwi.nl

这两天要阅读两篇关于大数据计算技术的论文,先把它们总结出来,每天会在博客上提交一节内容,后续会对文章中的内容进行实验,实验报告会在论文总结提交完之后上传。这是第一篇,作者是荷兰的几位教授,主要讲了在破解数据库的基础上设计了一种算法实现处理大容量更新的功能。
一、 背景
在过去的几年中,越来越多的数据库研究人员认识到,需要下一代数据库系统具有自组织属性的集合。未来的数据库系统应该能够以管理资源、存储数据和回答查询的方式进行自组织。到目前为止,创建自适应数据库系统的尝试要么是基于数据库管理员的持续监视和手动调优,要么是基于离线半自动工作负载分析工具。
最近,在面向列的数据库环境中,数据库破解被认为是创建自组织数据库的一个有前途的方向。有论文作者提出并实现了一个基于破解的查询处理体系结构,并对其进行了评估,以证明该设想的可行性。其主要思想是,随着查询的到来,数据的物理存储方式也在不断变化。所有符合条件的数据都聚集在一个连续的空间中。破解是在属性级应用的,因此查询的结果是对引用的列进行物理重组,而不是对整个表进行重组。
下面的简化示例展示了在列式商店设置中进行破解的潜在好处。假设一个查询从一个表请求A小于10.一个破解的关系型数据库将列开头小于10的A的所有元组聚集在一起,将所有大于等于10的元组推到最后。未来的查询请求A大于v,其中v大于等于10,必须只搜索值A>=10存在的列的最后一部分。类似地,如果将来查询请求小于v,其中v小于10,则只能搜索列的第一部分。为了实现这一点,我们需要维护一个从目前处理的所有查询派生的导航图。术语“破解”反映了这样的一个事实,即数据库被分割/破解为更小的和可管理的部分。
通过这种方式,在处理每个查询时,数据访问将显著加快。只有第一个查询缺少导航建议。与未破解的情况相比,它的运行速度稍微慢一些,因为它必须扫描和物理地重新组织整个列。所有后续的查询都可以使用导航地图来限制访问,以便进一步破解。因此,每个执行的查询都会使将来的查询运行得更快。
除了加快查询速度外,破解还使关系型数据库能够更容易地自组织和适应。当部分数据成为热点时(即物理存储和自动收集的导航建议改善了访问时间)类似地,对于数据库中的死区,它可以删除导航通知,不需要外部也就是人工管理或先验增加工作负载,也不需要初始投资来创建索引结构。这样的属性对于拥有大量数据集的数据库来说是非常理想的。在那里,索引的选择和维护是一项艰巨的任务。
破解数据库是实现数据库自适应的一个有前途的方向。到目前为止,已经研究了静态场景的数据库破解, 一个新的数据库架构还应该处理大容量更新,以作为可行的替代方案。
二、 解决的问题
紧跟上文所说,一个新的数据库架构还应该处理大容量更新,以作为可行的替代方案。本文的贡献如下,我们提出了一系列的算法,以支持插入、删除和更新,在一个破解的数据库管理系统。我们证明了我们的算法能够在快速数据访问方面保持破解的优势。此外,我们的算法也不会妨碍数据库管理系统的自组织能力,该系统可以在不需要外部管理的情况下,以与以前相同的效率适应查询工作量。我们所提出的算法遵循“破解哲学”,即除非系统是空闲的,否则我们总是试图避免做某项工作,直到它是不可避免的。这样,传入的更新被简单地标记为挂起的操作。一旦查询必须检查更新的数据,我们就会更新“破解”数据结构。所提出的算法范围从完整的情况(我们在一个步骤中应用所有挂起的操作)到只更新当前查询真正需要的解决方案,剩下的留给将来用户对这部分数据感兴趣的时候。
我们使用Mon-etDB实现并评估了我们的算法,Mon-etDB是一个开放源代码的而且面向列的数据库系统。一个详细的实验评估表明,更新确实可以有效地处理一个破解的数据库管理系统。我们的研究基于两个性能指标来描述系统行为。我们观察一个查询和更新序列所需要的总时间,第二个指标是每个查询响应时间。查询响应时间对于可预测性至关重要。理想情况下,我们希望类似的拆线呢具有类似的响应时间。我们展示了在总成本方面牺牲很少的性能并将所有查询的响应时间保持在可预测的范围内是可能的。
最后,我们讨论了实现的各个方面,以展示支持更新的算法复杂性。与基于AVL-tree的方案进行直接比较,可以看到使用破解哲学所节省的资源。
论文的其余部分组织如下。接下来的几节中我们将简要介绍试验系统Mon-etDB,以及破解体系结构的基础知识。然后,我们将讨论如何通过扩展select操作符来将更新过程嵌入到破解架构中。接着介绍了一系列算法,以支持插入的破解数据库。然后在下面的小节中介绍处理删除的算法啊,然后将展示如何处理更新。接着,我们给出了一个详细的实验评价。最后讨论了相关工作,讨论了未来的工作方向并对论文进行总结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值