https://sparkdia.tistory.com/56

Untitled

로우 기반 저장 방식은 아래 예제처럼 데이터의 각 로우 내 데이터를 순서대로 저장(Serialize) 합니다. (각 로우별 저장 순서는 테이블 조회 시 보여지는 로우의 순서와 상이할 수 있습니다.)

컬럼 기반 저장 방식은 아래 예제처럼 한 컬럼의 데이터를 먼저 저장(Serialize)한 후 다음 컬럼의 데이터를 저장 만약에 컬럼 내 동일한 데이터가 존재한다면, 아래와 같은 방법으로 동일한 데이터를 한번만 저장하여 저장 공간을 절약

OLTP는 로우지향방식으로 데이터를 배치한다. 테이블에서 한 로우의 모든 값은 서로 인접하게 저장된다. 이점은 문서 데이터 베이스와 유사하다. 반대로 OLAP에서 사용되는 칼럼지향 방식은 모든 값을 하나의 로우에 저장하지 않는다. 각 칼럼별로 모든 값을 함께 저장한다. 각 칼럼을 개별 파일에 저장하면 질의에 사용되는 칼럼만 읽고 구분 분석

칼럼지향 저장소는 대개 압축에 적합해서 디스크 처리량을 줄일 수 있다. 가장 효과적인 기법으로 비트맵부화하 방법으로 비트맵 색인을 활용한다. 중복된 칼럼값들 내에서 n개의 고유값을 가진 칼럼을 가져와서 개별 비트맵으로 변환할 수 있다. 이러한 압축을 더 효율적으로 하기 위해 정렬키를 설정한다. 이러한 정렬 순서는 로우 지향 저장소에서의 색인과 비슷한 개념이다.

그러나 이러한 작업들은 모두 읽기에 최적화되어있고, 쓰기에 적합하지 않다. 이러한 해결책으로 이미 언급된 LSM트리를 활용