
Databricks를 처음 사용하는 개발자나 관리자에게 가장 혼란스러운 부분 중 하나는 "데이터가 어디에 저장되는가?", "컴퓨팅 리소스는 어디서 실행되는가?", "보안은 어떻게 구성되는가?"와 같은 아키텍처 관련 질문입니다.
Databricks는 전통적인 단일 계정 구조가 아니라, Databricks 계정과 고객 계정으로 분리된 하이브리드 아키텍처를 사용합니다. 이 구조를 이해하지 못하면, 네트워크 설정, 보안 정책, 비용 관리 등에서 예상치 못한 문제에 직면할 수 있습니다.
이 글에서는 Databricks의 데이터 인텔리전스 플랫폼 아키텍처를 계층별로 설명하고, 각 구성 요소의 역할과 상호작용을 이해할 수 있도록 정리합니다.
Databricks 플랫폼은 크게 두 가지 계정 영역으로 나뉘어 운영됩니다:
Databricks 계정 (Databricks Account)
고객 계정 (Customer Account)
이러한 분리 구조는 다음과 같은 이점을 제공합니다:
┌─────────────────────────────────────────────────────────┐
│ Databricks 계정 (Databricks Account) │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Control Plane (컨트롤 플레인) │ │
│ │ - Web App │ │
│ │ - Unity Catalog │ │
│ │ - Workflow Management │ │
│ │ - Intelligence Engine │ │
│ └──────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Serverless Compute Plane (서버리스 컴퓨팅) │ │
│ │ - Serverless SQL Warehouse │ │
│ │ - Model Serving │ │
│ │ - Vector Search │ │
│ │ - Online Tables │ │
│ └──────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
│
│ 네트워크 연결
│
┌─────────────────────────────────────────────────────────┐
│ 고객 계정 (Customer Cloud Account) │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Classic Compute Plane │ │
│ │ - Workspace Clusters │ │
│ │ - Classic SQL Warehouse │ │
│ └──────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Cloud Storage │ │
│ │ - S3 / ADLS / GCS │ │
│ │ - Delta Tables │ │
│ └──────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
Control Plane은 Databricks의 두뇌 역할을 하며, 플랫폼의 모든 관리 및 오케스트레이션 기능을 제공합니다.
역할: 사용자가 Databricks 플랫폼에 접속하는 주요 인터페이스
주요 기능:
실무 관점:
역할: 데이터 거버넌스의 핵심으로, 모든 데이터 객체에 대한 중앙 집중식 메타데이터 및 권한 관리
주요 기능:
실무 관점:
역할: 데이터 파이프라인과 작업 워크플로우를 오케스트레이션
주요 기능:
실무 관점:
역할: 머신러닝 모델을 사용하여 플랫폼을 최적화하고 관리
주요 기능:
실무 관점:
Compute Plane은 실제 데이터 처리가 일어나는 계층입니다. Databricks는 두 가지 컴퓨팅 모델을 제공합니다.
특징:
주요 구성 요소:
장점:
단점:
실무 활용:
특징:
주요 구성 요소:
장점:
단점:
실무 활용:
아키텍처:
고객 클라우드 계정
└─ VNet/VPC
└─ 로드 밸런서
└─ 컴퓨팅 클러스터 (고객 관리)
└─ Cloud Storage 접근
특징:
실무 관점:
아키텍처:
Databricks 계정
└─ 다중 테넌트 인프라
└─ VM 격리 (테넌트별)
└─ 네트워크 격리 (테넌트별)
└─ Cloud Storage 접근 (Private Link)
특징:
실무 관점:
보안 고려사항:
역할: 실시간 AI 애플리케이션을 위한 서버리스 인프라 제공
Model Serving:
Vector Search:
실무 활용:
역할: Delta Table과 실시간으로 동기화되는 온라인 테이블 제공
특징:
실무 활용:
역할: 고객의 중앙 사용자 관리 시스템과 Databricks를 통합
지원하는 IDP:
주요 기능:
실무 관점:
역할: 서버리스 컴퓨팅 플레인에서 고객의 스토리지 계정으로의 보안 연결 제공
작동 방식:
1. Databricks가 고객의 VNet에 Private Endpoint 생성
2. 서버리스 컴퓨팅이 Private Endpoint를 통해 스토리지 접근
3. 모든 트래픽이 Microsoft 백본 네트워크를 통해 전송
4. 공용 인터넷을 거치지 않아 보안 강화
장점:
실무 활용:
역할: Classic Compute가 고객의 기존 네트워크와 직접 통신
작동 방식:
1. Databricks VNet/VPC와 고객 VNet/VPC 간 피어링 설정
2. Classic Compute가 피어링된 네트워크를 통해 리소스 접근
3. 온프레미스 시스템과의 VPN/ExpressRoute 연결 가능
실무 활용:
요구사항:
아키텍처 선택:
구성:
고객 계정 (Azure)
├─ VNet (피어링됨)
│ ├─ Classic SQL Warehouse
│ └─ Workspace Clusters
├─ Storage Account (Private Endpoint)
└─ 온프레미스 연결 (ExpressRoute)
요구사항:
아키텍처 선택:
구성:
Databricks 계정
├─ Serverless SQL Warehouse (일반 쿼리)
├─ Model Serving (실시간 추론)
└─ Vector Search (RAG 애플리케이션)
고객 계정
└─ Cloud Storage (Delta Tables)
요구사항:
아키텍처 선택:
구성:
Databricks 계정
├─ Serverless SQL Warehouse (BI 쿼리)
├─ Model Serving (실시간 AI)
└─ Private Link (스토리지 접근)
고객 계정
├─ Classic SQL Warehouse (대용량 배치)
├─ Workspace Clusters (데이터 엔지니어링)
└─ Cloud Storage (Delta Tables)
| 기준 | Classic Compute | Serverless Compute |
|---|---|---|
| 시작 시간 | 수 분 | 수 초 |
| 유지보수 | 고객 담당 | Databricks 담당 |
| 네트워크 제어 | 완전한 제어 | 제한적 (Private Link로 보완) |
| 비용 모델 | 예약 인스턴스 가능 | 사용한 만큼 지불 |
| 커스터마이징 | 높음 | 제한적 |
| 보안 | 완전한 격리 | 다중 테넌트 (격리 보장) |
| 온프레미스 통합 | VNet 피어링 가능 | 제한적 |
| 적합한 워크로드 | 장기 실행, 대용량 | 간헐적, 빠른 응답 필요 |
Classic Compute를 선택해야 하는 경우:
Serverless Compute를 선택해야 하는 경우:
하이브리드 접근:
Databricks의 데이터 인텔리전스 플랫폼 아키텍처는 Databricks 계정과 고객 계정으로 분리된 하이브리드 구조를 통해 보안, 성능, 유연성을 모두 제공합니다.
핵심 요약:
아키텍처를 올바르게 이해하고 구성하면, 보안을 유지하면서도 성능과 비용을 최적화할 수 있습니다. 처음 구축할 때는 작은 규모로 시작하여 점진적으로 확장하는 것이 좋습니다.
참고 자료: