devmoa

TrailDB to Ziegel(Cgo to Go)

AB180·2022년 11월 28일·00
스토리지 엔진GoC++OLAP성능 개선마이그레이션

AI 요약

Beta

AB180은 자체 OLAP 데이터베이스인 Luft의 데이터 저장을 위해 사용하던 오픈소스 스토리지 엔진 TrailDB를 직접 개발한 Ziegel로 교체한 과정을 공유합니다. 기존 TrailDB는 2019년 개발 중단으로 인한 성능 및 생산성 문제, 비효율적인 멀티코어 활용, Row 단위 데이터 저장 방식, 그리고 Go(Luft)와 C++(TrailDB)라는 두 가지 언어 사용으로 인한 개발 비효율 등의 단점을 가지고 있었습니다.

이러한 문제를 해결하기 위해 AB180은 5단계의 마이그레이션 작업을 수행했습니다. 정합성 검증을 위한 테스트 추가, 엔진 교체 인터페이스 구현, 스토리지 엔진(Ziegel) 구현 및 안정화, 성능 최적화 및 프로덕션 적용, 그리고 최종적으로 TrailDB 의존성 제거 과정을 거쳐 성공적으로 스토리지 엔진을 교체했습니다.

이 과정을 통해 인덱싱 소요 시간을 절반으로 줄이고 쿼리 성능 저하를 최소화하는 등 성능 향상을 달성했습니다.

이 글이 궁금하신가요?

원문 블로그에서 전체 내용을 확인해 보세요

원문 읽으러 가기

AI 추천 연관 게시글

이 글과 관련된 다른 기술 블로그 글을 AI가 추천합니다