Skip to main content
QUICK REVIEW

[论文解读] Fast Updates on Read-Optimized Databases Using Multi-Core CPUs

Jens Krueger, Changkyu Kim|arXiv (Cornell University)|Sep 30, 2011
Distributed systems and fault tolerance参考文献 21被引用 4
一句话总结

本文提出了一种多核感知的线性时间合并算法,将读优化型内存列式数据库的合并开销降低了30倍,从而使其能够在不中断服务的情况下支持高吞吐量的事务处理工作负载。通过利用CPU缓存层次结构和线程级并行计算,该方法能够高效地将增量更新合并到压缩的主存储中,同时保持分析型查询的高性能。

ABSTRACT

Read-optimized columnar databases use differential updates to handle writes by maintaining a separate write-optimized delta partition which is periodically merged with the read-optimized and compressed main partition. This merge process introduces significant overheads and unacceptable downtimes in update intensive systems, aspiring to combine transactional and analytical workloads into one system. In the first part of the paper, we report data analyses of 12 SAP Business Suite customer systems. In the second half, we present an optimized merge process reducing the merge overhead of current systems by a factor of 30. Our linear-time merge algorithm exploits the underlying high compute and bandwidth resources of modern multi-core CPUs with architecture-aware optimizations and efficient parallelization. This enables compressed in-memory column stores to handle the transactional update rate required by enterprise applications, while keeping properties of read-optimized databases for analytic-style queries.

研究动机与目标

  • 解决企业系统中用于读优化的压缩内存列式数据库在合并操作中的性能瓶颈问题。
  • 使传统仅针对分析查询优化的数据库能够支持实时事务处理工作负载。
  • 降低合并开销,并在更新密集型环境中消除停机时间。
  • 设计一个能够同时支持高更新速率和高读取性能的系统。
  • 使用来自12个SAP Business Suite客户系统的实际企业工作负载数据验证该方法。

提出的方法

  • 作者分析了来自12个SAP Business Suite系统的实际企业工作负载,以识别在合并过程中存在的关键性能瓶颈。
  • 他们设计了一种线性时间合并算法,通过架构感知优化,在不修改数据的前提下对压缩的列式数据进行原地处理。
  • 该算法利用多核CPU并行计算、缓存友好的数据布局以及高效的线程调度,以最大化计算和内存带宽的利用率。
  • 它实现了在线、增量式的合并,将增量分区合并到主压缩列式存储中,而无需系统停机。
  • 实现中使用了字典编码,并通过直接操作压缩数据结构避免了完整解压缩。
  • 构建了一个详细的分析模型,用于预测当前和未来CPU架构下的计算和内存带宽需求。

实验结果

研究问题

  • RQ1在真实企业工作负载下,读优化型内存列式数据库的合并过程中,主要的性能瓶颈是什么?
  • RQ2如何提升合并性能,以在不牺牲读取性能的前提下支持高吞吐量的事务处理工作负载?
  • RQ3现代多核CPU在多大程度上可以通过架构感知优化来加速合并过程?
  • RQ4能否设计一种线性时间合并算法,在不进行完整解压缩的情况下高效处理压缩数据?
  • RQ5随着数据量和系统负载的增加,优化后的合并算法性能如何扩展?

主要发现

  • 在当前系统中,企业环境中每月的合并过程需要约20小时的停机时间,严重限制了实时事务处理工作负载的执行。
  • 与未经优化的串行实现相比,所提出的算法将合并时间减少了30倍。
  • 通过多核并行计算和缓存感知的内存访问模式,优化后的实现实现了30倍的性能提升。
  • 该算法通过在主存储中保持压缩的列式格式,维持了高水平的读取性能。
  • 分析模型能够准确预测当前和未来CPU架构下的性能表现,验证了该方法的可扩展性。
  • 在生产环境中,系统可支持每秒约1,000次更新,当合并过程高效执行时,足以满足企业级事务处理工作负载的需求。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。