论文部分内容阅读
当今,数据处理的应用飞速增长,数据管理技术尤其是关系型数据库管理系统(DataBase Management Systems)被广泛应用在各个行业,例如大到航天飞行器的数据系统,小到百姓日常的购物消费系统等都和数据库息息相关。随着日益快速发展的互联网技术,尤其是伴随着未来5G市场的爆发以及万物互联的设备持续增多,数据库管理系统必将持续成为当前以及未来的研究热点。最近十多年计算机硬件的性能发生了质的提升,这其中比较有代表性的成果就是内存数据管理技术的大规模普及与应用。本文首先阐述硬件发展以及内存数据库技术发展,以及数据处理行业的几个新技术:(1)在线事务/分析混合处理,高性能OLTP事务型系统基本都是采用内存数据库作为标准实现的,事务和分析同时存在是当下很常见的业务场景,在内存数据库基础上,探索事务分析融合的系统也是当下的一大趋势。(2)数据库和人工智能的关系,数据库可以为人工智能提供很多大数据工程上的经验以及充分压榨硬件性能的经验,人工智能可以给数据库提供很多场景定制的能力。本文针对新技术,对内存数据管理针对性的提出了研究算法。
(1)学习型的跳表索引技术:我们发现跳表作为一种基于随机算法的数据库索引技术它的性能是不稳定的。在极端情况下查找复杂度会退化到O(n),这是因为经典跳表结构没有结合数据的特征。为此,作者基于核密度估计的方式估计数据累积分布函数,预测数据在跳表中的位置,进而设计用于判定结点层数的跳表算法。另外,针对历史数据的访问频次,作者设计了一种保证频繁访问的“热”数据尽可能地在跳表的上层,而访问较少的“冷”数据在跳表的下层的跳表算法。最后,基于合成数据和真实数据对标准跳表和5种改进的跳表算法进行了全面的实验评估并开源代码。实验结果表明,优化的跳表最高可以获取60%的性能提升。这为未来的科研工作者和系统开发人员指出了一个很好的方向。
(2)内存存储引擎异步快照技术:作者发现尽管学术界已经提出了各种快照算法来权衡吞吐量和延迟的性能,但是像Reds这样的内存数据库坚持使用简单的fork函数生成快照。为了了解这种现象,作者对主流快照算法进行了全面的性能评估。对主流算法广泛评估表明,fork的性能比学术界具有代表性的快照算法产生了更好的性能,但比Hourglass和Piggyback稍差。除此之外,作者针对更加广泛的事务处理场景,提出了虚拟快照的技术,并且开放了相应的源代码。
(3)面向混合负载的存储引擎:作者提出了一种无等待的HTAP(WHTAP)架构,它可以以无等待的形式高效地执行OLTP和OLAP请求。作者开发并评估了一个原型WHTAP系统。实验表明,该系统可以获得与TicToc系统相似的OLTP性能,同时在分析处理上可以获得4~6倍的加速。
(4)针对不同计算芯片的极限学习机性能评估:作为一种基于内存计算的机器学习算法,极限学习机(ELM)以其出色的学习速度而闻名。随着ELM在分类和回归领域中的应用范围的扩大,对其实时性能的需求正在增加。尽管使用硬件加速是一个显而易见的解决方案,但是如何为基于ELM的应用选择合适的加速硬件是值得进一步讨论的主题。为此,作者在三种最先进的加速硬件(即多核CPU,图形处理单元(GPU)和现场可编程门阵列(FPGA))上设计和评估了优化的ELM算法,实验结果表明GPU适合加速大型数据集的ELM算法;(2)FPGA用于小型数据集,因为其功耗较低,尤其是对于某些嵌入式应用程序。
(1)学习型的跳表索引技术:我们发现跳表作为一种基于随机算法的数据库索引技术它的性能是不稳定的。在极端情况下查找复杂度会退化到O(n),这是因为经典跳表结构没有结合数据的特征。为此,作者基于核密度估计的方式估计数据累积分布函数,预测数据在跳表中的位置,进而设计用于判定结点层数的跳表算法。另外,针对历史数据的访问频次,作者设计了一种保证频繁访问的“热”数据尽可能地在跳表的上层,而访问较少的“冷”数据在跳表的下层的跳表算法。最后,基于合成数据和真实数据对标准跳表和5种改进的跳表算法进行了全面的实验评估并开源代码。实验结果表明,优化的跳表最高可以获取60%的性能提升。这为未来的科研工作者和系统开发人员指出了一个很好的方向。
(2)内存存储引擎异步快照技术:作者发现尽管学术界已经提出了各种快照算法来权衡吞吐量和延迟的性能,但是像Reds这样的内存数据库坚持使用简单的fork函数生成快照。为了了解这种现象,作者对主流快照算法进行了全面的性能评估。对主流算法广泛评估表明,fork的性能比学术界具有代表性的快照算法产生了更好的性能,但比Hourglass和Piggyback稍差。除此之外,作者针对更加广泛的事务处理场景,提出了虚拟快照的技术,并且开放了相应的源代码。
(3)面向混合负载的存储引擎:作者提出了一种无等待的HTAP(WHTAP)架构,它可以以无等待的形式高效地执行OLTP和OLAP请求。作者开发并评估了一个原型WHTAP系统。实验表明,该系统可以获得与TicToc系统相似的OLTP性能,同时在分析处理上可以获得4~6倍的加速。
(4)针对不同计算芯片的极限学习机性能评估:作为一种基于内存计算的机器学习算法,极限学习机(ELM)以其出色的学习速度而闻名。随着ELM在分类和回归领域中的应用范围的扩大,对其实时性能的需求正在增加。尽管使用硬件加速是一个显而易见的解决方案,但是如何为基于ELM的应用选择合适的加速硬件是值得进一步讨论的主题。为此,作者在三种最先进的加速硬件(即多核CPU,图形处理单元(GPU)和现场可编程门阵列(FPGA))上设计和评估了优化的ELM算法,实验结果表明GPU适合加速大型数据集的ELM算法;(2)FPGA用于小型数据集,因为其功耗较低,尤其是对于某些嵌入式应用程序。