안녕하세요! 오늘은 데이터 저장소의 두 거물, Data Lake와 Data Warehouse의 차이를 알아보겠습니다. 병원 데이터를 다루다 보면, "이 영상 데이터는 어디서 가져와요?" 혹은 "지난달 환자 통계는 어디 있어요?"라는 질문을 하게 되는데요. 그 답이 바로 여기에 있습니다.

1. Data Lake : 날 것 그대로의 저장소
위 그림의 왼쪽(파란색)을 봐주세요.
- 정의: 데이터를 원래의 형태(Raw format) 그대로 저장하는 중앙 저장소입니다.
- 특징 (Schema-on-Read): 데이터를 저장할 때는 규칙이 없습니다. 나중에 읽을 때(Read) 스키마를 정의합니다.
- 의료 현장 예시:
- 비정형 데이터: MRI, X-ray 이미지, 내시경 비디오.
- 반정형 데이터: 환자 바이탈 사인(ECG) 로그 JSON 파일.
- 주요 사용자: 데이터 과학자(Data Scientist), 머신러닝 엔지니어. (딥러닝 모델 학습용 데이터를 여기서 꺼내갑니다.)
2. Data Warehouse (데이터 웨어하우스): 잘 정리된 약국
위 그림의 오른쪽(주황색)입니다.
- 정의: 분석과 리포팅을 위해 가공되고(Cleaned), 구조화된(Structured) 데이터를 저장하는 곳입니다.
- 특징 (Schema-on-Write): 데이터를 저장할 때(Load) 미리 정의된 스키마(규칙)에 맞춰야 합니다. SQL 쿼리 속도가 매우 빠릅니다.
- 의료 현장 예시:
- 원무팀에서 보는 월별 매출 보고서.
- 심사팀에서 보는 환자별 진단 코드(ICD-10) 목록.
- 주요 사용자: 데이터 분석가(Data Analyst), 비즈니스 사용자. (우리가 대시보드 만들 때 주로 접속하는 곳입니다.)
3. 현업의 핵심 구조: Fact Table vs Dimension Table
데이터 웨어하우스 내부는 보통 스타 스키마(Star Schema)라는 형태로 정리되어 있습니다. (위 그림의 오른쪽 차트를 참고하세요!)
① Fact Table
- 정의: 비즈니스 프로세스에서 발생한 '측정 가능한 숫자(Metrics)'를 담고 있습니다.
- 특징: 데이터 양이 엄청나게 많습니다(Millions row).
- 의료 예시:
- Fact_Admissions (입원 사실): 입원 기간(일수), 진료비(원), 처방 횟수(건).
- "환자 A가 2026-01-08에 입원해서 100만 원을 냈다."라는 사건을 기록합니다.
② Dimension Table (차원 테이블)
- 정의: Fact 데이터를 설명해 주는 '문맥(Context)'이나 '속성(Attributes)'**을 담고 있습니다.
- 특징: Fact 테이블보다 크기가 작고, 필터링(WHERE 절)이나 그룹핑(GROUP BY)에 사용됩니다.
- 의료 예시:
- Dim_Patient (환자 정보): 이름, 나이, 성별, 주소.
- Dim_Date (날짜 정보): 연, 월, 일, 요일, 공휴일 여부.
요약
- 딥러닝(이미지/영상)을 한다면? -> Data Lake에서 데이터를 가져옵니다.
- 병원 경영 지표(KPI)를 뽑는다면? -> Data Warehouse에서 SQL을 날립니다.
- 쿼리를 짤 때는 Fact Table(숫자)을 중심에 두고, Dimension Table(누가, 언제, 어디서)을 조인(Join)해서 분석합니다.
'Study Note > dbt' 카테고리의 다른 글
| [dbt 입문] 한 방에 이해하기: 왜 모두가 dbt를 쓰는가? (0) | 2026.01.07 |
|---|