행 기반 데이터베이스(Row-oriented Database) 는 데이터를 행 단위로 관리하는 DBMS입니다. 행 단위 읽기 맟 쓰기 연산에 최적화돼 있습니다. PostgreSQL, MySQL이 대표적인 행 기반 데이터베이스입니다.
반면, 열 기반 데이터베이스(Column-oriented Database) 는 열 기반으로 데이터를 관리한다는 점에서 행 기반 데이터베이스와 차이가 있습니다. 데이터를 조회할 때 필요한 열만 로드하기 때문에 디스크 I/O를 줄일 수 있으며, 같은 종류의 데이터가 연속적으로 저장되므로 압축 효율이 높습니다. 이러한 특징으로 인해 주로 데이터 분석에 사용됩니다. 대표적인 열 기반 데이터베이스로는 BigQuery, Redshift, Snowflake가 존재합니다.
예를 들어, 다음과 같은 데이터가 존재한다고 가정하겠습니다.
Name CreatedAt
Atom 2024-01-23
Prin 2024-02-01
Gosmdochee 2024-02-03
행 기반 데이터베이스의 경우, 아래와 같이 데이터를 관리합니다.
[Atom, 2024-01-23] [Prin, 2024-02-01] [Gosmdochee, 2024-02-03]
반면, 열 기반 데이터베이스의 경우, 아래와 같이 데이터를 관리합니다.
[Atom, Prin, Gosmdochee] [2024-01-23,2024-02-01,2024-02-03]
LIST
'Spring & Backend' 카테고리의 다른 글
| 이진 트리에 대해서 설명해 주세요 (6) | 2025.08.01 |
|---|---|
| 타입스크립트 satisfies 키워드에 대해 설명해주세요 (2) | 2025.08.01 |
| 트리 쉐이킹에 대해 설명해주세요 (1) | 2025.07.30 |
| 페이지 교체 알고리즘에 대해서 설명해 주세요 (0) | 2025.07.30 |
| Core Web Vitals란 무엇인가요? (10) | 2025.07.29 |
