이 문서는 데이터 엔지니어링 섹션의 일부입니다.
왜 Lakeflow Connect가 필요한가요?
기업의 데이터는 운영 데이터베이스(MySQL, PostgreSQL, Oracle)와 SaaS 애플리케이션(Salesforce, SAP, HubSpot)에 흩어져 있습니다. 이 데이터를 분석용 레이크하우스로 가져오려면 전통적으로 다음과 같은 과정이 필요했습니다:- 소스 시스템에 연결하는 코드 작성
- 초기 전체 데이터 복사(Full Load)
- 이후 변경된 데이터만 추적하는 CDC 로직 구현
- 스키마 변경 감지 및 대응
- 오류 처리, 재시도, 모니터링 구현
💡 Lakeflow Connect 는 외부 데이터 소스(데이터베이스, SaaS 애플리케이션)에서 Databricks 레이크하우스로 데이터를 자동으로 수집하는 관리형 커넥터 서비스입니다. Fivetran, Airbyte 같은 데이터 통합(ELT) 도구와 유사한 역할을 하지만, Databricks 플랫폼에 네이티브로 통합되어 있습니다.
💡 CDC(Change Data Capture) 란 소스 데이터베이스에서 발생하는 INSERT, UPDATE, DELETE 등의 변경 사항을 실시간으로 캡처하여 대상 시스템에 반영하는 기술입니다. 전체 데이터를 매번 다시 복사하는 것보다 훨씬 효율적이며, 소스 시스템에 대한 부하도 최소화합니다.
지원 소스 시스템 상세
Lakeflow Connect는 지속적으로 새로운 커넥터를 추가하고 있습니다. 아래는 주요 지원 소스 목록입니다.데이터베이스 커넥터
SaaS 커넥터
파일/기타 커넥터
🆕 최신 동향: Databricks는 매 릴리즈마다 새로운 커넥터를 추가하고 있습니다. 최신 지원 소스 목록은 공식 문서에서 확인하실 수 있습니다.
아키텍처: 전체 동작 흐름
Lakeflow Connect의 전체 아키텍처는 다음과 같이 구성됩니다.주요 구성 요소
초기 스냅샷 vs CDC 증분 동기화
Lakeflow Connect의 수집은 크게 두 단계로 이루어집니다.1단계: 초기 스냅샷 (Initial Snapshot)
처음 파이프라인을 시작하면, 소스 테이블의 전체 데이터를 한 번 복사 합니다. Snapshot (전체 복사): 소스 테이블 (MySQL) →→→ 대상 테이블 (Delta)2단계: CDC 증분 수집 (Incremental CDC)
초기 스냅샷 이후에는 소스에서 변경된 데이터(INSERT, UPDATE, DELETE)만 실시간으로 반영 합니다.💡 CDC의 장점: 전체 데이터를 매번 다시 복사하는 Full Load 방식 대비, CDC는 변경분만 전달하므로 소스 시스템의 부하가 최소화 되고, 네트워크 트래픽이 크게 줄어들며, 수집 지연시간이 초 단위로 단축 됩니다.
스키마 진화(Schema Evolution) 처리
운영 데이터베이스에서는 애플리케이션 업데이트에 따라 스키마가 변경될 수 있습니다. Lakeflow Connect는 이를 자동으로 감지하고 처리합니다.⚠️ 비호환 스키마 변경: 컬럼 타입을 호환되지 않는 형태로 변경하면(예: VARCHAR → INT) 파이프라인이 일시 중지될 수 있습니다. 이 경우 수동으로 대응이 필요합니다.
에러 처리 및 재시도 메커니즘
Lakeflow Connect는 다양한 장애 상황에 대해 자동으로 대응합니다.성능 특성 및 제한사항
성능 특성
주요 제한사항
실습 예제: MySQL CDC 파이프라인 설정
사전 준비
- 소스 MySQL 설정: Binlog가 활성화되어 있어야 합니다
- 네트워크: Databricks에서 MySQL에 접속 가능해야 합니다
- 계정:
SELECT,REPLICATION SLAVE,REPLICATION CLIENT권한 필요
Step 1: Unity Catalog Connection 생성
Step 2: Ingestion Pipeline 생성 (UI)
- Pipelines 메뉴 → Create Pipeline 클릭
- Ingestion (Lakeflow Connect) 선택
- 소스 유형: MySQL 선택
- Connection:
mysql_erp선택 - 수집할 스키마/테이블 선택
- 대상 카탈로그/스키마 지정 (예:
analytics.bronze) - 실행 모드: Continuous(실시간) 또는 Triggered(주기적)
- Create 클릭
Step 3: 수집 결과 확인
현업 사례: Fivetran에서 Lakeflow Connect로 전환한 기업의 비용 비교
🔥 실전 경험담 한 중견 이커머스 기업에서 Fivetran으로 MySQL(주문, 고객, 상품 등 15개 테이블)과 Salesforce(10개 오브젝트)를 수집하고 있었습니다. Fivetran의 월 비용은 행(Row) 기반 과금으로 월 약 $3,500 이었습니다. Lakeflow Connect GA 이후, MySQL 커넥터를 Lakeflow Connect로 전환한 결과는 다음과 같았습니다:Salesforce는 Lakeflow Connect로 아직 전환하지 않았습니다 (당시 GA가 아니었기 때문). 핵심 절감 요인은 Fivetran의 행 기반 과금 vs Lakeflow Connect의 DBU 과금 차이 였습니다. CDC로 변경분만 수집하면 실제 처리량이 적어 DBU 비용이 낮게 유지됩니다.
💡 현업 팁: 비용 절감 외에도, Lakeflow Connect 전환의 숨은 장점은 관리 포인트 감소 입니다. Fivetran은 별도 SaaS 콘솔에서 관리해야 하지만, Lakeflow Connect는 Databricks 내에서 모든 것을 관리합니다. Unity Catalog 리니지도 자동으로 추적되어 “이 데이터가 어디에서 온 것인지” 한눈에 파악할 수 있습니다.
CDC 지연시간의 현실
공식 문서에서는 “수초~수분”이라고 안내하지만, 현업에서 체감하는 지연시간은 여러 요인에 따라 달라집니다.🔥 이것을 안 하면: “CDC니까 실시간이겠지”라고 기대하면 안 됩니다. 한 고객사에서 “주문 후 1초 이내에 대시보드에 반영되어야 한다”는 요구사항을 가지고 Lakeflow Connect를 도입했다가, 실제 지연이 30초~1분이라는 것을 알고 실망한 적이 있습니다. CDC의 지연시간은 “분 단위 준실시간”이지, “초 단위 실시간”이 아닙니다. 초 단위 실시간이 필요하면 Kafka + Structured Streaming 조합을 고려해야 합니다.
지연시간을 최소화하는 팁
- 소스 DB와 같은 리전에 Databricks 배포: 네트워크 지연 최소화
- Private Link 사용: 퍼블릭 인터넷 대비 지연 50% 이상 감소
- 대형 LOB 컬럼 제외:
TEXT,BLOB같은 대용량 컬럼은 별도 수집 - Continuous 모드 사용: Triggered 모드는 폴링 간격만큼 추가 지연 발생
커넥터가 없는 소스 대응 전략
Lakeflow Connect의 커넥터 수는 아직 Fivetran(300+)이나 Airbyte(350+)에 비해 적습니다. 커넥터가 없는 소스를 처리해야 할 때의 현실적인 대응 전략입니다.커스텀 JDBC 수집 예시
💡 현업 팁: 커넥터가 없는 소스가 1~2개라면 커스텀 JDBC로 충분합니다. 하지만 5개 이상이면 Fivetran을 병행하는 것이 총 비용(개발 인건비 포함)에서 유리 합니다. 커스텀 코드는 유지보수 비용이 숨어 있기 때문입니다 (스키마 변경 대응, 에러 처리, 모니터링 등).
다른 수집 도구와의 비교
Lakeflow Connect와 유사한 역할을 하는 외부 도구들과의 비교입니다.💡 선택 기준: Lakeflow Connect가 지원하는 소스라면 네이티브 통합의 이점(Unity Catalog 자동 연동, 리니지, 서버리스)이 크므로 Lakeflow Connect를 우선 사용합니다. 지원되지 않는 소스가 많다면 Fivetran이나 Airbyte를 보조적으로 활용할 수 있습니다.
정리
- Lakeflow Connect 는 외부 DB/SaaS에서 코드 없이 관리형으로 데이터를 수집하는 서비스입니다
- 초기 스냅샷 + CDC 증분 수집 을 자동으로 처리하여 소스 시스템 부하를 최소화합니다
- 스키마 진화를 자동으로 감지 하고 대상 테이블에 반영합니다
- Unity Catalog와 네이티브로 통합되어 자격증명 관리, 메타데이터, 리니지 가 자동화됩니다
- 지원 커넥터가 없는 소스는 Lakeflow Jobs + 커스텀 코드 로 대응합니다