QUESTION #0255
백엔드

열 기반 DB와 행 기반 DB의 차이점은 무엇인가요

열 기반 DB와 행 기반 DB의 차이점은 무엇인가요?

분야: 백엔드


행 기반 데이터베이스(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]

추가 학습 자료를 공유합니다.