Skip to main content
QUICK REVIEW

[论文解读] DualTable: A Hybrid Storage Model for Update Optimization in Hive

Songlin Hu, Wantao Liu|arXiv (Cornell University)|Apr 28, 2014
Cloud Computing and Resource Management参考文献 7被引用 5
一句话总结

DualTable 是一种混合存储模型,结合 HDFS 以实现高效的批量扫描,以及 HBase 以实现快速的随机写入,使 Hive 能够高效支持更新和删除操作,同时不牺牲查询性能。实验表明,与标准 Hive 相比,该方法可将更新和删除操作的性能提升高达 10 倍。

ABSTRACT

Hive is the most mature and prevalent data warehouse tool providing SQL-like interface in the Hadoop ecosystem. It is successfully used in many Internet companies and shows its value for big data processing in traditional industries. However, enterprise big data processing systems as in Smart Grid applications usually require complicated business logics and involve many data manipulation operations like updates and deletes. Hive cannot offer sufficient support for these while preserving high query performance. Hive using the Hadoop Distributed File System (HDFS) for storage cannot implement data manipulation efficiently and Hive on HBase suffers from poor query performance even though it can support faster data manipulation.There is a project based on Hive issue Hive-5317 to support update operations, but it has not been finished in Hive's latest version. Since this ACID compliant extension adopts same data storage format on HDFS, the update performance problem is not solved. In this paper, we propose a hybrid storage model called DualTable, which combines the efficient streaming reads of HDFS and the random write capability of HBase. Hive on DualTable provides better data manipulation support and preserves query performance at the same time. Experiments on a TPC-H data set and on a real smart grid data set show that Hive on DualTable is up to 10 times faster than Hive when executing update and delete operations.

研究动机与目标

  • 解决 Hive 中缺乏高效更新和删除支持的问题,该问题阻碍了企业环境中向传统 RDBMS 的迁移。
  • 克服 HDFS(无随机写入)和 HBase(批量扫描速度慢)在需要快速更新和高查询性能的复杂企业工作负载中的局限性。
  • 设计一种存储模型,根据成本和访问模式选择性地将数据存储在 HDFS 或 HBase 中,以优化混合工作负载的性能。
  • 支持复杂存储过程的高效执行,尤其是那些数据操作比例较高的场景,如智能电网应用。
  • 在保持 Hive 的可扩展性和低成本部署特性的同时,添加类似 ACID 的更新和删除功能,且不依赖尚未完成的 ACID 扩展功能。

提出的方法

  • DualTable 采用混合存储架构,新记录写入 HDFS 以实现高效的批量扫描,而更新则作为 delta 记录存储在 HBase 中,以实现随机写入的高效性。
  • 基于工作负载特征和性能权衡,动态成本模型决定每条数据修改在 HDFS 或 HBase 中的最优存储位置。
  • 通过将更改应用到 HDFS 或 HBase,系统支持 UPDATE 和 DELETE 操作,查询引擎会透明地重写查询以同时访问两个存储层。
  • 该模型与 Hive 的执行引擎集成,允许标准 HiveQL 查询透明地从 HDFS 和 HBase 读取数据,无需更改模式或查询语句。
  • 系统利用现有的 Hive 优化技术,如查询重写和 DAG 结构优化,以提高整体执行效率。
  • 通过支持对 HDFS 的 INSERT OVERWRITE 和对 HBase 的直接 DML 操作,实现增量数据操作,相比全文件重写,显著降低了 I/O 开销。

实验结果

研究问题

  • RQ1如何在不牺牲批量查询性能的前提下,使 Hive 高效支持更新和删除操作?
  • RQ2何种混合存储策略能够有效结合 HDFS(快速扫描)和 HBase(快速随机写入)的优势,以应对混合分析与操作工作负载?
  • RQ3基于成本的动态路由机制是否能有效决定将更新存储在 HDFS 或 HBase 中,以最小化 I/O 和执行时间?
  • RQ4所提出的 DualTable 模型在具有高比例数据操作的现实企业工作负载中表现如何?
  • RQ5与 Hive 当前基于 INSERT OVERWRITE 的更新模式相比,DualTable 能在多大程度上减少 I/O 开销?

主要发现

  • 在相同硬件条件下,DualTable 将更新和删除操作的性能相比标准 Hive 最高提升 10 倍,尤其在复杂工作负载中表现显著。
  • 在 TPC-H 基准测试和真实智能电网数据上,DualTable 在更新密集型场景中显著优于 Hive,将执行时间从数小时缩短至数分钟。
  • 通过利用 HDFS 在读密集型操作中的高效批量扫描能力,混合模型保持了高水平的查询性能。
  • 基于成本的路由机制有效平衡了写入性能与查询效率,最小化了不必要的数据移动。
  • 通过避免对小更新进行全文件重写,系统显著降低了 I/O 开销,而全文件重写正是传统 Hive 更新模式的主要瓶颈。
  • DualTable 支持企业级规模的应用(如拥有超过 1700 万个智能电表、每月处理 600 亿条测量数据的智能电网系统)在严格时间窗口(例如凌晨 1 点至 7 点)内完成复杂存储过程。

更好的研究,从现在开始

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

无需绑定信用卡

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