왜 데이터 엔지니어링이 중요한가요?
데이터 엔지니어링은 원천 데이터를 비즈니스에서 활용할 수 있는 형태로 변환하는 전체 과정 을 의미합니다. 아무리 좋은 분석 도구나 AI 모델이 있어도, 데이터가 정확하고 시의적절하게 준비되지 않으면 아무 소용이 없습니다. 데이터 엔지니어링 파이프라인은 다음과 같은 역할을 수행합니다:- 수집(Ingestion): 다양한 소스에서 데이터를 가져옵니다
- 변환(Transformation): 원시 데이터를 정제하고 비즈니스 로직을 적용합니다
- 오케스트레이션(Orchestration): 수집과 변환 작업을 자동으로 스케줄링하고 관리합니다
- 품질 관리(Quality): 데이터가 정확하고 완전한지 검증합니다
- 모니터링(Monitoring): 파이프라인이 정상적으로 동작하는지 관찰합니다
💡 비유: 데이터 엔지니어링은 “정수 시설”과 비슷합니다. 강이나 호수에서 원수(Raw Data)를 가져와서, 여러 단계의 정화 과정(변환)을 거쳐, 가정(분석/AI)에서 바로 마실 수 있는 깨끗한 물(정제된 데이터)로 만드는 것입니다.
Databricks의 데이터 엔지니어링 도구 전체 맵
Databricks에서 데이터 엔지니어링은 Lakeflow 라는 통합 제품 브랜드 아래에서 제공됩니다. 수집부터 변환, 오케스트레이션까지 데이터 파이프라인의 전체 라이프사이클을 지원합니다.
출처: Databricks 공식 문서
Lakeflow 브랜드 체계
Databricks는 2024년부터 데이터 엔지니어링 관련 제품들을 Lakeflow 라는 하나의 브랜드로 통합하였습니다. 이전에 각각 별도의 이름으로 불리던 도구들이 체계적으로 정리되었습니다.⚠️ 용어 참고: Delta Live Tables(DLT)는 현재 Spark Declarative Pipelines(SDP) 또는 Lakeflow Declarative Pipelines 로 명칭이 변경되었습니다. 기존 문서나 블로그에서 DLT라는 이름이 등장하면 SDP와 동일한 것으로 이해하시면 됩니다.
각 구성 요소의 역할 상세
Lakeflow Connect — 관리형 데이터 수집
외부 데이터베이스(MySQL, PostgreSQL, Oracle)와 SaaS 애플리케이션(Salesforce, Workday, HubSpot 등)에서 코드 작성 없이 데이터를 자동으로 수집 합니다.- 초기 스냅샷: 소스 테이블의 전체 데이터를 한 번 복사합니다
- CDC(Change Data Capture): 이후 변경된 데이터만 실시간으로 반영합니다
- 스키마 진화: 소스에서 컬럼이 추가/변경되면 자동으로 대상 테이블에 반영합니다
Auto Loader — 파일 기반 증분 수집
클라우드 스토리지(S3, ADLS, GCS)에 도착하는 새 파일을 자동으로 감지하고 증분 수집 합니다.- 파일 알림 모드: 클라우드 이벤트(SNS/SQS, Event Grid)를 활용하여 새 파일을 즉시 감지합니다
- 디렉토리 리스팅 모드: 주기적으로 디렉토리를 스캔하여 새 파일을 찾습니다
- 스키마 추론/진화: JSON, CSV 등의 포맷에서 스키마를 자동으로 추론하고 변경을 감지합니다
SDP (Spark Declarative Pipelines) — 선언적 변환
“무엇을 만들지”만 선언하면 실행 계획, 의존성 관리, 증분 처리를 자동으로 관리 하는 파이프라인 프레임워크입니다.- Streaming Table: 실시간 증분 처리에 적합한 테이블 형태입니다
- Materialized View: 전체 데이터를 주기적으로 재계산하는 뷰입니다
- Expectations: 데이터 품질 규칙을 파이프라인에 내장하여 불량 데이터를 자동으로 감지합니다
Lakeflow Jobs — 워크플로 오케스트레이션
다양한 태스크(노트북, Python, SQL, SDP 파이프라인 등)를 DAG(Directed Acyclic Graph) 형태로 조합하여 스케줄링하고 모니터링 합니다.- 다양한 트리거: 크론 스케줄, 파일 도착, API 호출, 연속 실행 등
- 의존성 관리: 태스크 간 실행 순서를 그래프로 정의합니다
- 재시도 및 알림: 실패 시 자동 재시도, 이메일/Slack 알림을 지원합니다
Medallion 아키텍처와의 관계
Databricks의 데이터 엔지니어링 도구들은 Medallion 아키텍처(Bronze → Silver → Gold)와 자연스럽게 연결됩니다.💡 Medallion 아키텍처 는 데이터를 품질과 정제 수준에 따라 3개 계층으로 분류하는 설계 패턴입니다. 자세한 내용은 03-lakehouse-architecture 섹션을 참고하시기 바랍니다.
서버리스 컴퓨트와 데이터 엔지니어링
Databricks의 데이터 엔지니어링 도구들은 서버리스 컴퓨트(Serverless Compute) 위에서 실행할 수 있습니다. 서버리스를 사용하면 클러스터를 직접 관리할 필요 없이 자동으로 리소스가 할당됩니다.💡 서버리스의 장점: 클러스터 시작 대기 시간이 수초 이내로 줄어들고, 사용한 만큼만 과금되며, 인프라 관리(패치, 스케일링 등)가 완전히 자동화됩니다.
데이터 품질 관리 개요
데이터 엔지니어링에서 데이터 품질 관리 는 선택이 아닌 필수입니다. Databricks는 여러 레벨에서 품질을 관리할 수 있는 도구를 제공합니다.모니터링 및 관측성(Observability)
파이프라인을 구축한 후에는 지속적인 모니터링 이 필요합니다. Databricks는 다음과 같은 모니터링 기능을 제공합니다.💡 시스템 테이블(System Tables) 은 Databricks 플랫폼의 운영 데이터(잡 실행 이력, 비용, 감사 로그 등)를 Delta 테이블로 제공하는 기능입니다. SQL로 직접 쿼리하여 커스텀 모니터링 대시보드를 만들 수 있습니다.
비용 최적화 전략
데이터 엔지니어링 파이프라인의 비용을 최적화하기 위한 핵심 전략들입니다.
⚠️ 비용 모니터링 팁: system.billing.usage 시스템 테이블을 활용하면 파이프라인별 DBU 소비량을 추적하고 비용 이상 징후를 조기에 감지할 수 있습니다.
학습 로드맵
이 섹션의 문서들을 아래 순서대로 학습하시면 데이터 엔지니어링 전체 흐름을 체계적으로 이해하실 수 있습니다.💡 학습 팁: 각 도구를 개별적으로 이해한 후, 마지막에 시나리오 기반으로 여러 도구를 조합 하는 연습을 해보시면 실무 적용력이 크게 향상됩니다.
더 알아보기
정리
Databricks의 데이터 엔지니어링 도구들은 Lakeflow 브랜드 아래 체계적으로 구성되어 있습니다:- Lakeflow Connect: 외부 DB/SaaS에서 코드 없이 관리형 수집
- Auto Loader: 클라우드 스토리지 파일 자동 증분 수집
- SDP (Spark Declarative Pipelines): 선언적 변환 파이프라인 + 데이터 품질
- Lakeflow Jobs: 전체 워크플로 오케스트레이션 및 스케줄링