본문 바로가기
Computer Science

Columnar Database는 무엇인가?

by Bloofer 2022. 8. 15.

Columnar Database는 무엇인가?

Columnar Database, 열 기반 데이터베이스는 데이터를 행 기반이 아닌 열 기반으로 저장하는 데이터베이스를 의미한다. 이러한 열 기반 데이터베이스의 목적은 쿼리로부터 처리하는 속도를 높이기 위해 하드디스크 스토리지에 데이터를 효과적으로 읽고쓰기 위함이다.

이러한 열 기반 데이터베이스는 디스크 입출력 성능을 현저히 증가시키며 특히 데이터 분석과 데이터 웨어하우스 작업에 용이하다.

 

Columnar vs. Row-base

열 기반 데이터베이스를 전통적인 행 기반 데이터베이스와 비교해보면 장단점은 아래와 같다.

(전통적인) 행 기반 데이터베이스 더 잘하는 것

  • Incremental한 데이터 로드
  • 온라인 트랜잭션 처리 용도
  • 적은 수의 행을 포함하는 쿼리

열 기반 데이터베이스가 더 잘하는 것

  • 적은 수의 열을 포함하는 쿼리
  • 대량의 데이터에 대한 쿼리 집합
  • 데이터 열 기반 압축

 

특히, 데이터 압축에 있어서 열 기반 데이터셋은 고정된 길이의 같은 타입의 데이터를 행 기반으로 저장할 수 있어 데이터 패딩을 줄이고 디스크 공간을 더 효율적으로 사용할 수 있다.

 

Columnar Database를 왜 사용할까?

정확한 사용 시나리오에 따라 달라지겠지만 열 기반 데이터베이스는 주로 대량의 데이터를 처리하는 시스템에서 유리하다. 주로 데이터 분석이나 데이터 웨어하우스 작업, 그리고 머신러닝에서 대량의 데이터셋을 읽고 쓸때 열 기반 데이터베이스는 그 장점을 누릴 수 있다.

특히, 데이터의 크기가 커지면 커질수록 열 기반 데이터베이스는 그 장점을 더 많이 발휘할 수 있다. 대량의 쿼리에 대해서 열 기반 데이터베이스는 더 효율적이고 빠르게 응답할 수 있고, 그 데이터도 더 많이 압축해서 저장할 수 있기 때문이다.

 

 

Reference