카카오, MySQL 데이터 전송 및 샤드 재분배용 오픈소스 'ADT' 공개
·2016.06.27 00:00
핵심 내용
MySQL 데이터 수집부터 타 DB 적재까지 지원하며, 샤드 재분배용 커스텀 핸들러는 현재 검증 단계다.
자세히 보기
카카오가 MySQL 데이터를 수집하여 다른 DB로 전송하거나 가공할 수 있는 오픈소스 도구 **ADT(Almighty Data Transmitter)**를 공개했다. 이 도구는 **CDC(Change Data Capture)**와 ETL 기능이 결합된 형태로, 샤드 재분배나 사딩 규칙 변경 시 데이터를 효율적으로 이동시키기 위해 개발되었다.
주요 기능 및 활용
ADT는 Table Crawler와 Binary Log Receiver를 통해 MySQL의 기존 데이터와 실시간 변경 데이터를 수집한다. 수집된 데이터는 사용자가 구현한 Custom Handler로 전달되어 다양한 용도로 활용될 수 있다.
- 1회성 마이그레이션: 샤드 데이터 재분배, 스키마 변경, OLAP DB로의 일일 데이터 복사 등
- 실시간 마이그레이션: NoSQL로의 데이터 복사를 통한 읽기 부하 분산, 특정 이벤트 감지 시 푸시 알림 전송, GPS 기반 샤드 재구성 등
적용 사례 및 향후 계획
현재까지의 적용 사례로는 테이블 스키마가 대폭 변경되어 ALTER TABLE로는 처리가 불가능했던 서비스의 마이그레이션 작업이 있다. ADT 초기 버전을 활용해 서비스 무정지 변경은 불가능했으나 데이터 이관은 성공적으로 완료했다. 핵심 목표인 샤드 재분배용 커스텀 핸들러는 현재 DB 엔지니어들과 함께 안정성 및 정합성 검증 단계를 진행 중이다. 현재는 MySQL만 지원하지만, 향후 다른 DB 지원 확대를 위해 오픈소스 커뮤니티의 기여를 환영하고 있다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.