CDC(Change Data Capture)는 데이터베이스의 변경 사항을 시간 순으로 추적하고, 다른 시스템에 반영하거나 복사할 때 사용되는 기술입니다. ETL, 마이그레이션, 백업, 시스템 통합, 데이터 복구 등 다양한 분야에서 널리 활용됩니다.
1. Oracle CDC
- 권장: 기업용 고성능 CDC 기능 (Oracle GoldenGate)
- 지원: LogMiner, GoldenGate, XStream
- 특징:
- LogMiner: Oracle Redo Log 기반 분석
- GoldenGate: 복잡한 CDC 구성 가능, 빠른 성능, 안정성 우수
- 평가:
- 시스템 아키텍처와 비즈니스 요구에 따라 유연한 구성 가능
- 대규모 트랜잭션 처리에 최적화, 고가이지만 신뢰성 높음
2. PostgreSQL CDC
- 권장: 안정적이고 검증된 logical replication 지원
- 지원: Logical decoding (PostgreSQL 10 이상), pgoutput 플러그인
- 특징:
- 특정 테이블 단위의 논리적 복제 가능
- WAL(Write-Ahead Log)을 기반으로 변경 사항 추적
- 평가:
- Kafka, Debezium 등과의 연동이 활발
- 오픈소스 생태계와의 통합성이 뛰어남
3. MySQL CDC
- 권장: 다양한 binlog 포맷을 활용한 CDC 구성 가능
- 지원: MySQL binlog (ROW/STATEMENT/MIXED 모드)
- 특징:
- Debezium, Maxwell 등의 CDC 도구와 잘 연동됨
- Kafka, Flink, Airbyte 등과 통합 가능
- 평가:
- 구축 난이도가 낮고, 활용 사례가 많아 실무 적용이 용이함
4. MariaDB CDC
- 권장: MySQL과 유사하지만, 일부 도구에서 완전한 지원은 어려움
- 지원: binlog 사용 가능 (10.x 이상)
- 특징:
- Debezium은 공식적으로 MariaDB를 완전 지원하지 않음 (MySQL 커넥터로 우회 가능)
- Maxwell은 일부 버전에서 동작 가능
- SymmetricDS와 같은 CDC 도구로 연동 가능하지만 설정이 복잡할 수 있음
- 평가:
- 환경 설정과 호환성에 따라 신중한 테스트 필요
요약 비교
DB | CDC 구성 방식 | 권장 포인트 | 실무 평가 |
Oracle | LogMiner, GoldenGate | 고성능, 고객지원 우수 | 안정성 최고, 비용 높음 |
PostgreSQL | Logical Replication | 검증된 오픈소스 방식 | Kafka, Debezium 등과 잘 연동됨 |
MySQL | Binlog 기반 | 설정 간단, 다양한 도구와 연동 가능 | Debezium, Maxwell 등과 안정적 연동 |
MariaDB | MySQL 유사 binlog 기반 | 비공식 도구 연동 가능 | Debezium 미지원, 환경 설정 주의 필요 |
CDC가 필요한 목적이 무엇인지에 따라 적절한 도구와 방식이 달라집니다. 실시간 동기화가 필요한 경우에는 GoldenGate나 Debezium과 같은 고성능 CDC 도구가 적합하며, 비교적 간단한 ETL 또는 변경 추적이라면 PostgreSQL이나 MySQL의 논리적 복제 기능도 충분히 효과적입니다.