QUICK REVIEW
[논문 리뷰] Yesquel: scalable SQL storage for Web applications
Marcos K. Aguilera, Joshua B. Leners|arXiv (Cornell University)|2014. 11. 08.
Advanced Database Systems and Queries참고 문헌 11인용 수 5
한 줄 요약
Yesquel은 웹 애플리케이션을 위한 확장 가능하고 SQL 호환성 있는 스토리지 시스템으로, SQL의 풍부한 쿼리 기능과 NoSQL 시스템의 성능 및 확장성을 결합한다. 이는 각 클라이언트에 쿼리 프로세서를 통합하고, 트랜잭셔널 키-값 스토리지 레이어 위에 구축된 분산 균형 트리(DBT)를 사용함으로써 달성되며, 이는 전체 SQL 지원과 효율적인 분산 실행을 제공하는 고처리량·저지연성 트랜잭션 처리를 가능하게 한다.
ABSTRACT
Based on a brief history of the storage systems for Web applications, we motivate the need for a new storage system. We then describe the architecture of such a system, called Yesquel. Yesquel supports the SQL query language and offers performance similar to NOSQL storage systems.
연구 동기 및 목표
- 고성능·저지연 워크로드를 처리하는 현대 웹 애플리케이션에서 전통적인 SQL 데이터베이스의 확장성 및 성능 한계를 해결한다.
- NoSQL 시스템에서 기능성과 확장성 간의 상충 관계를 극복하기 위해 성능을 희생시키지 않은 채 전체 SQL 지원을 제공한다.
- 표준화된 SQL 인터페이스를 통해 애플리케이션의 스토리지 시스템 간 이식성을 보장함으로써 벤더 종속성을 제거한다.
- 복잡한 중앙 집중식 조율 또는 하드웨어 시계를 의존하지 않고도 분산 트랜잭션과 확장 가능한 쿼리 처리를 지원하는 시스템을 설계한다.
- 웹 워크로드에서 흔히 발생하는 소규모·빈번한 쿼리의 효율적이고 저지연 실행을 위해 쿼리 처리를 스토리지 레이어와 밀접하게 통합한다.
제안 방법
- 각 애플리케이션 인스턴스에 경량의 클라이언트 측 쿼리 프로세서를 통합하여 쿼리 처리 용량을 수평적으로 확장한다.
- 로드 밸런싱과 성능 향상을 위해 여러 스토리지 서버에 분산된 노드를 갖는 분산 균형 트리(DBT) 데이터 구조를 기본 스토리지 엔진으로 사용한다.
- 최하위 레벨에서 분산 ACID 트랜잭션을 제공하는 트랜잭셔널 키-값 스토리지 시스템 위에 DBT를 구축한다.
- 분산 트랜잭션을 활용해 모든 DBT 작업에 대해 일관성과 격리성을 보장함으로써 효율적이고 정확한 동시 접근을 가능하게 한다.
- SQL 쿼리를 DBT에 대한 연산으로 매핑하고, 이를 최하위 트랜잭셔널 스토리지 레이어의 키-값 연산으로 변환한다.
- 특수 하드웨어 시계가 필요 없는 분산 트랜잭션 프로토콜을 설계하여 구현의 용이성과 인fra구조 복잡성 감소를 도모한다.
실험 결과
연구 질문
- RQ1SQL 기반 스토리지 시스템이 NoSQL 시스템과 유사한 성능을 달성하면서도 전체 SQL 기능을 유지할 수 있는가?
- RQ2분산 트랜잭션을 B-트리 유사 데이터 구조에 효율적으로 통합하여 일관성과 확장성을 확보할 수 있는가?
- RQ3어떤 아키텍처 패턴이 쿼리 처리의 수평적 확장성과 분산 스토리지 노드 간의 효율적 조율을 동시에 가능하게 하는가?
- RQ4클라이언트에 쿼리 프로세서를 통합함으로써 전체 시스템의 병목 현상을 얼마나 줄일 수 있고, 웹 스케일 워크로드에서 처리량을 얼마나 향상시킬 수 있는가?
- RQ5기존 RDBMS가 분산 환경에서 일반적으로 겪는 성능 저하를 피하면서도 전체 SQL 지원을 제공할 수 있는가?
주요 결과
- Yesquel은 전체 SQL 쿼리 언어를 지원하면서도 NoSQL 키-값 시스템과 유사한 성능을 달성하여 조인, 집계, 보조 인덱스와 같은 풍부한 연산을 가능하게 한다.
- 임베디드 쿼리 프로세서 아키텍처 덕분에 시스템의 쿼리 처리 용량이 클라이언트 수에 따라 선형적으로 증가하며, 중앙 집중형 병목 현상을 방지한다.
- 분산 트랜잭션을 최하위 레이어에 두어 DBT가 일관성을 확보하기 위한 트랜잭션 보장을 활용할 수 있게 되었으며, 이는 정확성 향상과 데이터 관리의 단순화를 도모한다.
- 특수 하드웨어 시계에 의존하지 않아 표준 데이터 센터 환경에서 쉽게 배포 가능하며 정밀한 시간 동기화가 필요하지 않다.
- 표준 SQL을 인터페이스로 사용함으로써 애플리케이션을 다른 시스템 간 이식하기 위해 최소한의 수정만으로도 벤더 종속성을 줄일 수 있다.
- 클라이언트 측 쿼리 처리와 트랜잭셔널 키-값 기반 구조의 조합 덕분에 웹 애플리케이션에서 흔히 발생하는 소규모·빈번한 쿼리의 저지연 실행이 가능해진다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.