JSON의 유연성과 SQL의 강력한 성능 결합
캘리포니아대학교 샌디에이고 캠퍼스 컴퓨터 공학 교수인 야니스 파파콘스탄티노우와 카우치베이스는 문서 지향 데이터와 JSON(JavaScript Object Notation) 데이터 형식의 광범위한 채택을 위한 중요한 단계로, 오늘 빅데이터를 위한 차세대 쿼리 언어에 대한 협업을 발표했습니다. 양사의 공동 연구는 SQL의 강력한 성능과 JSON의 유연성을 결합한 것입니다.
공통 비전: SQL + JSON
협업에 앞서 Couchbase와 파파콘스탄티누 교수는 기존의 접근 방식이 반정형 데이터 쿼리를 위한 완전하고 효율적인 솔루션을 제공하지 못한다고 독자적으로 결론을 내렸습니다. 두 사람 모두 대표적인 데이터베이스 쿼리 언어인 SQL과 최신 애플리케이션에서 반정형 데이터를 모델링하기 위한 대표적인 형식인 JSON을 결합한다는 공통된 비전을 공유했습니다. 두 회사 모두 그 방향으로 작업을 시작했고, 공동 작업을 결정한 것도 이러한 공통의 비전을 바탕으로 한 것입니다.
카우치베이스는 UC 샌디에이고의 데이터베이스 그룹의 파파콘스탄티노우 팀이 개발한 반구조화 데이터를 위한 공식적으로 정의되고 SQL과 하위 호환되는 선언적 언어인 SQL++의 개발을 위해 지속적인 연구 자금을 지원할 것입니다. 또한 카우치베이스는 JSON용 SQL을 확장하고 SQL++에 정의된 사양과 일치하는 카우치베이스의 쿼리 언어인 N1QL을 지속적으로 개선해 나갈 것입니다.
SQL++는 특히 SQL 구문에 익숙한 개발자에게는 배우기 쉽습니다. 하지만 모든 데이터가 테이블에 깔끔하게 들어맞아야 하는 관계형 데이터베이스와 달리 JSON은 사람이 쉽게 읽고 쓸 수 있고 기계가 생성하고 구문 분석할 수 있는 가벼운 데이터 교환 형식입니다.
UC 샌디에이고 데이터베이스 그룹의 최근 기술 보고서*에 자세히 설명되어 있듯이, SQL++의 공동 개발자인 파파콘스탄티누와 연구원 겸 CSE 졸업생인 키안 윈 옹(Kian Win Ong, 박사 '12)은 훨씬 더 깔끔하고 SQL에 소수의 쿼리 언어 확장만 도입하는 SQL++의 구문과 의미론에 대해 설명합니다. 파파콘스탄티누는 "SQL 기능은 새로운 기능을 개발하기보다는 SQL의 의미론적 제한을 제거함으로써 확장되는 경우가 대부분입니다."라고 말합니다. "이를 통해 SQL++는 SQL에 대한 불필요한 확장을 피할 수 있습니다." SQL++의 의미론은 이전 쿼리 언어에 비해 훨씬 짧아지기 때문에 사용 편의성도 향상됩니다.
SQL++ 및 N1QL
11개의 쿼리 언어를 살펴본 결과, 파파콘스탄티누는 반정형 데이터에 대한 본격적인 쿼리를 제공하는 언어가 없다는 결론을 내렸습니다. 파파콘스탄티노우와 그의 팀은 미국 국립과학재단(NSF)과 Informatica의 지원을 받아 UCSD의 FORWARD 프로젝트로 SQL++ 사양을 개발하여 출시했습니다. 동시에 Couchbase는 SQL의 쿼리 성능과 JSON 데이터의 유연성을 결합한 포괄적인 쿼리 언어를 제공하기 위해 N1QL을 독자적으로 개발했습니다.
"기업들은 반정형 데이터베이스에 대한 선언적 쿼리를 요구하기 시작했습니다. SQL++를 사용하면 JSON을 쿼리하고 SQL과 역호환되는 선언적 쿼리 언어를 사용할 수 있습니다."라고 Papakonstantinou는 말합니다. "이 쿼리 언어는 반정형 데이터에서 작동하지만 완전히 선언적이고 SQL과 호환되므로 새로운 빅 데이터 시대를 위한 쿼리 언어입니다. 두 가지 장점을 모두 제공합니다. Couchbase N1QL은 SQL++ 사양과 반정형 데이터 쿼리의 요구 사항에 부합합니다."
"파파콘스탄티누 교수 및 그의 연구팀과 협력하게 되어 기쁘게 생각합니다. 그들은 JSON을 위한 선언적 쿼리 언어가 SQL을 기반으로 해야 한다는 우리의 비전을 공유하기 때문입니다."라고 Couchbase의 쿼리 엔지니어링 수석 아키텍트인 제럴드 상구디는 말합니다. "SQL++는 또한 사용자에게 유익한 엄격함과 완전성을 제공합니다."
실제로 Couchbase와 UCSD는 N1QL이 SQL++의 방언이라는 것을 공식적으로 확립했습니다. N1QL과 SQL++의 공식적인 매핑은 별도로 게시되고 있습니다.
협업에 참여할 다른 사람
카우치베이스 외에도 UCSD는 사용자에게 혜택을 주고 반정형 및 NoSQL 데이터베이스의 채택을 용이하게 하기 위해 다른 학계 및 업계 파트너를 쿼리 언어 협업에 초대할 예정입니다. 이미 마이크 캐리 교수가 이끄는 UC 어바인의 AsterixDB*는 SQL++의 대부분을 지원하고 있으며, 전체 SQL++를 지원하는 방향으로 나아가고 있습니다. 이 협업은 이미 중요한 언어 설계 피드백을 제공했습니다.
*키안 윈 옹, 야니스 파파콘스탄티누, 로맹 베르누, SQL++ 쿼리 언어: 구성 가능, 통합 및 반구조화, 2015년 기술 보고서, 캘리포니아 대학교 샌디에이고 캠퍼스 컴퓨터 과학 및 공학부, 2015년 4월 29일, https://arxiv.org/pdf/1405.3631v7.pdf
UC 샌디에이고 데이터베이스 그룹 소개
데이터베이스 그룹은 UC 샌디에이고의 컴퓨터 과학 및 공학부에 위치하고 있으며, 데이터베이스 및 데이터 관리 기술의 선도적인 전문가인 야니스 파파콘스탄티노우 CSE 교수가 이끌고 있습니다. 또한 2014년 가을에 신설된 데이터 과학 및 엔지니어링 전문 석사 과정의 공동 책임자이자 교수진으로 재직 중입니다. 파파콘스탄티노우는 기업가이기도 합니다. 2000년에 Enosys Software를 설립했으며, 이 회사는 2003년에 BEA Systems에 인수되었습니다. Enosys는 현재 JSON으로 빠르게 대체되고 있는 XML을 사용하여 반정형 데이터 쿼리 프로세서를 최초로 선보인 회사 중 하나였습니다. 최근에는 파파콘스탄티노우와 연구원 Kian Win Ong, Yannis Katsis, 그리고 박사 및 석사 대학원생으로 구성된 팀이 분석 애플리케이션을 위한 신속한 개발 플랫폼인 FORWARD 프로젝트에 참여하여 SQL++를 사용하여 여러 데이터베이스(SQL, NoSQL 또는 둘 다)에서 데이터의 통합 보기를 만들고 점진적으로 업데이트하는 작업을 진행했습니다. FORWARD에는 SQL++를 사용해 SQL, NoSQL, NewSQL, SQL-on-Hadoop 등 다양한 데이터 소스에 대해 분산 쿼리를 실행하는 미들웨어 쿼리 프로세서가 포함되어 있습니다. FORWARD 프로젝트의 SQL++ 기반 시각화 및 앱 개발 플랫폼은 상업적으로 배포되었습니다. FORWARD 프로젝트에 대한 자세한 정보는 https://forward.ucsd.edu/.
연락처:
더그 램지
858-822-5825
dramsey@ucsd.edu
카우치베이스 소개
카우치베이스는 데이터가 기업의 핵심이라고 믿습니다. 개발자와 아키텍트가 가장 미션 크리티컬한 애플리케이션을 구축, 배포, 실행할 수 있도록 지원합니다. Couchbase는 데이터센터와 모든 클라우드에서 실행되는 유연하고 확장 가능한 고성능의 최신 데이터베이스를 제공합니다. 세계 최대 규모의 많은 기업들이 비즈니스에 필수적인 핵심 애플리케이션을 구동하기 위해 Couchbase를 사용하고 있습니다. 자세한 내용은 다음을 참조하세요. www.couchbase.com.
미디어 연락처
제임스 김
couchbasePR@couchbase.com
카우치베이스 커뮤니케이션