http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
키-값 저장소를 위한 효율적인 로그 처리 기법 설계 및 평가
한혁 한국콘텐츠학회 2019 한국콘텐츠학회논문지 Vol.19 No.5
키-값 스토리지 엔진은 소셜 네트워크, 온라인 전자 상거래 환경 및 클라우드 서비스를 포함한 많은 컴퓨팅 환경에서 점점 더 수요가 증가하고 있는 필수적인 구성 요소다. 최근 키-값 스토리지 엔진은 트랜잭션, 버전 관리 및 복제를 비롯한 많은 기능을 제공한다. 키-값 스토리지 엔진에서 트랜잭션 처리는 로그 선행 기입을 사용하여 원자성을 제공하며, 동기식 커밋 방식에서는 트랜잭션이 완료되기 전에 로그 데이터를 플러시한다. 그러나 로그 선행 기입에서 로그 데이터를 저장 장치로 플러시하는 것은 다양한 최적화 기법이 제안되었음에도 불구하고 여전히 fsync() 호출에 큰 오버헤드가 존재하고 있기 때문에 키-값 스토리지 엔진의 성능 병목이다. 이 논문에서는 기존 플러싱 체계를 최적화하기 위해 그룹 동기화 기법을 제안하여 키-값 스토리지 엔진의 성능을 개선한다. 또한, fsync()를 수행하는 동안에 다른 트랜잭션을 수행하는 트랜잭션 스케줄링 기법을 제안한다. 이 체계는 기존 시스템이 제공하는 동일한 트랜잭션 수준을 지원하면서 fsync() 호출의 수를 줄이는 효율적인 방법이다. 우리는 WiredTiger 스토리지 엔진에 제안하는 방법을 구현하였다. 실험 결과는 제안된 시스템이 기존 시스템에 비해 키-값 워크로드의 성능을 향상시킨다는 것을 보여준다. Key-value storage engines are an essential component of growing demand in many computing environments, including social networks, online e-commerce, and cloud services. Recent key-value storage engines offer many features such as transaction, versioning, and replication. In a key-value storage engine, transaction processing provides atomicity through Write-Ahead-Logging (WAL), and a synchronous commit method for transaction processing flushes log data before the transaction completes. According to our observation, flushing log data to persistent storage is a performance bottleneck for key-value storage engines due to the significant overhead of fsync() calls despite the various optimizations of existing systems. In this article, we propose a group synchronization method to improve the performance of the key-value storage engine. We also design and implement a transaction scheduling method to perform other transactions while the system processes fsync() calls. The proposed method is an efficient way to reduce the number of frequent fsync() calls in the synchronous commit while supporting the same level of transaction provided by the existing system. We implement our scheme on the WiredTiger storage engine and our experimental results show that the proposed system improves the performance of key-value workloads over existing systems.