> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sifi.life/llms.txt
> Use this file to discover all available pages before exploring further.

# 아키텍처 심화

> 이 문서는 **[Databricks 아키텍처](/training/02-databricks-overview/databricks-architecture)** 의 심화 편입니다.

## 데이터 흐름의 전체 그림

지금까지 배운 내용을 종합하여, Databricks에서 데이터가 흘러가는 전체 과정을 살펴보겠습니다.

| 단계     | 구성 요소                                 | 설명                     |
| ------ | ------------------------------------- | ---------------------- |
| 데이터 소스 | 운영 DB, 클라우드 스토리지, SaaS 앱, 스트리밍(Kafka) | 원본 데이터 발생지             |
| 수집     | Lakeflow Connect, Auto Loader         | 데이터를 레이크하우스로 수집        |
| 레이크하우스 | Bronze → Silver → Gold (Delta Lake)   | Medallion 아키텍처로 데이터 정제 |
| 변환     | SDP (선언적 파이프라인)                       | 데이터 변환 및 품질 관리         |
| 소비     | Databricks SQL, MLflow, 외부 BI 도구      | 분석, ML, 리포팅            |
| 거버넌스   | Unity Catalog                         | 전체 관리                  |

*출처: [Databricks Docs](https://docs.databricks.com)*

***

## Control Plane 내부 구성 요소 심화

Control Plane은 단순한 웹 서버가 아니라, 여러 **마이크로서비스** 로 구성된 복합 시스템입니다. Principal SA 수준에서 이 내부 구조를 이해하면 장애 대응과 아키텍처 설계에 큰 도움이 됩니다.

### Control Plane 마이크로서비스 아키텍처

| 서비스                                   | 역할             | 상세 설명                                                           |
| ------------------------------------- | -------------- | --------------------------------------------------------------- |
| **Webapp**                            | UI/API Gateway | REST API 요청을 라우팅하고, Workspace UI를 제공합니다. 모든 API 호출의 진입점입니다      |
| **Shard (Metastore)**                 | 메타데이터 저장       | Workspace 설정, 노트북 내용, 클러스터 설정 등을 MySQL 호환 DB에 저장합니다             |
| **Cluster Manager**                   | 클러스터 오케스트레이션   | 클라우드 VM 프로비저닝, Auto Scaling, Spot Instance 관리, 비정상 노드 교체를 수행합니다 |
| **Jobs Service**                      | 작업 스케줄링        | Cron 기반 스케줄, 트리거 기반 실행, 재시도 로직, DAG 의존성 관리를 담당합니다               |
| **Unity Catalog Service**             | 거버넌스 엔진        | 메타데이터 CRUD, 권한 평가(Policy Evaluation), 리니지 수집, 감사 로그 생성을 수행합니다   |
| **Token Service**                     | 인증/인가          | PAT(Personal Access Token), OAuth 토큰, 서비스 프린시펄 인증을 관리합니다        |
| **Secure Cluster Connectivity (SCC)** | 네트워크 터널        | Compute Plane → Control Plane 방향의 안전한 역방향 터널을 제공합니다             |

### Control Plane의 데이터 저장

> 💡 **중요 포인트**: Control Plane에는 **고객의 비즈니스 데이터가 저장되지 않습니다**. 다만 다음과 같은 메타데이터는 Control Plane에 존재합니다.

| 저장 항목             | 위치                | 민감도                   |
| ----------------- | ----------------- | --------------------- |
| 노트북 소스 코드         | Control Plane DB  | 중간 (코드에 민감 정보 포함 가능)  |
| 클러스터/작업 설정        | Control Plane DB  | 낮음                    |
| 쿼리 결과 (1MB 미만 캐시) | Control Plane 메모리 | 높음 (결과에 민감 데이터 포함 가능) |
| UC 메타데이터          | Control Plane DB  | 낮음 (테이블 이름, 스키마 등)    |
| Git 자격증명 (암호화)    | Control Plane KMS | 높음                    |

> ⚠️ **보안 주의**: 노트북에 비밀번호나 API 키를 하드코딩하면 Control Plane에 저장됩니다. 반드시 **Databricks Secrets** 를 사용하세요.

***

## 정리

| 핵심 개념             | 설명                                                  |
| ----------------- | --------------------------------------------------- |
| **Control Plane** | Databricks가 관리하는 영역. UI, 스케줄링, 메타데이터 관리를 담당합니다      |
| **Compute Plane** | 고객 클라우드에 위치한 영역. 실제 데이터 처리와 저장이 이루어집니다              |
| **Serverless**    | 리소스를 자동 관리하여 사용자가 인프라를 신경 쓰지 않아도 되는 방식입니다           |
| **Workspace**     | Databricks에서 작업을 수행하는 독립적인 환경입니다                    |
| **VPC/VNet**      | 클라우드에서 네트워크를 격리하여 보안을 확보하는 기술입니다                    |
| **PrivateLink**   | 인터넷을 경유하지 않는 전용 네트워크 연결입니다                          |
| **SCC**           | Secure Cluster Connectivity — 인바운드 포트 없이 안전하게 통신합니다 |
| **DR (재해 복구)**    | DEEP CLONE, IaC, 스토리지 복제를 결합한 멀티 리전 복구 전략입니다        |

다음 문서에서는 실제로 Databricks Workspace에 접속하여 **UI를 둘러보는 방법** 을 안내해 드리겠습니다.

***

## 참고 링크

* [Databricks: Architecture overview](https://docs.databricks.com/aws/en/getting-started/overview.html)
* [Azure Databricks: Architecture](https://learn.microsoft.com/en-us/azure/databricks/getting-started/overview)
* [Databricks: Serverless compute](https://docs.databricks.com/aws/en/serverless-compute/)
