Skip to main content
QUICK REVIEW

[논문 리뷰] LogBase: A Scalable Log-structured Database System in the Cloud

Hoang Tam Vo, Sheng Wang|arXiv (Cornell University)|2012. 06. 30.
Advanced Data Storage Technologies참고 문헌 28인용 수 5
한 줄 요약

LogBase는 모든 데이터를 단일 로그에 저장함으로써 왕기 성능 저하를 제거하는 클라우드 네이티브, 로그 구조 데이터베이스 시스템입니다. 이는 고속 왕기 처리와 빠른 복구를 가능하게 하며, 메모리 기반 다중 버전 인덱스를 사용해 효율적인 데이터 접근과 트랜잭션 처리를 지원합니다. 이는 HBase 및 디스크 기반 로그 구조 시스템보다 왕기 확장성과 복구 효율성에서 뛰어난 성능을 보입니다.

ABSTRACT

Numerous applications such as financial transactions (e.g., stock trading) are write-heavy in nature. The shift from reads to writes in web applications has also been accelerating in recent years. Write-ahead-logging is a common approach for providing recovery capability while improving performance in most storage systems. However, the separation of log and application data incurs write overheads observed in write-heavy environments and hence adversely affects the write throughput and recovery time in the system. In this paper, we introduce LogBase - a scalable log-structured database system that adopts log-only storage for removing the write bottleneck and supporting fast system recovery. LogBase is designed to be dynamically deployed on commodity clusters to take advantage of elastic scaling property of cloud environments. LogBase provides in-memory multiversion indexes for supporting efficient access to data maintained in the log. LogBase also supports transactions that bundle read and write operations spanning across multiple records. We implemented the proposed system and compared it with HBase and a disk-based log-structured record-oriented system modeled after RAMCloud. The experimental results show that LogBase is able to provide sustained write throughput, efficient data access out of the cache, and effective system recovery.

연구 동기 및 목표

  • 금융 거래 및 웹 로깅과 같은 왕기 중심 클라우드 애플리케이션에서 발생하는 왕기 성능 저하 문제를 해결하기 위해.
  • 변동하는 워크로드를 처리하기 위해 공용 클라우드 클러스터에서 동적이고 탄력적인 확장성을 제공하기 위해.
  • 역사적 데이터에 대한 분석 쿼리에 대해 효율적인 다중 버전 데이터 접근을 지원하기 위해.
  • 여러 레코드에 걸친 읽기-쓰기 연산을 묶어 트랜잭션 처리 의미를 제공하기 위해.
  • 메모리 기반 데이터 구조에 의존하지 않고도 머신 장애 후 빠른 시스템 복구를 달성하기 위해.

제안 방법

  • 모든 왕기 작업을 단일 로그 파일에 순차적으로 추가하는 로그 전용 저장 모델을 채택하여, 인-place 업데이트를 제거하고 디스크 I/O를 줄입니다.
  • 로그에 저장된 데이터에 대한 효율적인 포인트 쿼리와 범위 스캔을 가능하게 하기 위해 메모리 기반 다중 버전 인덱스를 사용합니다.
  • 체크포인트 및 로그 재생을 구현하여 시스템 복구를 빠르게 하며, 전체 로그 스캔을 피함으로써 복구 시간을 단축시킵니다.
  • 다중 레코드 읽기-수정-쓰기 트랜잭션의 일致성을 보장하기 위해 스냅샷 격리(Snapshot Isolation)를 지원합니다.
  • 데이터 파artitioning을 활용한 분산 아키텍처를 통해 공용 클러스터에서 동적으로 시스템을 확장합니다.
  • 기록의 역사적 버전을 클러스터링하기 위해 로그 압축(Log Compaction)을 사용하여 스캔 시 인덱스 검사 횟수를 최소화합니다.

실험 결과

연구 질문

  • RQ1로깅 전용 저장 모델이 왕기 중심 클라우드 워크로드에서 왕기 성능 저하를 완전히 제거할 수 있는가?
  • RQ2로깅 전용 저장 방식은 WAL+Data 및 메모리 기반 시스템과 비교해 왕기 처리량과 복구 시간 측면에서 어떻게 성능을 내는가?
  • RQ3데이터가 로그에만 저장되어 있을 때 메모리 기반 다중 버전 인덱스가 데이터 접근을 효율적으로 지원할 수 있는가?
  • RQ4체크포인트 기법이 디스크 기반 로그 구조 시스템에서 시스템 복구 성능을 얼마나 향상시킬 수 있는가?
  • RQ5LogBase는 다수의 노드에서 왕기 처리량과 쿼리 성능 측면에서 어떻게 확장되는가?

주요 결과

  • LogBase는 순차적 로그 왕기로 인해 랜덤 I/O를 제거함으로써 지속적인 고속 왕기 처리를 달성하여, 왕기 중심 워크로드에서 HBase 및 디스크 기반 시스템을 능가합니다.
  • 체크포인트 기반 복구는 전체 로그 재생보다 훨씬 빠르며, 전체 로그 스캔을 피함으로써 복구 시간을 크게 단축시킵니다.
  • 데이터 파일 업데이트가 없고 I/O 오버헤드가 줄어들어, 전통적인 WAL+Data 시스템보다 LogBase가 더 빠른 복구 성능을 보입니다.
  • 메모리 기반 다중 버전 인덱스의 사용으로, 장시간의 테일 쿼리에 대해서도 성능 저하가 최소화되어 로그 내 데이터에 효율적으로 접근할 수 있습니다.
  • 로그 압축 이후 인덱스 검색 오버헤드가 감소함에 따라 LogBase의 순차 스캔 성능은 LRS(L1evelDB 기반 시스템)를 초월합니다.
  • 클러스터 크기에 따라 처리량이 효과적으로 확장되어, 동적 클라우드 환경에서 강력한 수평 확장성을 입증합니다.

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

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

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

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