스토리지 레이어: DBFS와 클라우드 오브젝트 스토리지
60 Databricks Interview Questions Senior DEs Actually Ask (2026) — 미상 (DataVidhya 블로그, 2026) Core Architecture & Fundamentals, Q7 (pp.4) 및 beginner guide 'Storage Layer in Databricks' (pp.9-10)
이 모듈을 다 읽으면
- DBFS가 실제로 무엇을 추상화하는지, 왜 필요한지 설명할 수 있다
- 컴퓨트와 스토리지의 분리가 Databricks 확장성에 왜 중요한지 설명할 수 있다
- DBFS 루트에 프로덕션 데이터를 직접 저장하는 것이 왜 더 이상 권장되지 않는지 설명할 수 있다
Databricks 자신은 데이터를 저장하지 않는다 — 실제 데이터는 클라우드별 오브젝트 스토리지(AWS S3, Azure ADLS Gen2, GCP GCS)에 존재하며, DBFS(Databricks File System)는 그 위에 Unix 스타일 파일 경로를 매핑해주는 추상화 계층일 뿐이다. 이 컴퓨트-스토리지 분리 구조가 Databricks 확장성의 핵심 이유 중 하나다.
DBFS는 추상화 계층이다
DBFS는 클라우드 오브젝트 스토리지 위에 분산 파일 시스템처럼 보이는 추상화 계층을 제공한다. `ls`, `cp`, `mv` 같은 익숙한 Unix 스타일 명령을 `dbutils.fs` 유틸리티나 `%fs` 매직 커맨드를 통해 사용할 수 있게 해준다. 핵심은 로컬 파일 경로를 실제 클라우드 스토리지에 매핑해준다는 점으로, 복잡한 S3나 ADLS URI를 코드에 하드코딩하지 않고도 로컬 환경에서 클라우드 환경으로 코드를 옮기기 쉽게 만든다.
핵심 포인트
- DBFS는 클라우드 오브젝트 스토리지 위에 Unix 스타일 파일 시스템 인터페이스를 얹은 추상화 계층이다
- `dbutils.fs`나 `%fs` 매직 커맨드로 `ls`, `cp`, `mv` 같은 명령을 사용할 수 있다
- 로컬 파일 경로를 클라우드 URI에 매핑해줘 코드 이식성을 높인다
컴퓨트-스토리지 분리와 저장 가능한 데이터 종류
Databricks는 데이터 처리(컴퓨트)를 담당하고, 실제 데이터를 안전하게 보관하는 일은 별도의 스토리지 시스템이 담당한다. 이 분리가 Databricks가 뛰어난 확장성을 갖는 이유 중 하나다. 스토리지 레이어는 정형(테이블, CSV, Parquet, Delta 테이블), 반정형(JSON, XML, 로그), 비정형(이미지, 영상, 문서, 오디오) 데이터를 모두 담을 수 있으며, 이런 유연성이 Lakehouse가 다양한 비즈니스 요구에 쓸모 있는 이유다.
핵심 포인트
- Databricks는 컴퓨트만 담당하고, 실제 데이터는 클라우드별 오브젝트 스토리지(S3/ADLS/GCS)에 저장된다
- 컴퓨트와 스토리지의 분리가 Databricks 확장성의 핵심 요인 중 하나다
- 스토리지 레이어는 정형·반정형·비정형 데이터를 모두 수용할 수 있다
추가 보완 — DBFS 루트 사용에 대한 최신 권고
원문은 DBFS를 편리한 추상화로만 소개하지만, 실무에서 중요한 최신 맥락 하나가 빠져 있다 — 정정: Databricks는 프로덕션 데이터를 DBFS 루트(`/dbfs`나 legacy 마운트 포인트인 `/mnt`)에 직접 저장하는 방식을 더 이상 권장하지 않는다. DBFS 루트는 워크스페이스의 모든 사용자가 접근 가능한 공유 스토리지이기 때문에 세밀한 접근 제어가 어렵고, 워크스페이스 간 이식성도 떨어진다. Unity Catalog가 도입된 이후에는 외부 스토리지 위치를 카탈로그에 등록해 사용하는 'Unity Catalog Volumes'와 외부 테이블/외부 위치 방식이 권장되는 대안이며, DBFS는 임시 파일이나 소규모 학습용 데이터를 다루는 용도로만 남겨두는 것이 일반적인 최신 가이드다.
핵심 포인트
- DBFS 루트나 레거시 마운트(`/mnt`)에 프로덕션 데이터를 직접 저장하는 방식은 더 이상 권장되지 않는다 — 정정
- Unity Catalog 도입 후에는 Volumes와 외부 위치(external location) 방식이 권장되는 대안이다
- DBFS는 임시 파일이나 학습용 소규모 데이터를 다루는 용도로 그 역할이 축소되었다