반응형
데이터 엔지니어 : DataBricks 편

오늘 공부할 주제는 현재 재직 중인 회사에서 갓 도입하여 사용 중인 데이터브릭스(Databricks) 입니다.
팀 내 데이터 엔지니어들의 강력한 요구로 기존 AWS 인프라 위에 구축된 데이터 파이프라인들을
데이터브릭스로 이관했는데 많은 면에서 만족하게 되어 정리를 하게 되었습니다.
데이터 파이프라인을 다루는 데이터 엔지니어시거나, 미국 주식을 하시는 분들은 한 번쯤 들어보셨을 텐데요.
데이터브릭스가 도대체 무엇이고, 왜 기존의 데이터웨어하우스나 데이터 레이크에서 이관을 했는지를 정리하려 합니다
1. 데이터브릭스(Databricks)란?

- 데이터브릭스는 Apache Spark의 초기 개발자들이 모여서 설립한 클라우드 기반의 통합 데이터 분석 플랫폼입니다.
- AWS, Azure, GCP 등 주요 퍼블릭 클라우드 위에서 마켓플레이스 등을 통해 쉽게 연동하여 사용 가능합니다.
- 데이터 엔지니어링, 데이터 사이언티스트, 머신러닝, BI까지 데이터와 관련된 모든 작업을 하나의 작업 공간(Workspace)에서 해결할 수 있도록 지원합니다.
2. 데이터브릭스 주요 특징
- Apache Spark 기반: 스파크를 기반으로 하여 대규모 분산 처리 시 빠르고 저렴한 성능 처리를 보여줍니다.
- 통합 플랫폼: 데이터 엔지니어, 데이터 사이언티스트, 데이터 분석가, 사업 담당자가 하나의 환경에서 협업 가능합니다.
- 자동화 인프라 : 인프라 관리(클러스터 구성, 스케일링 등)를 자동으로 해주며 필요할 경우 서버리스도 사용 가능합니다.
3. 데이터브릭스 주요 기능
- Delta Lake (델타 레이크) : ACID 보장 및 버전 관리, 데이터 복구가 용이한 데이터레이크
- MLflow : 머신러닝의 전 과정을 추적해주는 라이프사이클 관리 오픈소스
- Unity Catalog : 데이터리니지 및 통합 데이터들에 대한 권한 관리 등을 제공하는 통합 데이터 카탈로그
- Databricks Genie Space : 자연어 기반으로 데이터 추출 및 분석, BI 생성까지 지원해주는 생성형 AI
- Notebook & Workflows : 파이썬, SQL을 한 곳에서 개발 및 수행이 가능하며 배치성 workFlow 등도 가능해 주는 툴
4. 레이크하우스를 가능하게 하는 데이터브릭스 3대 핵심 기술
데이터브릭스의 레이크하우스는 크게 3개의 핵심 기술로 구성되어 있습니다.
① Delta Lake (델타 레이크)

데이터 레이크 위에 ACID 트랜잭션 기능을 제공하며 데이터의 버전관리까지 지원되는 레이크 하우스 입니다.
- 트랜잭션이 발생하여 데이터가 처리되는 과정에서 에러가 나도 기존의 RDB처럼 ACID을 보장하기에 데이터 정합성이 보장됩니다.
- Time Travel (데이터 버전 관리): 데이터의 변경이력을 일정기간 동안 로그로 보관하기에 과거 데이터를 조회하거나, 특정 시점으로 복원 등이 가능합니다.
② Unity Catalog (유니티 카탈로그)

데이터브릭스 내의 모든 전사 데이터를 관리하는 통합 거버넌스 기능 입니다.
- 데이터베이스 테이블뿐만 아니라 구조화된 테이블, 비구조화된 파일(오브젝트 스토리지), 머신러닝(ML) 모델, 대시보드에 이르기까지 데이터브릭스 안에서 다루는 모든 자산의 권한과 계보를 중앙에서 한 번에 관리할 수 있는 기능입니다.
- 데이터 리니지(Lineage): 데이터가 어디서 출발하여 어느 경로로 흘러서 변형되었는지 흐름을 시각적으로 추적할 수 있어 데이터 보안과 감사(Audit), 로직 파악을 용이하게 도와주는 기능입니다.
- 데이터브릭스 환경에 있는 모든 자산들에 대하여 표준 SQL하나만을 이용하여 권한 부여 기능을 제공 합니다.
③ MLflow

머신러닝 라이프사이클을 관리하는 오픈소스 플랫폼입니다. (유사 Git...?)
- 기존 Git의 경우 코드의 버전 관리는 가능하나 머신러닝의 경우는 코드 외에 데이터셋, 하이퍼 파라미터, 가중치 파일 및 평가지표 등 여러 자료 들이 한 묶음으로 움직여서 관리되어야 합니다.
- 데이터브릭스 MLflow는 데이터 분석가가 실험한 파라미터, 소스 코드, 결과 메트릭 등을 기록 및 보관하며 모델 배포까지 자동화하도록 도와줍니다.
- 크게 아래 4가지 기능이 핵심 기능으로 분류 됩니다.
- MLflow Tracking (실험 기록 및 추적)
- MLflow Projects (코드 패키징 표준화)
- MLflow Models (모델 포맷 표준화)
- MLflow Model Registry (중앙 모델 저장소)
5. 데이터브릭스를 왜 쓸까?
- 인프라 관리 자동화: 복잡한 Spark 클러스터 등 서버 설치와 관리를 쉽게 도와줘서 관리적인 노력이 줄어듭니다.
- 실시간과 배치의 통합: Delta Live Tables(DLT) 등을 활용해 실시간 스트리밍 데이터와 대용량 배치 데이터 등 성격이 다른 배치들을 하나의 플랫폼에서 관리할 수 있습니다.
- 하나의 플랫폼으로 협업: 데이터 엔지니어가 만든 ETL파이프라인으로 만들어진 데이터들을 데이터 분석가가 SQL 및 자연어로 즉시 조회하며, 데이터 과학자가 파이썬으로 ML 모델을 바로 돌릴 수 있습니다.
6. 마치며...
데이터브릭스는데이터의 수집(ETL)부터 데이터 거버넌스, 그리고 AI/ML 활용까지 데이터 관련 업무를 할 수 있는 하나의 거대한 생태계를 구축해 나가고 있습니다. 대용량 데이터 처리에 대하여 조건이 맞다면 데이터브릭스 사용 시 비용 효율 및 성능 개선 효과를 볼 수 있다고 생각합니다.
다음 포스팅에서는 데이터브릭스의 실습 계정을 받아 클러스터를 띄우는 실습 진행 과정을 포스팅하려 합니다.
이 후 포스팅에서 실습을 하며 위에 설명한 개념들에 대해서 자세히 기술하겠습니다.
감사합니다.
'개발기록장 > Data' 카테고리의 다른 글
| [DE 실무] Databricks VS SnowFlakeVS Redshift 무엇을 선택할까? (0) | 2026.06.07 |
|---|---|
| [Databricks] 1-4장 Genie를 사용한 BI 만들기 (0) | 2026.06.03 |
| [Databricks] 1-3장. Genie를 이용한 Pipleline 만들기 (0) | 2026.05.31 |
| [Databricks] 1-2장. 데이터브릭스 실습 1일차 (Fundamental) (0) | 2026.05.31 |
| [Databricks] 1-1장. 데이터브릭스 실습 계정 생성하기 (0) | 2026.05.30 |