Skip to main content
QUICK REVIEW

[论文解读] Adaptive Logging for Distributed In-memory Databases

Chang Yao, Divyakant Agrawal|arXiv (Cornell University)|Mar 12, 2015
Distributed systems and fault tolerance参考文献 31被引用 5
一句话总结

本文提出了一种用于分布式内存数据库的自适应日志记录机制,通过结合数据日志记录与命令日志记录,在事务吞吐量与恢复性能之间实现平衡。通过根据工作负载特征动态调整日志策略,该方法在保持与纯命令日志记录相当的事务吞吐量的同时,将恢复时间缩短了10倍。

ABSTRACT

A new type of logs, the command log, is being employed to replace the traditional data log (e.g., ARIES log) in the in-memory databases. Instead of recording how the tuples are updated, a command log only tracks the transactions being executed, thereby effectively reducing the size of the log and improving the performance. Command logging on the other hand increases the cost of recovery, because all the transactions in the log after the last checkpoint must be completely redone in case of a failure. In this paper, we first extend the command logging technique to a distributed environment, where all the nodes can perform recovery in parallel. We then propose an adaptive logging approach by combining data logging and command logging. The percentage of data logging versus command logging becomes an optimization between the performance of transaction processing and recovery to suit different OLTP applications. Our experimental study compares the performance of our proposed adaptive logging, ARIES-style data logging and command logging on top of H-Store. The results show that adaptive logging can achieve a 10x boost for recovery and a transaction throughput that is comparable to that of command logging.

研究动机与目标

  • 解决内存数据库中命令日志记录的高恢复成本问题,该问题在检查点后需要重做所有事务。
  • 通过支持依赖感知的事务重处理,克服命令日志记录缺乏并行恢复的问题,实现分布式、节点级恢复。
  • 在OLTP工作负载中,优化事务处理性能与恢复效率之间的权衡。
  • 设计一种混合日志记录方案,根据工作负载需求动态调整数据日志记录与命令日志记录的比例。

提出的方法

  • 通过使每个节点能够独立且并行地执行恢复,将命令日志记录扩展至分布式系统。
  • 利用依赖分析识别并隔离受节点故障影响的事务,以缩小恢复范围。
  • 提出一种自适应日志记录策略,根据工作负载特征动态选择数据日志记录或命令日志记录。
  • 采用混合日志记录模型,其中部分事务记录完整的数据变更(数据日志记录),其余事务仅记录命令元数据(命令日志记录),以最小化日志大小与恢复成本。
  • 实现依赖跟踪,确保恢复期间正确重放事务顺序,避免并发访问导致的冲突。
  • 将自适应日志记录机制集成至H-Store内存数据库系统以进行评估。

实验结果

研究问题

  • RQ1如何将命令日志记录扩展至分布式内存数据库,以支持高效且并行的恢复?
  • RQ2在命令日志记录与数据日志记录之间,事务处理吞吐量与恢复时间的性能权衡如何?
  • RQ3在OLTP工作负载中,混合日志记录策略能否动态平衡日志记录开销与恢复成本?
  • RQ4事务依赖关系解析对分布式命令日志记录中恢复性能的影响是什么?
  • RQ5在恢复速度与事务吞吐量方面,自适应日志记录与纯命令日志记录及ARIES风格数据日志记录相比表现如何?

主要发现

  • 与纯命令日志记录相比,自适应日志记录将恢复时间缩短了10倍,显著减少了故障后的停机时间。
  • 自适应日志记录的事务吞吐量与纯命令日志记录相当,保持了在线事务处理的高性能。
  • 当仅重放依赖关键事务时,分布式节点的并行恢复是可行且高效的,可减少冗余工作。
  • 与ARIES风格数据日志记录相比,该混合方法减小了日志大小,同时避免了命令日志记录的完整重做成本。
  • 依赖分析通过仅识别需要重做的事务,实现了正确且高效的恢复。
  • 自适应日志记录策略有效平衡了性能与可靠性,适用于多种OLTP工作负载。

更好的研究,从现在开始

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

无需绑定信用卡

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