안녕하세요, 오늘은 빅데이터 분석과 머신러닝 워크로드를 처리하는 강력한 플랫폼인 데이터브릭스(Databricks)의 아키텍처 구성에 대해 자세히 알아보겠습니다. 데이터브릭스는 UC Berkeley에서 아파치 스파크를 만든 엔지니어들이 설립한 회사로, 데이터 레이크하우스(Data Lakehouse) 개념을 중심으로 발전해 왔습니다. 이 글에서는 데이터브릭스의 전반적인 아키텍처와 핵심 구성 요소들을 알아보겠습니다.
1. 데이터브릭스 아키텍처 개요
데이터브릭스의 아키텍처는 크게 두 가지 주요 레이어로 구성됩니다:
- 컨트롤 플레인(Control Plane): 데이터브릭스가 관리하는 백엔드 서비스들이 포함되며, 노트북 커맨드와 다른 워크스페이스 설정이 암호화되어 저장됩니다.
- 컴퓨팅 플레인(Compute Plane): 실제 데이터가 처리되는 곳으로, 두 가지 유형이 있습니다:
- 서버리스 컴퓨팅 플레인: 데이터브릭스 계정 내에서 관리되는 서버리스 컴퓨팅 리소스
- 클래식 컴퓨팅 플레인: 고객의 클라우드 계정(AWS, Azure, Google Cloud)에서 실행되는 컴퓨팅 리소스

이러한 이중 계층 아키텍처는 사용자 데이터와 워크로드를 효율적으로 분리하고 관리할 수 있게 해주며, 보안과 성능을 모두 최적화합니다.
2. 데이터 레이크하우스 아키텍처
데이터브릭스의 핵심 개념은 '데이터 레이크하우스'입니다. 이는 데이터 레이크와 데이터 웨어하우스의 장점을 결합한 새로운 데이터 아키텍처 패러다임입니다.

데이터 레이크하우스 아키텍처는 다음과 같은 특징을 제공합니다:
- 통합 플랫폼: 구조화된 데이터와 비구조화된 데이터를 모두 처리
- 확장성: 대용량 데이터 처리 지원
- ACID 트랜잭션: 데이터 일관성 보장
- 스키마 적용 및 거버넌스: 데이터 품질 관리
- BI 및 ML 지원: 동일한 데이터셋에서 다양한 워크로드 실행 가능
- 개방형 포맷: 개방형 표준 기반 데이터 저장
이러한 레이크하우스 아키텍처를 통해 데이터 사일로를 무너뜨리고, 하나의 플랫폼에서 회사 전체의 권한이 있는 사용자에게 안전한 데이터 액세스를 제공합니다.
3. 메달리온 아키텍처
데이터브릭스에서 중요한 데이터 설계 패턴 중 하나는 메달리온 아키텍처입니다. 이는 레이크하우스에 논리적으로 데이터를 정리하는 방식으로, 데이터의 구조와 품질을 점진적으로 개선하는 것이 목표입니다.

메달리온 아키텍처는 다음 세 가지 주요 레이어로 구성됩니다:
브론즈 레이어(Bronze Layer - 원시 데이터)
- 외부 소스 시스템의 모든 데이터가 저장
- 소스 시스템 테이블 구조를 그대로 유지
- 로드 날짜/시간, 프로세스 ID 등의 메타데이터 컬럼 추가
- 소스의 과거 아카이브, 데이터 리니지, 감사 기능 제공
실버 레이어(Silver Layer - 정제된 데이터)
- 브론즈 레이어 데이터에 매칭, 병합, 정제 작업 적용
- 모든 주요 비즈니스 엔티티, 개념에 대한 "엔터프라이즈 뷰" 제공
- 다른 소스의 데이터를 통합
- 일반적으로 3NF(Third Normal Form) 형태의 데이터 모델 사용
골드 레이어(Gold Layer - 비즈니스 레벨 테이블)
- 비즈니스 사용 사례별로 최적화된 데이터셋
- 보고용으로 사용하기 쉬운 형태로 구성
- 조인의 개수가 적고 비정규화된 읽기 최적화 데이터 모델 사용
- 데이터 변환과 품질 규칙의 마지막 레이어 적용
- 주로 Kimball 스타일 스타 스키마 또는 Inmon 스타일 데이터 마트 사용
메달리온 아키텍처의 장점은 다음과 같습니다:
- 간단한 데이터 모델
- 쉽게 이해하고 구현 가능
- 증분적 ETL 지원
- 언제든 원시 데이터에서 테이블 생성 가능
- ACID 트랜잭션, 시간 이동(Time Travel) 지원
4. 워크스페이스 및 컴퓨팅 리소스
데이터브릭스 환경에서 작업을 수행하기 위한 주요 개념들은 다음과 같습니다:
워크스페이스(Workspace)
워크스페이스는 컨트롤 플레인에 존재하는 모든 데이터브릭스 자산에 접근할 수 있는 환경입니다. 주요 구성 요소는 다음과 같습니다:
- 노트북: 실행 명령, 시각화, 텍스트 등을 포함한 웹 기반 인터페이스
- 대시보드: 시각화 제공 인터페이스
- 라이브러리: 클러스터에서 실행되는 코드 패키지
- Repo: Git 저장소와 동기화되는 버전 관리 컨텐츠
- 실험: ML 모델 훈련을 위한 MLflow 실행의 묶음
클러스터(Cluster)
클러스터는 노트북과 작업이 실행되는 컴퓨팅 자원이나 설정들의 모음입니다. 두 가지 유형이 있습니다:
- 다목적 클러스터(All-purpose Cluster):
- UI, CLI, REST API를 통해 생성 가능
- 수동으로 종료 및 재시작 가능
- 여러 사용자가 협업을 위해 공유 가능
- 작업 클러스터(Job Cluster):
- 작업 스케줄러가 작업 실행 시 생성
- 작업 완료 후 자동 종료
데이터브릭스 런타임(Databricks Runtime)
데이터브릭스 런타임은 클러스터에서 실행되는 핵심 컴포넌트로, 여러 유형이 제공됩니다:
- 기본 런타임: 아파치 스파크와 성능 개선 컴포넌트 포함
- ML용 런타임: TensorFlow, Keras, PyTorch 등 ML 라이브러리 포함
- Genomics용 런타임: 유전체학 데이터 처리에 최적화
- 라이트 런타임: 오픈소스 아파치 스파크만 패키징
5. 유니티 카탈로그(Unity Catalog)
유니티 카탈로그는 데이터브릭스의 통합 데이터 거버넌스 솔루션으로, 다음과 같은 기능을 제공합니다:
- 중앙 집중식 접근 제어: 여러 워크스페이스에 걸쳐 통합된 접근 제어
- 감사 기능: 모든 데이터 액세스 활동 기록
- 데이터 계보: 데이터 변환 과정 추적
- 데이터 발견: 필요한 데이터 자산 쉽게 찾기
- 메타데이터 관리: 테이블, 뷰, 함수 등의 메타데이터 중앙 관리
유니티 카탈로그는 계정 수준의 구성 요소로, 메타데이터와 권한을 여러 워크스페이스에서 공유할 수 있게 해줍니다. 또한 데이터뿐만 아니라 ML 모델, 노트북, 대시보드, 파일 등 다양한 자산에 대한 거버넌스를 통합적으로 제공합니다.
6. 스토리지 및 데이터 관리
데이터브릭스 환경에서 데이터 관리에 관련된 주요 개념은 다음과 같습니다:
작업 영역 스토리지 계정
각 데이터브릭스 작업 영역에는 스토리지 계정이 있으며, 다음을 포함합니다:
- 작업 영역 시스템 데이터: 노트북 버전, 작업 실행 세부 정보, 명령 결과, 로그 등
- DBFS(Databricks File System): 분산 파일 시스템으로
dbfs:/
네임스페이스에서 접근 가능
- 유니티 카탈로그 작업 영역 카탈로그: 작업 영역의 기본 카탈로그
DBFS(Databricks File System)
DBFS는 클라우드 스토리지를 래핑한 파일 시스템 추상화 레이어로, 다음과 같은 특징이 있습니다:
- 파일과 디렉토리 구조 지원
- 클러스터에서 일관된 방식으로 액세스 가능
- 학습용 샘플 데이터셋 포함
메타스토어는 데이터 구조 정보를 저장하는 구성 요소로, 다음을 포함합니다:
- 컬럼, 컬럼 타입 정보
- 데이터 직렬화/역직렬화를 위한 처리기
- 데이터 저장 위치 정보
7. 데이터브릭스 아키텍처의 장점
데이터브릭스 아키텍처는 다음과 같은 주요 장점을 제공합니다:
- 통합 플랫폼: 데이터 엔지니어링, 데이터 과학, 머신러닝, BI 등 다양한 워크로드를 하나의 플랫폼에서 처리
- 확장성: 클라우드 환경에서 필요에 따라 리소스를 확장하거나 축소 가능
- 보안: 컨트롤 플레인과 컴퓨팅 플레인 분리로 보안 강화
- 협업: 여러 역할의 사용자가 동일한 플랫폼에서 협업 가능
- 개방성: 개방형 표준과 오픈소스 기술 활용
- 성능 최적화: 데이터 처리와 분석을 위한 다양한 최적화 기능 제공
- 멀티 클라우드 지원: AWS, Azure, Google Cloud 등 다양한 클라우드 환경 지원
결론
데이터브릭스는 데이터 레이크하우스 개념을 중심으로 통합된 데이터 플랫폼을 제공하며, 이중 계층 아키텍처(컨트롤 플레인과 컴퓨팅 플레인)와 메달리온 아키텍처(브론즈, 실버, 골드 레이어)를 통해 효율적인 데이터 처리 환경을 구축합니다. 유니티 카탈로그를 통한 통합 거버넌스, 다양한 런타임 옵션, 그리고 클라우드 기반의 확장성은 데이터브릭스가 현대적인 데이터 분석 요구사항을 충족시키는 강력한 플랫폼으로 자리매김하게 했습니다.
데이터브릭스의 아키텍처를 이해하면 빅데이터 처리, 머신러닝, 실시간 분석 등 다양한 데이터 워크로드를 효율적으로 구현하는 데 큰 도움이 될 것입니다. 레이크하우스라는 새로운 패러다임과 함께, 데이터브릭스는 계속해서 데이터 플랫폼의 혁신을 이끌어가고 있습니다.