Skip to main content
QUICK REVIEW

[论文解读] AsterixDB: A Scalable, Open Source BDMS

Sattam Alsubaiee, Yasser Altowim|arXiv (Cornell University)|Jul 2, 2014
Data Mining Algorithms and Applications被引用 14
一句话总结

AsterixDB 是一个开源、可扩展的大数据管理系统(BDMS),结合了 NoSQL 的灵活性与 SQL 的查询能力,支持复杂数据类型、二级索引、持续数据摄入以及类似 ACID 的事务处理。其性能与成熟的系统(如 MongoDB 和 Hive)相当,证明了统一平台能够高效处理从模式先行到无模式的多样化大数据工作负载。

ABSTRACT

AsterixDB is a new, full-function BDMS (Big Data Management System) with a feature set that distinguishes it from other platforms in today's open source Big Data ecosystem. Its features make it well-suited to applications like web data warehousing, social data storage and analysis, and other use cases related to Big Data. AsterixDB has a flexible NoSQL style data model; a query language that supports a wide range of queries; a scalable runtime; partitioned, LSM-based data storage and indexing (including B+-tree, R-tree, and text indexes); support for external as well as natively stored data; a rich set of built-in types; support for fuzzy, spatial, and temporal types and queries; a built-in notion of data feeds for ingestion of data; and transaction support akin to that of a NoSQL store. Development of AsterixDB began in 2009 and led to a mid-2013 initial open source release. This paper is the first complete description of the resulting open source AsterixDB system. Covered herein are the system's data model, its query language, and its software architecture. Also included are a summary of the current status of the project and a first glimpse into how AsterixDB performs when compared to alternative technologies, including a parallel relational DBMS, a popular NoSQL store, and a popular Hadoop-based SQL data analytics platform, for things that both technologies can do. Also included is a brief description of some initial trials that the system has undergone and the lessons learned (and plans laid) based on those early "customer" engagements.

研究动机与目标

  • 设计并实现一个完整功能的大数据管理系统(BDMS),支持灵活的数据建模、复杂查询和可扩展的数据管理。
  • 通过整合其优势,解决现有系统(如缺乏存储的分析平台、缺乏完整查询语言的 NoSQL 存储,以及缺乏模式灵活性的关系型数据库管理系统)的局限性。
  • 在大规模共享无依赖集群中,实现对半结构化、嵌套和复杂数据(如文本、空间、时间数据)的高效管理与查询。
  • 通过内置数据馈送支持持续数据摄入,并提供类似 NoSQL 存储的事务语义。
  • 在多种查询类型和数据摄入工作负载下,评估 AsterixDB 与成熟系统(Hive、MongoDB、System-X)的性能表现。

提出的方法

  • AsterixDB 使用基于 JSON 的灵活数据模型(ADM),支持模式先行和无模式的数据使用场景。
  • 采用具有完整 SQL 类似功能的声明式查询语言(AQL),包括复杂连接、分组和窗口函数。
  • 系统基于可扩展的并行运行时引擎(Hyracks)构建,采用共享无依赖架构以实现水平扩展。
  • 数据存储基于全 LSM(日志结构合并)结构,支持 B+树、R树和全文索引,以实现高效的二级索引。
  • 通过内置数据馈送支持持续数据摄入,实现实时数据加载且延迟极低。
  • 通过类似 NoSQL 的 ACID 模型提供事务支持,确保更新和插入操作的一致性与持久性。

实验结果

研究问题

  • RQ1单一 BDMS 是否能够有效统一 NoSQL 存储、并行 RDBMS 和大数据分析平台的功能?
  • RQ2AsterixDB 在多种查询类型和数据摄入工作负载下,与 Hive、MongoDB 和商业并行 DBMS(如 System-X)相比,性能表现如何?
  • RQ3AsterixDB 的灵活数据模型和丰富的类型系统,在支持复杂半结构化数据工作负载(如网络数据仓库和社交媒体分析)方面,其支持程度如何?
  • RQ4AsterixDB 在处理选择性查询和全表扫描时,索引和查询优化的效率如何?
  • RQ5查询执行和数据摄入中的性能瓶颈是什么?如何有效缓解?

主要发现

  • 在无索引的全表扫描场景下,AsterixDB 的查询性能与 Hive、MongoDB 和商业系统 System-X 相当。
  • 在使用二级索引时,AsterixDB 的性能与其他系统持平,表明其在选择性查询中有效利用了索引。
  • 对于低选择性查询,AsterixDB 的响应时间较高,原因在于未将 LIMIT 推进到排序操作中,以及结果获取的开销,目前正积极优化中。
  • 在批量插入场景下,当批大小为 20 条记录时,AsterixDB 的性能优于 MongoDB 和 System-X,归因于任务生成开销的更好分布。
  • AsterixDB 的批量加载和数据馈送功能在高吞吐量、持续数据摄入场景下表现更优,适用于实时工作负载。
  • 总体而言,初步基准测试表明,AsterixDB 与成熟系统相比表现出令人惊讶的竞争力,支持了单一平台可有效服务于广泛大数据用例的论断。

更好的研究,从现在开始

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

无需绑定信用卡

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