데이터베이스, 데이터웨어하우스, 데이터레이크, 데이터레이크하우스. 비슷해 보이지만 각각 목적과 특성이 다릅니다.
한눈에 비교
| 구분 | 데이터베이스 | 데이터 웨어하우스 | 데이터 레이크 | 데이터 레이크하우스 |
|---|---|---|---|---|
| 목적 | 운영/트랜잭션(OLTP) | 분석(OLAP) | 원시 데이터 저장 | 분석 + 저장 통합 |
| 데이터 형태 | 구조화 | 구조화 | 비구조화/반구조화 | 모두 지원 |
| 스키마 | Schema-on-Write | Schema-on-Write | Schema-on-Read | 둘 다 가능 |
| ACID | O | O | X | O |
| 쿼리 패턴 | 단건 읽기/쓰기 | 대량 집계/분석 | 배치 처리 | 대량 집계/분석 |
| 실시간성 | 실시간 | 준실시간~배치 | 배치 | 준실시간~배치 |
| 대표 제품 | MySQL, PostgreSQL | Snowflake, Redshift, BigQuery | S3, HDFS | Databricks |
쉬운 비유
- 데이터베이스: 매장 POS 시스템. 실시간 거래를 기록합니다.
- 데이터 웨어하우스: 본사 경영분석실. 정제된 보고서용 데이터를 보관합니다.
- 데이터 레이크: 창고에 일단 다 쌓아둡니다. 정리는 안 되어 있습니다.
- 데이터 레이크하우스: 창고에 관리 시스템을 얹었습니다. 저렴하게 저장하고, 체계적으로 관리합니다.
용어 유래
- Database: Data + Base(기지) → 데이터를 저장하고 관리하는 기본 시스템
- Data Warehouse: Data + Warehouse(창고) → 정리된 물건을 체계적으로 보관
- Data Lake: Data + Lake(호수) → 모든 물이 흘러드는 호수
- Data Lakehouse: Data + Lake + House (Databricks가 2020년 제안한 신조어)
“Data Lake Warehouse"가 아닌 이유? 단순히 둘을 붙여 쓰는 게 아니라, 새로운 패러다임임을 강조하기 위해서입니다.
타임라인
| 시기 | 사건 |
|---|---|
| 1960년대 | Database 개념 등장 (IBM IMS 등 계층형 DB) |
| 1970년대 | 관계형 데이터베이스(RDBMS) 이론 정립 (E.F. Codd) |
| 1980년대 | Oracle, DB2 등 상용 RDBMS 확산 |
| 1990년대 | Data Warehouse 등장 (Bill Inmon, Ralph Kimball) |
| 2010년대 초 | Data Lake 등장 (Hadoop 시대) |
| 2020년 | Databricks가 Lakehouse 논문 발표 |
| 2021년~ | Delta Lake, Iceberg, Hudi 등 테이블 포맷 확산 |
기술적 정의
- 데이터베이스 = 트랜잭션 처리 엔진 + 스토리지 (OLTP 최적화)
- 데이터 웨어하우스 = 데이터베이스 + 분석 최적화 구조 (OLAP, 스타/스노우플레이크 스키마)
- 데이터 레이크 = 분산 스토리지 (S3, HDFS) + 스키마 없음
- 데이터 레이크하우스 = 데이터 레이크 + 테이블 포맷 (Delta Lake/Iceberg/Hudi)
테이블 포맷이 ACID, 스키마 진화, 타임트래블 기능을 제공합니다.
OLTP vs OLAP
- OLTP (Online Transaction Processing): 운영 트랜잭션 처리. 실시간 단건 처리에 최적화.
- OLAP (Online Analytical Processing): 대용량 분석 처리. 집계와 리포트에 최적화.
데이터 흐름
전통적 아키텍처
데이터베이스 (OLTP) → 데이터 레이크 → 데이터 웨어하우스 (OLAP)
현대적 아키텍처
데이터베이스 (OLTP) → 데이터 레이크하우스 (OLAP)
(레이크 + 웨어하우스 통합)
레이크하우스가 등장하면서 별도의 웨어하우스 없이 레이크 위에서 바로 분석이 가능해졌습니다.
정리
- 데이터베이스: 운영 시스템 (OLTP)
- 데이터 웨어하우스: 분석 시스템 (OLAP)
- 데이터 레이크: 원시 데이터 저장
- 데이터 레이크하우스: 레이크 + 웨어하우스 장점 결합