Skip to main content
QUICK REVIEW

[논문 리뷰] AsterixDB: A Scalable, Open Source BDMS

Sattam Alsubaiee, Yasser Altowim|arXiv (Cornell University)|2014. 07. 02.
Data Mining Algorithms and Applications인용 수 14
한 줄 요약

AsterixDB는 NoSQL의 유연성과 SQL의 쿼리 처리 능력을 결합한 오픈소스로 확장 가능한 대용량 데이터 관리 시스템(BDMS)입니다. 복잡한 데이터 유형, 보조 인덱싱, 지속적인 데이터 인gest, 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 스토리지의 완전한 쿼리 언어 부재, RDBMS의 스키마 유연성 부족 — 을 해결하기 위해 이들의 강점을 통합하는 것.
  • 스케일링된 공유 없음 클러스터에서 반구조적, 중첩형, 복잡한 데이터(예: 텍스트, 공간, 시간 데이터)의 효율적 관리 및 쿼리 기능을 제공하는 것.
  • 내장된 데이터 피드를 통한 지속적 데이터 인게이션을 지원하고 NoSQL 스토리지에 유사한 트랜잭션 의미 체계를 제공하는 것.
  • 다양한 쿼리 유형과 데이터 인게이션 워크로드에서 기존 시스템(Hive, MongoDB, System-X)과의 성능 비교를 통한 AsterixDB의 성능 평가

제안 방법

  • AsterixDB는 스키마 우선 및 스키마 없음 데이터 사용 사례를 모두 지원하는 JSON 기반의 유연한 데이터 모델(ADM)을 사용합니다.
  • 복잡한 조인, 그룹화, 윈도우 함수를 포함한 완전한 SQL 유사 기능을 갖춘 선언적 쿼리 언어(AQL)를 적용합니다.
  • Hyracks를 기반으로 한 확장성 있고 병렬 처리 엔진을 사용하며, 수평 확장이 가능한 공유 없음 아키텍처를 채택합니다.
  • 모든 LSM(Log-Structured Merge) 기반 스토리지 아키텍처를 사용하여 B+트리, R트리, 풀텍스트 인덱스를 지원해 효율적인 보조 인덱싱을 구현합니다.
  • 내장된 데이터 피드를 통해 지속적인 데이터 인게이션을 지원하여 최소한의 지연으로 실시간 데이터 로딩을 가능하게 합니다.
  • NoSQL 스타일의 ACID 모델을 통해 트랜잭션 지원을 제공하여 업데이트 및 삽입의 일관성과 내구성을 보장합니다.

실험 결과

연구 질문

  • RQ1단일 BDMS가 NoSQL 스토리지, 병렬 RDBMS, 대용량 데이터 분석 플랫폼의 기능을 효과적으로 통합할 수 있는가?
  • RQ2다양한 쿼리 유형과 데이터 인게이션 워크로드에서 AsterixDB의 성능이 Hive, MongoDB, 상업용 병렬 DBMS 등 기존 시스템과 비교해 어떻게 되는가?
  • RQ3AsterixDB의 유연한 데이터 모델과 풍부한 타입 체계는 웹 데이터 웨어하우징 및 소셜 미디어 분석과 같은 복잡한 반구조적 데이터 워크로드를 얼마나 잘 지원하는가?
  • RQ4선택적 스캔 및 전체 테이블 스캔에 대해 AsterixDB는 인덱싱 및 쿼리 최적화를 얼마나 효율적으로 처리하는가?
  • RQ5쿼리 실행 및 데이터 인게이션에서 성능 저하 요인은 무엇이며, 이를 어떻게 완화할 수 있는가?

주요 결과

  • 인덱싱이 없는 전체 테이블 스캔의 경우, AsterixDB의 쿼리 성능은 Hive, MongoDB, 상업용 System-X와 유사합니다.
  • 보조 인덱스를 사용할 경우, AsterixDB는 다른 시스템과 동등한 성능을 달성하며 선택적 쿼리에 대한 효과적인 인덱스 활용 능력을 입증합니다.
  • 저선택성 쿼리의 경우, 정렬 작업 내에서 최대 수치를 프로젝션하는 기능 부재 및 결과 가져오기 오버헤드로 인해 더 높은 반응 시간을 보이며, 이는 현재 최적화 중입니다.
  • 배치 삽입의 경우, 20개의 레코드 배치 크기를 사용할 때 AsterixDB는 MongoDB 및 System-X를 능가하는 성능을 보입니다. 이는 작업 생성 오버헤드의 더 나은 분산 덕분입니다.
  • 대용량 지속적 데이터 인게이션을 위한 블록 로드 및 데이터 피드 기능은 더욱 뛰어난 성능을 제공하여 실시간 워크로드에 적합합니다.
  • 전반적으로 초기 벤치마크 결과에 따르면, AsterixDB는 성숙한 시스템과 놀라울 정도로 경쟁 가능하며, 단일 플랫폼이 다양한 대용량 데이터 워크로드를 효과적으로 지원할 수 있다는 주장을 뒷받침합니다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.