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까지 자유자재로 다룰 수 있어야 합니다.

 

+ Recent posts