1. 도입: 왜 단순 이행을 넘어 'Airflow'와 'MyDumper'인가?
통합 프로젝트를 수행하는 DA(Data Architect)에게 이행은 단순한 복사가 아닌 '데이터 재구성'의 과정입니다.
우리는 Oracle, Tibero, PostgreSQL, MySQL, MongoDB 등 다기종 DB를 넘나들며 데이터를 표준화해야 합니다.
이때 Airflow는 전체 공정을 관리하고, MyDumper는 MySQL 간 대용량 데이터를 초고속으로 이행하게 됩니다.
2. 리눅스 환경별 Airflow & MyDumper 설치 절차
터미널에 한 줄씩 입력하여 설치를 완료할 수 있는 가이드입니다.
■ Ubuntu (우분투) 설치
Bash
# 1. 시스템 업데이트 및 필수 패키지 설치
sudo apt update
sudo apt install -y python3-pip python3-dev python3-venv libmysqlclient-dev mydumper
# 2. 가상환경 생성 및 활성화
mkdir ~/airflow_home
cd ~/airflow_home
python3 -m venv airflow_venv
source airflow_venv/bin/activate
# 3. Airflow 설치
pip install "apache-airflow[postgres,mysql,oracle,amazon,mongo,crypto]==2.7.1"
■ RHEL (레드햇) 설치
Bash
# 1. 필수 패키지 및 MyDumper 설치
sudo dnf install -y python39-devel mysql-devel openssl-devel libffi-devel gcc
sudo dnf install -y https://github.com/mydumper/mydumper/releases/download/v0.14.3-1/mydumper-0.14.3-1.el8.x86_64.rpm
# 2. 가상환경 생성 및 활성화
mkdir ~/airflow_home
cd ~/airflow_home
python3.9 -m venv airflow_venv
source airflow_venv/bin/activate
# 3. Airflow 설치
pip install "apache-airflow[postgres,mysql,oracle,amazon,mongo,crypto]==2.7.1"
■ 서비스 초기화 및 실행 (공통)
Bash
export AIRFLOW_HOME=~/airflow_home
airflow db init
# 관리자 계정 생성 (아이디: admin / 비번: admin)
airflow users create --username admin --firstname DA --lastname Master --role Admin --email admin@example.com --password admin
# 서비스 백그라운드 실행
airflow webserver -p 8080 -D
airflow scheduler -D
3. DA의 이행 전략: 상황별 최적의 도구 선택
DA는 데이터의 성격에 따라 Airflow(Python/SQL)와 MyDumper를 적절히 섞어 써야 합니다.
| 이행 시나리오 | 권장 도구 | DA의 핵심 역할 |
| MySQL → MySQL (대용량) | MyDumper / MyLoader | 병렬 스레드(Thread) 최적화를 통한 다운타임 최소화 |
| Oracle/Tibero → MySQL | Airflow (Python ETL) | NUMBER → DECIMAL 등 타입 변환 및 암호화 로직 적용 |
| RDBMS → MongoDB | Airflow (Python ETL) | 관계형 데이터를 JSON Document 구조로 재설계(Mapping) |
| 전체 공정 관리 | Airflow (DAG) | 1,000개 테이블의 이행 순서 제어 및 완료 후 건수 검증 자동화 |
4. MyDumper 활용 팁: 왜 mysqldump보다 좋은가?
- 멀티 스레드: 데이터를 여러 줄기로 동시에 뽑아내어 속도가 압도적으로 빠릅니다.
- 파일 분할: 테이블을 여러 개의 작은 파일로 쪼개어 관리하므로 복구가 쉽습니다.
- Airflow 연동: Airflow의 BashOperator를 통해 MyDumper 명령어를 실행하면, 대용량 이행 조차 전체 자동화 파이프라인의 일부가 됩니다.
5. 결론: 다기종 DB 시대를 준비하는 자세
이제 DA는 모델링만 하는 사람이 아닙니다. Airflow로 복잡한 흐름을 제어하고, MyDumper로 물리적 속도를 확보하며, 다양한 Provider를 통해 Oracle부터 MongoDB까지 자유자재로 다룰 수 있어야 합니다.
'Database > 데이터이행' 카테고리의 다른 글
| Airflow를 활용한 MySQL to MySQL 데이터 이행 가이드: 상황별 3가지 최적 패턴 (0) | 2026.03.19 |
|---|---|
| 대용량 CLOB 데이터 처리와 Swap Memory: 서버 중단 (0) | 2026.03.19 |
| 통합 프로젝트 환경에서의 데이터 거버넌스 수립 및 통제 전략 (0) | 2026.03.15 |
| 데이터 통합 프로젝트, DA에게 '이행 산출물'은 단순한 서류가 아닌 이유 (0) | 2026.03.15 |
| 통합 프로젝트 DA의 고민: 이기종 DB 데이터 이행, 어떤 도구가 정답일까? (ETL vs Airflow vs JDBC) (0) | 2026.03.15 |