빅데이터/ClickHouse
ClickHouse란 무엇인가
하2문
2024. 7. 16. 01:05
ClickHouse란 무엇인가?
- ClickHouse란 OLAP(Online Analytical Processing)에서 탁월한 성능을 보이는 컬럼형 기반 데이터베이스 OpenSource입니다.
- 관계형 데이터베이스 동작방식 (Oracle, Mysql 등...)
- 컬럼형 데이터베이스 동작방식 (ClickHouse)
Clickhouse가 빠른 이유로는 다음 항목들이 있습니다.
- Column-oriented storage
- 열 중심으로 저장이 이루어져 불필요한 read 작업에 대한 리소스를 줄일 수 있습니다.
- Indexes
- 클릭하우스에서는 메모리에 저장된 인덱스를 활용하여 데이터를 효율적으로 조회할 수 있습니다. 마찬가지로 특정 행과 열만 조회하기 때문에 성능 최적화적인 요소입니다.
- Data compression
- 클릭하우스에서는 특수한 코덱을 지원하여 높은 압축률을 보여줍니다.
- Vectorized query execution
- 클릭하우스는 열에 데이터를 저장할 뿐만이 아니라 처리까지 할 수 있습니다. 때문에 SIMD CPU 명령어까지 사용이 가능합니다.
- Scalability
- 클릭하우스는 단일서버부터 cluster 구조까지 가능하기 때문에 최소의 비용으로 최대의 효율을 낼 수 있습니다.
높은 데이터 압축률, Disk를 가상메모리로 사용하는 방식 등 클릭하우스에 더 뛰어난 기능들이 많으나, 다음 Docker를 이용한 클릭하우스 설치 및 설정에서 다뤄보겠습니다.
cpu, memory, ssd만 갖춰져있다면, OLAP 측면으로는 말이 안 된다고 생각할 정도로 기이한 성능을 지니고 있는 OpenSource입니다. Spark나 Flink 처럼 다양한 기업에서 사용하게 될 날이 올까 싶긴 하지만, 성능이나 구조적 측면으로 공부할 가치가 있다고 생각합니다.
다음은 Docker를 통한 ClickHouse 설치 및 세팅에 대해 포스팅하겠습니다.