Skip to main content
QUICK REVIEW

[논문 리뷰] The SQL++ Semi-structured Data Model and Query Language: A Capabilities Survey of SQL-on-Hadoop, NoSQL and NewSQL Databases.

Kian Win Ong, Yannis Papakonstantinou|arXiv (Cornell University)|2014. 05. 14.
Advanced Database Systems and Queries인용 수 53
한 줄 요약

이 논문은 구조화된 데이터와 반구조화된 데이터를 모두 처리할 수 있도록 SQL과 호환되는 통합 쿼리 언어인 SQL++를 소개한다. SQL++는 JSON 및 NoSQL 스타일의 쿼리 지원을 위해 최소한의 문법 변경만으로 SQL을 확장한다. 구성 가능한 옵션을 통해 의미론을 형식화함으로써, MongoDB, Cassandra, Couchbase, AsterixDB와 같은 기존 시스템의 쿼리를 형식적으로 동등하게 모델링하고 실행할 수 있다.

ABSTRACT

NoSQL databases support semi-structured data, typically modeled as JSON. They also provide limited (but expanding) query languages. Their idiomatic, non-SQL language constructs, the many variations, and the lack of formal semantics inhibit deep understanding of the query languages, and also impede progress towards clean, powerful, declarative query languages. This paper specifies the syntax and semantics of SQL++, which is applicable to both JSON native stores and SQL databases. The SQL++ semi-structured data model is a superset of both JSON and the SQL data model. SQL++ offers powerful computational capabilities for processing semi-structured data akin to prior non-relational query languages, notably OQL and XQuery. Yet, SQL++ is SQL backwards compatible and is generalized towards JSON by introducing only a small number of query language extensions to SQL. Recognizing that a query language standard is probably premature for the fast evolving area of NoSQL databases, SQL++ includes configuration options that formally itemize the semantics variations that language designers may choose from. The options often pertain to the treatment of semi-structuredness (missing attributes, heterogeneous types, etc), where more than one sensible approaches are possible. SQL++ is unifying: By appropriate choices of configuration options, the SQL++ semantics can morph into the semantics of existing semi-structured database query languages. The extensive experimental validation shows how SQL and four semi-structured database query languages (MongoDB, Cassandra CQL, Couchbase N1QL and AsterixDB AQL) are formally described by appropriate settings of the configuration options. Early adoption signs of SQL++ are positive: Version 4 of Couchbase's N1QL is explained as syntactic sugar over SQL++. AsterixDB will soon support the full SQL++ and Apache Drill is in the process of aligning with SQL++.

연구 동기 및 목표

  • NoSQL 쿼리 언어의 표준화 부족과 형식적인 의미론의 부재로 인한 상호 운용성 저해 및 언어 이해의 깊이 부족 문제를 해결하기 위해.
  • 반구조화된 데이터를 네이티브로 지원하면서도 기존 SQL과 완전히 호환되는 쿼리 언어를 설계하기 위해.
  • 기존의 반구조화된 쿼리 언어(N1QL, AQL 등)를 구성 가능한 옵션을 통해 공통적인 의미론적 기반으로 매핑할 수 있는 형식적 프레임워크를 제공하기 위해.
  • 다양한 NoSQL 시스템 간의 다양한 관용적 쿼리 구문을 하나의 선언적이고 형식적으로 명세된 언어로 통합하기 위해.
  • Couchbase, AsterixDB, Apache Drill과 같은 기존 시스템과의 호환성을 입증함으로써 실용적 도입을 가능하게 하기 위해.

제안 방법

  • SQL과 JSON 데이터 모델의 슈퍼세트로 SQL++를 정의하여 구조화된 데이터와 반구조화된 데이터를 원활하게 처리할 수 있도록 한다.
  • 중첩된 데이터, 동적 타이핑, 속성에 대한 경로 기반 액세스를 지원하기 위해 SQL에 소량의 언어 확장을 도입한다.
  • 결측 속성 처리 및 이질적 타입 처리와 같은 설계 선택 사항을 포괄하는 구성 옵션을 사용해 언어 의미론을 형식화한다.
  • 구성 설정을 통해 SQL++ 의미론을 기존 쿼리 언어의 의미론으로 변형함으로써, MongoDB, Cassandra CQL, Couchbase N1QL, AsterixDB AQL 등과 형식적으로 동등하게 만들 수 있도록 한다.
  • 기존 쿼리 언어를 SQL++ 구성 설정으로 매핑하는 광범위한 실험적 검증을 수행한다.
  • Couchbase N1QL v4가 SQL++에 대한 문법적 당근임을 보여줌으로써 실제 도입 사례를 입증하고, Apache Drill이 SQL++에 맞춰지고 있음을 확인한다.

실험 결과

연구 질문

  • RQ1기존 NoSQL 및 NewSQL 쿼리 언어의 다양한 관용적 표현과 의미론을 반구조화된 데이터를 위한 단일 쿼리 언어로 통합할 수 있는 방법은 무엇인가?
  • RQ2JSON 유사의 반구조화된 데이터에 대해 강력하고 선언적인 쿼리가 가능하도록 하기 위해 SQL에 필요한 최소한의 확장은 무엇인가?
  • RQ3형식적인 구성 시스템이 기존 반구조화된 쿼리 언어 간의 핵심 의미론적 차이를 포괄할 수 있는가?
  • RQ4SQL++는 얼마나 정확하게 MongoDB, Cassandra, Couchbase, AsterixDB와 같은 기존 시스템의 의미론을 형식적으로 모델링하고 상호 운용할 수 있는가?
  • RQ5SQL++가 실제 데이터베이스 시스템에서 실용적이고 도입 가능하다는 데 대한 증거는 무엇인가?

주요 결과

  • SQL++는 최소한의 문법 변경만으로 반구조화된 데이터를 지원하면서도 기존 SQL 완전 호환성을 유지함으로써 성공적으로 확장되었다.
  • 구성 기반 접근법을 통해 SQL++는 MongoDB, Cassandra CQL, Couchbase N1QL, AsterixDB AQL와 같은 네 가지 주요 반구조화된 쿼리 언어의 의미론을 형식적으로 모델링할 수 있었다.
  • Couchbase N1QL 버전 4는 문법적 당근으로서 SQL++와 형식적으로 동등함을 입증하여 실질적인 일치를 확인했다.
  • Apache Drill이 SQL++에 맞춰지고 있음을 통해 산업계에서의 관심과 도입 가능성이 증가하고 있음을 보여주었다.
  • 형식적인 구성 시스템은 결측 속성 처리 및 이질적 타입 처리와 같은 핵심 의미론적 차이를 포괄하여 정밀한 언어 매핑을 가능하게 하였다.
  • SQL++는 OQL과 XQuery의 계산 능력과 SQL의 선언적 단순성을 모두 통합한 기반을 제공한다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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