본문 바로가기

SOFTWARE

DBridge

DB Bridge

이기종 DBMS 간 대용량 데이터 이관을 위한 ETL 배치 엔진입니다.

v1.0.0갱신 2026-04멀티프로세스 ETL 엔진 · 6종 DB 어댑터

Architecture

구성도Source DB와 Target DB는 보안 정책상 직접 연결하지 않고 중앙 허브 엔진을 거친다. 멀티프로세스 워커 풀이 스테이지 의존성에 따라 SELECT · 변환 · INSERT를 병렬 실행하고, 메타 DB가 진행·재개를 관리한다.
핀치/휠로 확대 · 드래그로 이동 · 더블탭/더블클릭으로 리셋

해결하려는 문제

이기종 DBMS 간 데이터 이관은 일회성 마이그레이션이든 주기 적재든 병목이 코어 한 곳에 집중되기 쉽습니다 — 단일 커넥션의 네트워크 왕복, 클라이언트 측 메모리 한도, Long Transaction. DBridge는 테이블을 논리 단위로 N등분하고 벤더별 Server-Side Cursor로 메모리를 안정시킨 뒤 멀티프로세스로 H/W 한계까지 처리량을 끌어올립니다.

지원 DBMS · 데이터스토어 (6종)

관계형 4종 + 그래프(Memgraph) + 검색(MeiliSearch). 각 벤더의 특성에 맞춰 Source/Target 어댑터를 분리 구현 — "모든 DB를 동일하게 보지 않는다".

구성요소

ETL/ELT 모델

DBridge는 Transform을 타깃 DBMS의 SQL에 위임합니다. 컬럼 매핑·필터·집계·Join은 메타 쿼리 정의의 SELECT 쿼리에 정의하고, 엔진은 데이터 타입 변환·NULL 정규화·LOB 처리만 담당합니다.

이는 시각적 매퍼 GUI 대신 SQL 그대로 쓰는 ELT 패턴입니다. 타깃 DB 옵티마이저의 실행 계획을 그대로 살리고, 프로젝트별로 변형이 큰 비즈니스 규칙은 SQL 레이어에 박아 엔진을 손대지 않는 설계 — 그래서 "프로젝트별 하드코딩 금지" 원칙이 코어에 그대로 유지됩니다.

실측 처리량

단일 프로세스 (INSERT)
~10,000 rows/sec (네트워크 병목)
10 병렬 프로세스 (Split INSERT)
~80,000 rows/sec
1억 row 이관 (10 병렬)
약 16분
1억 row CSV Export (10 병렬)
약 2분 (수동 Import 별도)

출처 — 내부 측정 (Oracle 19c · PostgreSQL 17 단일 박스 환경, 표준 INSERT 기준). 적재 대상·인덱스·트리거 구성에 따라 달라질 수 있습니다.

운영 / 안정성

운영 콘솔 예시

배치 진행률·실패 행·처리량 추이를 한 화면에서 다루는 운영 UI 구성의 예시(MOCKUP)입니다. 실제 프로젝트 도입 환경에 맞춰 구성합니다.

DBridge Console — Operations MOCKUP
실행중
12
대기
34
성공
1,284
실패
3
처리량 (rows/sec) · 최근 60분 peak 84,210
진행 중 작업 표시 5 / 전체 49
작업 ID 상태 스테이지 진행 경과
BT_USER_HIST_2024 running 2 / 4 6.4M / 12.0M 04:21
BT_TXN_LOG_RANGE_03 running 3 / 4 1.2M / 3.0M 01:08
BT_DOC_INDEX_MEILI queued 0 / 2
BT_GRAPH_REL_LOAD success 4 / 4 8.9M / 8.9M 12:47
BT_LEGACY_HWPX_BLOB failed 2 / 3 0.8M / 4.5M 03:12
※ 시안 — 실제 화면은 시안과 다를 수 있습니다.

사양

버전
v1.0.0
라이선스
비공개 (내부 프로젝트)
런타임
멀티프로세스 ETL 엔진 · 6종 DB 어댑터
메타 저장
PostgreSQL 18 (배치 규칙 · 실행 이력 등 메타 테이블)
배포 형태
Docker compose · 단일 박스 · 폐쇄망 전제
진입점
CLI 배치 (`app/main.py`) — exit code 0/1로 외부 cron 연계
운영 UI
계획 단계 (시안 — 위 §운영 콘솔 참조)
마지막 갱신
2026-04

추가 측정값(메모리 풋프린트·CPU 점유·동시 배치 한계 등)은 위 실측 처리량에 측정 환경과 함께 명시되어 있습니다.

보안 · 컴플라이언스

라이선스
비공개 (README "내부 사용 목적")
운영 전제
폐쇄망 — 외부 네트워크 의존 없음, 단일 박스 배치
데이터 안전
Source DB 읽기 전용, Target DB INSERT 전용 — Source 변경 금지
잠금 · 복구
PID + DB 이중 Lock, Stale Lock 자동 정리, 다층 타임아웃
실패 격리
스테이지 단위 재시도, 실패 행 별도 적재
기술 지원
프로젝트별 전담 기술 조직을 배정하고, 장애 모니터링과 지원 채널을 운영합니다.

도입 · 시작하기

  1. 요건 검토 — 원본/목적 DBMS 종류·테이블 규모·이관 윈도우·네트워크
  2. 매핑 정의 — 메타 테이블(배치 규칙·메타 쿼리 정의)에 스테이지·테이블·분할 정책 등록
  3. 리허설 → 본 이관 — 부분 → 전체, 검증 후 운영 전환

도입을 검토하고 계신가요?

고객 요건과 운영 환경에 맞춰 구성·도입 절차를 안내해 드립니다. 데모·제안 요청은 문의로 받습니다.