개발기록장/Data

[Databricks] 0장. 데이터브릭스가 무엇인지 알아보자

노랭토끼 2026. 5. 30. 21:35
반응형

데이터 엔지니어 : 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...?)

  1. 기존 Git의 경우 코드의 버전 관리는 가능하나 머신러닝의 경우는 코드 외에 데이터셋, 하이퍼 파라미터, 가중치 파일 및 평가지표 등 여러 자료 들이 한 묶음으로 움직여서 관리되어야 합니다.
  2. 데이터브릭스 MLflow는 데이터 분석가가 실험한 파라미터, 소스 코드, 결과 메트릭 등을 기록 및 보관하며 모델 배포까지 자동화하도록 도와줍니다.
  3. 크게 아래 4가지 기능이 핵심 기능으로 분류 됩니다.
    1. MLflow Tracking (실험 기록 및 추적)
    2. MLflow Projects (코드 패키징 표준화)
    3. MLflow Models (모델 포맷 표준화)
    4. MLflow Model Registry (중앙 모델 저장소)

5. 데이터브릭스를 왜 쓸까?

  • 인프라 관리 자동화: 복잡한 Spark 클러스터 등 서버 설치와 관리를 쉽게 도와줘서 관리적인 노력이 줄어듭니다.
  • 실시간과 배치의 통합: Delta Live Tables(DLT) 등을 활용해 실시간 스트리밍 데이터와 대용량 배치 데이터 등 성격이 다른 배치들을 하나의 플랫폼에서 관리할 수 있습니다.
  • 하나의 플랫폼으로 협업: 데이터 엔지니어가 만든 ETL파이프라인으로 만들어진 데이터들을 데이터 분석가가 SQL 및 자연어로 즉시 조회하며, 데이터 과학자가 파이썬으로 ML 모델을 바로 돌릴 수 있습니다.

6. 마치며...

데이터브릭스는데이터의 수집(ETL)부터 데이터 거버넌스, 그리고 AI/ML 활용까지 데이터 관련 업무를 할 수 있는 하나의 거대한 생태계를 구축해 나가고 있습니다. 대용량 데이터 처리에 대하여 조건이 맞다면 데이터브릭스 사용 시 비용 효율 및 성능 개선 효과를 볼 수 있다고 생각합니다.

다음 포스팅에서는 데이터브릭스의 실습 계정을 받아 클러스터를 띄우는 실습 진행 과정을 포스팅하려 합니다.
이 후 포스팅에서 실습을 하며 위에 설명한 개념들에 대해서 자세히 기술하겠습니다.

감사합니다.