티스토리 뷰

반응형

관계형 데이터베이스는 대부분 데이터를 저장할 때에 "행 지향" 또는 "열 지향"으로 저장합니다.

OLTP 용 데이터베이스를 가장 많이 사용하게 됨으로 여러분이 사용 중인 데이터베이스는 대부분 "행 지향"으로 저장하고 

있을 확률이 높습니다.
행 지향은 행 (row) 단위로 데이터를 쭉 이어서 저장하는 방식입니다.

 

OLTP는 소량의 데이터를 다수의 사용자가 사용할 때 최적의 성능을 발휘하도록 설계가 되어 있기 때문에 행 단위로 저장하여
사용하는 것입니다.
반면에 열 지향은 데이터를 각각의 컬럼 별로 저장하는 방식입니다.

 

소수의 사람이 다량의 데이터를 처리할 경우에 적합니다. 주로 DW(데이터웨어하우스)에 사용되는 DBMS가 제공하는 방식입니다.
하나의 SQL에서 처리하는 행이 1억 건일 경우 행 지향 보다 열 지향으로 저장된 데이터를 처리하는 게 비교도 안되게

효율적입니다.


SQL를 배우기 전에 현재 사용하게 될 DBMS가 데이터를 향 지향으로 저장하는지 또는 열 지향으로 저장하는지 미리 파악하고
이해하는 게 많은 도움이 됩니다.

 

MariaDB경우는 하나의 DBMS에서 행 지향, 열 지향 모두 저장할 수 있습니다.

기본으로 행 지향으로 저장하는 InnoDB엔진이 사용이 되고, 테이블 생성시에  storage engine옵션에 ColumnStore를 주면

열 지향으로 데이터를 저장하게 됩니다.

 

OLTP 용 데이터베이스로 대표적으로 Oracle / SQL Server / MySQL / PostgreSQL이 있고,

OLAP 용 데이터베이스로는 SAP IQ / Teradata / MariaDB Columnstore / Netezza / ClickHouse 등 이  있습니다.

 

 

 


 

반응형