
OLAP(Online Analytical Processing) 시스템의 가장 기본적인 컴포넌트 구조는 위와 같이 정리할 수 있습니다.
가장 기초적인 컴포넌트부터 알아봅시다.
Storage
OLAP은 기본적으로 방대한 데이터를 저장하고, 분석하는 것을 목표로 합니다.
만약 아주 적은 데이터라면 굳이 OLAP을 쓸 필요 없이 OLTP로 트랜잭션, 분석을 동시에 해도 상관 없기 때문입니다.
OLAP에서 사용하는 스토리지는 이런 선택지가 있습니다.
- 로컬 파일 시스템
- 분산 파일 시스템 (HDFS)
- 객체 스토리지 (S3)
또한 저장 방식의 유형과 관련해, 행 지향(Row-oriented) 데이터베이스와 열 지향(Columnar) 데이터베이스를 사용할 수 있습니다.
최근에는 열 지향 데이터베이스가 방대한 양의 데이터를 처리할 때 더 효율적임이 입증되면서 많이 사용하고 있습니다.
보통 분석 시스템에서는 특정 항목의 통계를 내는 일이 많은데, 예를 들면 "지난달의 총 매출은?", "어제 방문자 수는?" 이런 분석을 할 때 "매출" 또는 "방문자 ID"에 해당하는 컬럼의 데이터만 집계하면 되기 때문에 열 지향 데이터베이스가 효율적인 경우가 많습니다.
File format
파일 포맷은 일반적으로 세 가지 범주가 있습니다.
- 정형(CSV)
- 반정형(JSON)
- 비정형(Text)
그리고 정형과 반정형 범주에서 파일 포맷은 또 행 지향(Row-Oriented), 열 지향(Columnar)으로 나뉩니다.
대표적으로 행 지향 파일 포맷에는 CSV, Avro, 열 지향 파일 포맷에는 Parquet, ORC가 있습니다.
특징은 위 데이터베이스에서 설명한 것과 마찬가지인데, 그럼 행 지향이 유리한 경우는 없을까? 물어본다면 다음과 같은 상황이 있을 수 있습니다.
매번 적은 행의 데이터만 추출하고자 할 때
만약 10억 건의 데이터가 있고, 그 중 100개의 행을 추출하고자 할 때
행 지향의 경우 100번의 접근을 하면 됩니다. 같은 행에 있는 데이터는 모두 붙어있기 때문입니다.
열 지향의 경우 행 마다 100개의 다른 컬럼 파일에 접근해야 합니다. 같은 컬럼끼리 데이터가 붙어있기 때문입니다. 따라서 1만 번의 읽기 연산이 필요합니다.
Table format
테이블 포맷은 파일 포맷 상단의 메타데이터 레이어의 역할을 합니다.
각 데이터 파일들이 스토리지에 어떻게 배치되어야 하는지를 규정하며, 사용자가 수천 개의 데이터 파일을 직접 관리할 필요 없이 마치 하나의 테이블처럼 다룰 수 있도록 도와줍니다. 직접 쿼리를 할 때는 하나의 데이블에 대해서만 작성하므로 테이블 포맷에서 이를 추상화했다고 볼 수 있습니다.
또한 ACID 트랜잭션을 보장해주기 때문에, 데이터 레이크에서도 마치 OLTP처럼 안전한 CRUD 연산이 가능해집니다.
Storage engine
테이블 포맷이 규정한 형태로 데이터를 배치해주는 역할을 합니다.
주로 물리적인 데이터 최적화, 인덱스 관리, 오래된 데이터의 삭제(Iceberg의 maintenance) 역할을 맡습니다.
Catalog
주로 중앙에 위치하여 테이블의 메타데이터를 활용해 데이터를 최대한 빠르게 찾을 수 있도록 도와주는 역할을 합니다.
비유가 적절할지 모르겠지만, 책의 목차와 비슷하다고 볼 수 있어요.
주로 hive 카탈로그를 많이 쓰는데, 그 이유는 여러 테이블 포맷에서 쓸 수 있도록 개방해두었기 때문입니다.
Compute engine
방대한 양의 데이터를 효율적으로 처리하는 역할을 합니다.
주로 대량 병렬 처리 엔진을 자주 쓰며, 대표적인 예로 Spark가 있습니다.
출처
https://product.kyobobook.co.kr/detail/S000208452383
Apache Iceberg | Tomer Shiran - 교보문고
Apache Iceberg | By following the lessons in this book, you'll be able to achieve interactive, batch, machine learning, and streaming analytics with this lakehouse. Authors Tomer Shiran, Jason Hughes, Alex Merced, and Dipankar Mazumdar from Dremio guide yo
product.kyobobook.co.kr