L
LY Corp
August 26, 20241회
Kafka와 ETL을 활용해 대용량 데이터 마이그레이션하기

간단 소개
Kafka와 ETL을 활용하여 MySQL에서 MongoDB로 대용량 데이터베이스를 성공적으로 마이그레이션한 경험 공유.
AI Summary
- 마이그레이션 배경 및 목표
- 10억 개 이상 상품, 26억 개 이상 이미지 관리로 인한 MySQL 디스크 공간 부족 및 스키마 변경 어려움 발생
- MongoDB의 샤딩을 통한 확장성, 스키마리스 특성을 활용하여 안정적인 DB 구축 목표
- 마이그레이션 전략 및 과정
- ETL 데이터와 **CDC(Change Data Capture)**를 활용한 MySQL과 MongoDB 간 데이터 동기화
- hive-to-kafka 모듈을 이용해 ETL 데이터를 Kafka 메시지로 발행, 메시지 압축을 통해 Kafka 브로커 부담 감소 (lz4 압축 방식, linger.ms 3000, batch.size 16384 설정)
- MongoDB 샤딩 시 범위 기반 샤딩과 해시 샤딩 고려, rand() 함수를 이용해 삽입되는 문서 키를 무작위로 생성하여 청크 부하 분산
- 초기 청크 사전 생성, 쓰기 고려(Write Concern) 설정 (W2) 및 TransactionManager 설정
- 마이그레이션 결과 및 고려 사항
- MySQL 디스크 공간 확보 (2.17TB), 스키마 변경 용이성 확보, 이미지 개선 작업 진행
- 마이그레이션 후 롤백 가능하도록 MongoDB CDC를 이용한 MySQL 동기화 파이프라인 구축
- 데이터 크기가 작다면 Kafka Connect를 활용한 간소화된 마이그레이션 프로세스 구축 가능
Next Feeds

이걸 진짜 만든다고요? 세상에 없던 게임, 샐러드게임 | 1편. BX
뱅크샐러드의 샐러드게임 개발 과정과 BX 디자인 스토리를 담고 있으며, 사용자 경험을 위한 디자인적 고민과 해결 과정을 보여준다.
샐러드게임뱅크샐러드BX 디자인사용자 경험게임 개발
2024. 8. 23.
뱅크샐러드

이걸 진짜 만든다고요? 세상에 없던 게임, 샐러드게임 | 2편. UX
샐러드게임의 UX 디자인 과정과 협동 미션, 뿅망치 기능, 채팅 기능 도입을 통해 사용자 경험을 개선하고 게임의 재미를 더했다.
샐러드게임UX 디자인협동 미션뿅망치온보딩
2024. 8. 23.
뱅크샐러드
사내 기술 공유 슬랙봇 앙몬드 개발기
사내 기술 공유 활성화를 위한 슬랙봇 '앙몬드' 개발 과정과 주요 기능, 개발팁, 그리고 회고를 담고 있습니다.
슬랙봇기술 공유자동화TIL사이드 프로젝트
2024. 8. 22.
카카오페이

Android 온스타일 홈탭 스크롤 속도 개선 Mission Possible
온스타일 앱 홈탭 스크롤 성능 개선을 위해 비디오 처리, 데이터 로딩, 비동기 API 호출 방식을 최적화하여 사용자 경험을 향상시켰습니다.
Android온스타일스크롤 성능ExoPlayer비동기 API
2024. 8. 22.
CJ온스타일
치핑 시뮬레이션 개발 이야기
차량 치핑 현상 분석 및 시뮬레이션 개발 과정을 통해 차량 내구성 및 디자인 개선에 기여한 사례를 소개한다.
치핑시뮬레이션역공학내구성디자인
2024. 8. 22.
현대자동차

(youtube)Event Streaming 도입과 앞으로의 활용
29CM의 Event Streaming 도입 배경과 효과, 그리고 향후 활용 방안을 소개하고 채용 정보를 제공합니다.
Event Streaming29CM실시간 데이터Architecture Manifesto채용
2024. 8. 21.
29cm