- 이 커넥터는 무엇인가
- 지원하는 것 한눈에
- 연결 설정
- 적재 모드 다섯 가지, 어떤 느낌으로 쌓이나
- 1. Full Refresh + Overwrite
- 2. Full Refresh + Overwrite + Deduped
- 3. Full Refresh + Append
- 4. Incremental + Append
- 5. Incremental + Append + Deduped
- MySQL CDC 와 Cursor 일반 증분 의 차이
- 삭제와 수정은 어떻게 남나
- 언제 무엇을 쓰면 좋은가
- 정리
이 커넥터는 무엇인가
Airbyte에서 여러 소스(MySQL, Postgres 등)의 데이터를 StarRocks로 적재하는 destination 커넥터입니다. Airbyte가 소스에서 읽어온 데이터를 받아 StarRocks 테이블을 자동으로 만들고 채웁니다. 데이터 엔지니어는 적재 SQL이나 파이프라인 스크립트를 직접 작성하지 않고, Airbyte 화면에서 소스와 StarRocks를 연결한 뒤 적재 모드만 고르면 됩니다.
내부적으로는 StarRocks의 고속 대량 적재 기능을 사용하고, 중복 제거가 필요하면 기본키 테이블을 만들어 적재 시점에 갱신과 삭제를 처리합니다. 사용자는 이 과정을 직접 신경 쓸 필요가 없습니다.
스크린샷 1. Airbyte의 destination 목록에서 StarRocks 커넥터가 등록되어 있는 화면.
지원하는 것 한눈에
기능 | 지원 |
전체 적재 Full Refresh | O |
증분 적재 Incremental | O |
중복 제거 기본키 기준 | O |
CDC 삽입 수정 삭제 감지 | O (소스가 CDC를 지원할 때) |
삭제 반영 Hard delete | O |
삭제 표시 보존 Soft delete | O |
변경 이력 보존 Append 로그 | O |
JSON 타입 저장 | O (옵션) |
스키마 자동 생성과 컬럼 자동 추가 | O |
연결 설정
StarRocks 연결에 필요한 값입니다. 대부분 기본값을 그대로 두면 됩니다.
항목 | 설명 |
Host | StarRocks FE 주소 |
Query Port | 쿼리와 DDL용 포트 기본 9030 |
HTTP Port | 적재용 포트 기본 8030 |
Username Password | 접속 계정 |
Database | 적재할 기본 데이터베이스 |
SSL | 보안 연결 사용 여부 |
Enable JSON | 객체 데이터를 문자열 대신 StarRocks JSON 타입으로 저장 |
CDC Deletion Mode | 삭제 처리 방식 Hard delete 또는 Soft delete |
스크린샷 2. destination 설정 폼. host, Query Port, HTTP Port, Database, Enable JSON, CDC Deletion Mode
적재 모드 다섯 가지, 어떤 느낌으로 쌓이나
Airbyte는 얼마나 읽을지 Full Refresh 또는 Incremental 와 어떻게 쌓을지 Overwrite 또는 Append 또는 Dedup 를 조합해 다섯 가지 모드를 제공합니다. 데이터가 실제로 어떻게 들어가는지 정리합니다.
1. Full Refresh + Overwrite
매번 소스 전체를 다시 읽어 대상 테이블을 통째로 교체합니다. 항상 소스와 똑같은 모습이 됩니다. 소스에서 지워진 행은 자연히 사라지고 새 행은 나타납니다. 이력은 남지 않습니다. 느낌은 지금 소스 모습 그대로의 사진 한 장입니다.
2. Full Refresh + Overwrite + Deduped
위와 같되 기본키 기준으로 중복을 제거합니다. 소스에 같은 키가 여러 번 있어도 키당 한 행만 남습니다.
3. Full Refresh + Append
매번 소스 전체를 읽어 기존 데이터 위에 계속 쌓습니다. 동기화할 때마다 같은 데이터가 누적되어 양이 빠르게 늘어납니다. 시점별 스냅샷을 모으고 싶을 때 씁니다. 느낌은 동기화할 때마다 전체 사진을 한 장씩 추가하는 것입니다.
4. Incremental + Append
지난번 이후 새로 들어온 데이터만 읽어 계속 쌓습니다. 전체를 다시 읽지 않아 가볍습니다. 무엇이 새 것인지 판단할 기준 컬럼 커서가 필요합니다. 느낌은 새로 생긴 것만 골라 뒤에 붙이는 것입니다.
5. Incremental + Append + Deduped
증분으로 읽되 기본키로 중복을 정리해 키당 최신 한 행만 유지합니다. 가장 흔히 쓰는 실시간 복제 모드입니다. 소스의 현재 상태를 가볍게 따라갑니다. 느낌은 변경분만 받아서 현재 상태를 항상 최신으로 유지하는 것입니다.
스크린샷 3. 연결 설정에서 stream별 sync mode를 고르는 화면.
모드 | 매번 전체 읽기 | 데이터 누적 | 중복 제거 | 삭제 반영 |
Full Refresh + Overwrite | O | X | X | O 교체로 |
Full Refresh + Overwrite + Dedup | O | X | O | O 교체로 |
Full Refresh + Append | O | O | X | X |
Incremental + Append | X | O | X | X |
Incremental + Append + Dedup | X | 키당 1행 | O | CDC면 선택 가능 |
MySQL CDC 와 Cursor 일반 증분 의 차이
증분 적재에는 두 가지 방식이 있고 데이터 엔지니어 입장에서 차이가 큽니다.
Cursor 일반 증분 방식은 updated_at 같은 기준 컬럼 값이 지난번보다 커진 행만 가져옵니다. 단순하고 거의 모든 소스에서 됩니다. 하지만 한계가 있습니다. 기준 컬럼이 갱신되지 않으면 변경을 놓치고, 행 삭제는 전혀 알 수 없으며 삭제된 행은 대상에 그대로 남습니다. 기준값보다 작은 값으로 뒤늦게 들어온 행도 놓칠 수 있습니다.
CDC 방식은 데이터베이스의 변경 로그 MySQL binlog 를 직접 읽어 삽입과 수정과 삭제를 모두 감지합니다. 삭제까지 잡아내고 모든 변경을 순서대로 정확히 가져옵니다. 대신 소스 데이터베이스에서 binlog 활성화 같은 사전 설정이 필요합니다.
항목 | Cursor 일반 증분 | CDC |
삽입 감지 | O | O |
수정 감지 | O 기준 컬럼 갱신 시 | O |
삭제 감지 | X | O |
변경 순서 정확성 | 제한적 | O |
소스 사전 설정 | 거의 불필요 | 필요 binlog 등 |
적합한 상황 | 추가와 갱신 위주 테이블 | 삭제까지 정확히 반영할 때 |
한 줄 요약. 삭제가 중요하면 CDC, 추가와 갱신만 다루면 Cursor로 충분합니다.
스크린샷 자리 4. 소스 MySQL 설정에서 replication method 를 CDC 또는 Standard 로 고르는 화면.
삭제와 수정은 어떻게 남나
CDC를 켰을 때 모드별로 삭제와 수정이 어떻게 다뤄지는지 정리합니다.
모드 | 삽입 INSERT | 수정 UPDATE | 삭제 DELETE |
CDC + Append | 새 행 추가 | 새 행 추가 이력 보존 | 삭제 표시 행 추가 이력 보존 |
CDC + Dedup Hard delete | 최신 반영 | 최신으로 덮어씀 | 행 제거 |
CDC + Dedup Soft delete | 최신 반영 | 최신으로 덮어씀 | 행 유지 후 삭제 시각 표시 |
Hard delete 는 소스에서 지운 행을 대상에서도 실제로 지웁니다. 대상이 항상 소스의 현재 모습과 같습니다.
Soft delete 는 행을 지우지 않고 삭제됨 표시 즉 삭제 시각 컬럼만 남깁니다. 살아있는 행만 보려면 삭제 시각이 비어 있는 행만 조회하면 됩니다. 삭제 사실 자체를 기록으로 남기고 싶을 때 좋습니다.
이력 보존 Append 는 삽입과 수정과 삭제 모든 변경이 각각 한 행으로 쌓입니다. 한 키의 과거 변화를 전부 추적할 수 있어 감사 로그나 변경 이력 분석에 적합합니다. 예를 들어 한 행의 이름을 두 번 바꾸면 대상에는 원본과 첫 번째 수정본과 두 번째 수정본이 모두 각각의 변경 시각과 함께 남습니다.
실측 결과. Soft delete 모드에서 소스의 한 행(키 15)을 삭제하고 동기화한 뒤 StarRocks를 조회한 결과입니다. 삭제된 행이 사라지지 않고 _ab_cdc_deleted_at 에 삭제 시각이 찍힌 채 그대로 남아 있습니다.
n_nationkey n_name _ab_cdc_deleted_at
15 MOROCCO 2026-06-24T12:20:09Z (삭제 표시됨)
total 20 행, 살아있는 행(_ab_cdc_deleted_at IS NULL) 19 행, 삭제 표시 1 행실측 결과. CDC Append 모드에서 한 행(키 0)의 이름을 두 번 바꾼 뒤 조회한 결과입니다. 원본과 두 번의 수정본이 각각 변경 시각과 로그 위치와 함께 모두 남아 변경 이력이 됩니다.
n_name _ab_cdc_updated_at _ab_cdc_log_pos
UPDATED-ALGERIA 2026-06-24T11:03:58Z 10082
HIST-A 2026-06-24T12:24:21Z 11420
HIST-B 2026-06-24T12:24:23Z 11885언제 무엇을 쓰면 좋은가
목적 | 추천 모드 |
소스 현재 상태를 그대로 미러링 | Full Refresh + Overwrite 또는 CDC + Dedup Hard |
대용량 테이블을 가볍게 최신 유지 | CDC + Dedup |
삭제 사실을 기록으로 남기기 | CDC + Dedup + Soft delete |
모든 변경 이력 수정 포함 추적 | CDC + Append |
단순 추가형 로그나 이벤트 테이블 | Incremental + Append Cursor로도 충분 |
작은 차원 테이블 전체 갱신 | Full Refresh + Overwrite |
정리
이 커넥터는 소스 데이터를 StarRocks로 자동 적재하며 적재 방식만 고르면 됩니다. 다섯 가지 모드로 전체냐 증분이냐 그리고 쌓느냐 최신만 유지하냐를 조절합니다. 삭제까지 정확히 반영하려면 소스를 CDC로 설정해야 하며 Cursor 방식은 삭제를 감지하지 못합니다. 삭제 처리 Hard 또는 Soft 와 이력 보존 Append 를 조합해 현재 상태만 볼지 변경 이력을 모을지 선택할 수 있습니다.