string(27) "/blog/?uid=182&mod=document"

HOME

ABOUT US

Blog

Blog

Blog

열 기반 데이터 베이스 (Columnar Database)

2021.06.29

 

행(row)기반 및 열(column)기반 데이터 베이스의 저장 방식의 차이는 데이터 저장 순서를 행 순서로 저장을 할지 열 순서로 저장을 할지에 따라 나뉘게 된다. 행 기반의 경우 쓰기(write)에 적절한 구조로 데이터를 한 번에 처리하는 방식에는 유리하다. 하지만 유사한 데이터가 일렬로 나열되어 있지 않아 특정 데이터를 가져와서 처리하는 데는 한계가 있다.

예를 들어 사원의 정보를 관리하는 데이터베이스 시스템이 행 기반이라면 사원의 특정 정보만을 조회하거나 특정 열의 데이터만을 처리하고자 할 때 전체 데이터를 탐색하게 되어 디스크 탐색시간이 길어져 처리시간이 오래 걸린다. 하지만 열 기반 데이터베이스의 경우 유사한 데이터를 모아 저장하기 때문에 특정 열의 데이터 조회 및 데이터 처리에 유리하다.

일반적으로 행 기반 방식은 OLTP환경(On-Line Transaction Processig, Insert, Update, Delete 작업이 빈번히 발생)에서는 사용하는 것을 추천하며, 열 기반 방식은 분석계 시스템이라 부르는 OLAP(On-Line Analytics Processing, 거의 Select 작업만 발생)에서 사용하는 것을 추천한다.

 

 

 

20210629112657_uo8xpew.png 

 

 

 

칼럼 기반 데이터베이스 종류

 

 

SAP HANA

 

SAP HANA는 칼럼 기반 데이터베이스이며 동시에 In-Memory 데이터 베이스이다. 일반적으로 메모리는 컴퓨터의 전원이 꺼지면 사라지는 휘발성을 지니고 있어 데이터를 계속해서 상주시킬 수 없는 공간이다. 때문에 기존에는 디스크에 데이터를 저장 후 필요한 데이터를 메모리로 불러와 처리를 하고 다시 디스크에 저장하는 것을 반복했다.

하지만 HANA의 경우 메모리에 전체 데이터를 상주시켜 처리하고 수시로 디스크에 데이터를 백업하는 형식을 취했다. 때문에 디스크에서 데이터를 읽어오는 방식보다 빠른 데이터 처리 속도를 보인다. 또, 기존 IT 서비스는 운영 시스템과 분석 시스템을 나누어 시스템을 구축을 했다면, HANA를 도입함으로써 운영 시스템과 분석 시스템을 하나로 통합하여 통합 시스템을 구축할 수 있는 장점이 있다. 이로 인해 운영 시스템과 분석 시스템의 데이터 괴리 막을 수 있을 뿐만 아니라 운영 시스템의 성능에 영향을 주는 것을 방지할 수 있다.

 

 

20210629112743_xmq834j.png

 

 

 

Action Vectorwise (백터와이즈)

 

 

백터와이즈 (vectorwise)는 네덜란드 국립 수학 컴퓨터 연구소에서 타 관계형 데이터베이스에 비해 100배 빠른 데이터베이스를 만드는 목적으로 시작된 X100이라는 프로젝트의 결과물을 상용화 한 제품이다.

백터와이즈 역시 칼럼 기반의 데이터 베이스이며 벡터 프로세싱을 도입하여 기존 RDBMS의 SISD가 아닌 SIMD 처리 방식으로 압도적인 성능을 이끌어 냈다. 또한 CPU 캐시를 직접 이용하는 방식을 사용하여 평균 메모리 접근시간을 단축하여 데이터 처리 효율을 극대화한다는 장점을 가지고 있다.

 

20210629112809_m8sftxa.png

 

 


Oracle Exadata (엑사데이터)

 

오라클 엑사데이터는 오라클 RDBMS와 스토리지를 통합하여 일체형으로 만든 데이터베이스 관리 플랫폼이다. 기존 오라클 데이터베이스에서는 대용량 데이터를 처리할 때 좁은 네트워크 대역으로 인해 DB 서버와 Storage 사이에 I/O병목 현상이 발생했다. 뿐만 아니라 조회 데이터가 작더라도 조회에 필요한 모든 데이터는 디스크에서 메모리로 로드되어져야 했다.

엑사데이타는 이런 문제점을 해결하기 위해 offload / smart scan 기능을 제공하며, 쿼리에 필요한 데이터는 스토리지에서 걸러져 메모리에는 연산 대상만이 로드된다. 쿼리의 연산을 분리 시킴으로 데이터 스캔과 처리를 병렬적으로 할 수 있어 뛰어난 성능을 보인다.