승인된 범위만 실행

파이프라인 버전을 봉인하면 SQL과 매핑 해시가 묶여 임의로 바꿀 수 없습니다. 승인자는 유효 기간, 대상 테이블, 최대 행 수와 삭제 비율 한도를 보고 승인합니다. 실제 한도는 봉인 값과 시스템 관리자가 정한 조직 상한 중 작은 쪽을 따릅니다. 실행할 때는 배치마다 남은 허가량을 확인해 한도를 넘는 쓰기를 막습니다.
Features

파이프라인 버전을 봉인하면 SQL과 매핑 해시가 묶여 임의로 바꿀 수 없습니다. 승인자는 유효 기간, 대상 테이블, 최대 행 수와 삭제 비율 한도를 보고 승인합니다. 실제 한도는 봉인 값과 시스템 관리자가 정한 조직 상한 중 작은 쪽을 따릅니다. 실행할 때는 배치마다 남은 허가량을 확인해 한도를 넘는 쓰기를 막습니다.

목적지에 데이터가 들어갔는지 알 수 없는 구역은 쓰기를 멈춥니다. 배치는 반영 완료, 미반영, 미확정으로 나누며 미확정이 남아 있으면 쓰기를 다시 시작할 수 없습니다. 멈춘 배치가 차지한 용량은 반영 여부가 밝혀질 때까지 비워지지 않고 체크포인트도 멈춥니다. 운영자는 상태 확인, 복구 요청, 담당자 지정 중에서 다음 조치를 고릅니다.

목적지에 옮긴 데이터는 행 수, 키 범위 해시, 표본을 함께 대조해 맞는지 봅니다. 원본 기준선, 매핑 규칙, 동등성 프로파일, 대상 범위 해시가 모두 맞아야 검증 통과로 기록합니다. 표본 검증이 전체 일치를 뜻하지는 않으므로 테이블별 전수 비교 여부를 따로 남깁니다. 검증이 어긋나면 값이 다른 행과 원인으로 의심되는 매핑을 함께 보여 줍니다.

이동 실행이 끝났다고 해서 전환 완료로 처리하지 않습니다. 외부 시스템이 보낸 전환 확인서가 들어와야 전환 완료 상태로 바뀝니다. 확인서가 오기 전까지는 작업을 거부하지 않고 대기 상태로 둡니다. 아직 끝나지 않은 일정이나 실행이 남아 있으면 전환을 마무리할 수 없습니다.

정지한 구역은 배치별 결과에 맞춰 복구 계획을 세우고 승인을 받습니다. 이미 반영된 배치는 두고, 반영되지 않은 배치는 할당을 풀고 다시 실행합니다. 반영 여부가 모호한 배치는 업무 키를 대조해 조건부 수리를 거칩니다. 승인이 끝나면 결과 증거, 체크포인트, 쓰기 차단 해제를 정해진 순서대로 원장에 남깁니다.

로그인한 사용자가 맡은 역할에 따라 처리할 작업만 골라서 보여 줍니다. 쓰기 차단은 격리 예약이나 조직 상한 축소 같은 원인별로 묶고 바로 할 일을 알려 줍니다. 요청 목록에는 운영자가 볼 효과 확인 건과 검토자가 볼 매핑 초안을 따로 둡니다. 실행 중인 작업은 허가 상태, 반영 진행률, 검증 결과를 한 줄로 정리합니다.

AI가 코드값 연결, 타입 변경, 열 분할 초안을 만들고 사람이 하나씩 채택 여부를 정합니다. 각 제안에는 데이터 통계, 코드표, 타입 규칙 해시를 근거로 붙이며 근거가 없으면 경고가 뜹니다. SQL 문법 검사를 통과해도 실제 결과가 같다는 뜻은 아니라고 표시합니다. 이미 봉인된 버전은 고칠 수 없으므로 고친 내용은 새 초안에 담아 다시 승인받습니다.

허가가 막히면 격리 예약, 조직 상한 축소, 한도 초과의 세 가지 이유로 나누어 보여 줍니다. 격리 예약은 불확실한 배치가 용량을 쥐고 있는 상태이며, 미반영으로 밝혀지면 풀립니다. 운영자는 상태 확인, 차단 구역 조회, 새 허가 신청 중에서 다음 행동을 고릅니다. 차단은 저절로 풀리지 않으며 원인을 밝히고 근거를 남겨야 풉니다.

데이터 이관이 끝났어도 인수 증거가 모두 모이기 전에는 프로젝트를 닫지 않습니다. 인수 단계에서는 허가, 실행 결과, 목적지 검증, 서비스 전환 확인서를 차례로 맞춥니다. 남은 반복 실행 일정이나 진행 중인 작업이 하나라도 있으면 감사를 끝낼 수 없습니다. 승인자와 감사자가 모든 증거를 확인한 뒤에만 프로젝트를 완전히 끝냅니다.

시스템 관리자는 조직 전체의 처리 행 수 상한을 바꾸고 기존 허가에 미치는 영향을 미리 살핍니다. 실제 적용 한도는 봉인 값과 조직 상한 중 작은 쪽이므로 상한을 낮추면 허가 한도도 줄어듭니다. 나중에 상한을 올려도 기존 허가가 봉인 값을 넘어 저절로 늘어나지는 않습니다. 상한을 낮춘 동안 막힌 배치나 허가는 되돌려도 풀리지 않으므로 따로 푸는 길을 안내합니다.

인터넷이 끊긴 폐쇄망에서도 설치 확인부터 데이터 반입까지 모든 단계를 직접 마칩니다. 설치 단계에서는 서명, SBOM, 파일 묶음, 드라이버를 차례로 검사해 패키지 무결성을 확인합니다. 로컬 인증 서버가 멈추면 자격 증명이 유효한 시간까지만 일하고 새 작업은 받지 않습니다. 봉인 버전, 허가, 조직 상한, 신뢰 인증서가 하나라도 어긋나면 작업을 켜지 않습니다.

폐쇄망에서 만든 결과 캡슐은 무결성, 자체 점검, 독립 검증, 전달, 수락 다섯 단계를 확인해 반출합니다. 자체 점검을 모두 마쳤어도 독립 검증을 통과하기 전에는 파일이 밖으로 나가지 못하게 막습니다. 독립 검증은 깨끗한 별도 프로세스에서 따로 돌려 통과 결과를 해시로 남깁니다. 인증서를 바꾸어도 예전 캡슐의 검증 정보는 그대로 두고 취소된 서명 키가 있는지 미리 확인합니다.
설계자, 검토자, 승인자, 운영자, DBA, 감사자로 역할을 나누어 제안자가 스스로 승인하지 못하게 막습니다.
Oracle, SQL Server, PostgreSQL, MySQL, MariaDB, Tibero, CUBRID 사이에서 스키마와 데이터를 옮깁니다.
테이블, 외래키, 인덱스, 시퀀스를 바꾸는 DDL 초안을 만들고 승인을 받은 뒤에 실행합니다.
Apache Arrow 형식 배치로 데이터를 보내고 샤드별 병렬 파이프라인으로 큰 테이블을 빠르게 적재합니다.
원본 DB의 변경 로그를 계속 읽어 반영하고 목적지에 쓰기가 확정되었을 때만 원본에 확인을 보냅니다.
정적 점검부터 실제 규모 예행까지 단계를 나누어 미리 돌려 보고 그 실측치로 승인 기준을 잡습니다.
NULL과 빈 문자열, 날짜, 소수, LOB 같은 타입마다 비교 규칙을 미리 정해 검증 기준으로 삼습니다.
행 수와 해시 비교와는 별도로 외래키 관계, 합산 금액, 고유값 위반 여부를 따로 확인합니다.
서비스 중단 전환, 단계 전환, CDC 전환, 이중 기록 중에서 업무에 맞는 방식을 골라 씁니다.
실행 기록과 증거를 캡슐 파일 하나로 묶어 두고 독립된 프로세스에서 그대로 다시 검증합니다.
테이블마다 전체 교체, 추가, 갱신 삽입, 병합 중에서 알맞은 적재 방식을 정합니다.
정해진 시각에 반복 실행하되 같은 회차는 한 번만 쓰도록 막아 중복을 방지합니다.
안전한 지점에서 잠시 멈추고 저장된 체크포인트에서 작업을 이어 합니다.
제어부를 둘로 나누어 장애에 대비하고 이관 작업을 여러 워커 노드에 나누어 맡깁니다.
실행 단위마다 처리 행 수, 바이트, 지연 시간, 메모리와 CPU 사용량을 모아서 보여 줍니다.
장애나 상태 변경을 알림과 웹훅으로 바로 알리고 보내지 못하면 시간 간격을 늘려 가며 다시 보냅니다.
파이프라인 관리와 실행 제어 기능을 웹 콘솔과 CLI 양쪽에서 똑같이 씁니다.
OIDC 로그인과 RBAC 권한 관리를 항상 켜 두며 인증을 건너뛰는 모드는 두지 않습니다.
비밀번호와 인증 키는 참조 값으로만 다루고 로그나 결과 캡슐, 보고서에 남기지 않습니다.
Iceberg, BigQuery, Snowflake, Redshift, ClickHouse, S3, GCS와 데이터를 주고받습니다.
외부 HTTP 서비스와 SaaS API에서 페이지 단위로 데이터를 읽고 씁니다.
이관 전에 원본 DB 권한과 로그 보존 설정을 미리 살피며 원본 설정을 건드리지 않고 읽기만 합니다.
SBOM과 의존성을 묶은 서명 패키지로 배포하여 안전하게 설치하고 판올림합니다.
실제로 검증을 마친 DB와 드라이버 버전을 명세서에 밝히고 확인되지 않은 조합은 통과로 적지 않습니다.
기술 스택
Java 21 · Spring Boot · Apache Arrow · Debezium · gRPC · PostgreSQL · MySQL · Oracle