카테고리
Use-case Study
생성자
U
Untitled- 기존 아키텍처 : Clickhouse를 사용한 분석플랫폼 제작
- 기존 아키텍처의 문제점
- ClickHouse의 Fixed Dimensions
- JOIN 기능의 지원 부족으로인해 denormalized table에 의지해야 했으며, 이로인해 사용자는 고정된 차원(데이터) 만 사용할 수 있어 실시간 분석이 어려웠음
- 수많은 데이터 소스와 테이블이 있는 상황에서 모든 테이블을 처리해 주는것은 실질적으로 불가능 했기에 일부만 서비스 중
- ClickHouse의 확장성 문제
- 노드 간의 데이터 균형을 맞추기 위한 수동 개입이 필요했음, 자동화가 부족한 시간 소모적인 프로세스 유지
- 데이터 량이 증가함에 따라 이러한 관리 비용이 늘어나고 있었음
- ClickHouse의 제한적인 Data Upserts/Deletes
- ClickHouse는 실시간 가변 데이터를 처리하기 위해서 MOR방식을 사용했음, 이는 실시간 데이터를 제공할 수 있지만, 다른 데이터 성능을 심각하게 낮추는 문제가 발생
- 이를 통해 많은 시나리오에 사용이 어렵거나 불가능 특히 가변 데이터와 복잡한 스키마 분석이 필요한 워크플로우 지원능력에 제한
- StarRocks 채택 이유
- 다중 테이블 JOIN : de-normal 에 의존하지 않고 여러 테이블에서 복잡한 쿼리를 처리할 수 있는 능력
- 강력한 집계된 쿼리 성능 : 동적 실시간 분석을 위해 빠르고 효율적인 쿼리 실행, Clickhouse 와 비슷하거나 이를 능가하는 속도
- 확장기능: 최소한의 운영 오버헤드로 증가하는 데이터 볼륨을 처리할수 있도록 수평확장이 원활한 부분
- 데이터 Upsert : 쿼리 성능에 영향을 주지 않고 실시간 데이터 Upsert를 지원하는 기능
- External Catalog : Apache Iceberg 및 다른 외부 데이터 세트를 원할하게 분석할수 있는 부분
- Shared-data : 분리된 스,토리지-컴퓨팅 아키텍처는 확장을 단순화하며, 효율적인 리소스 관리를 가능하게 함
- 신규 아키텍처 효과
- 유연한 SQL : 엔지니어가 이제는 SQL을 사용하여 Raw데이터를 직접적으로 쿼리할 수 있으므로 Clickhouse의 경직되고 사전 처리된 데이터에 비해 비교할 수 없는 유연성을 제공
- 강력한 성능향상 : 다중 테이블 JOIN 및 실시간 데이터 Upsert 및 Delete에 대한 빠른 속도
- 통합쿼리 플랫폼: Apache Iceberg 및 Hive같은 외부 카탈로그 연동을 통한 효율적인 통합 분석 환경
- 확장성 : 쿠버네티스를 통한 StarRocks의 수평적 확장 기능을 통해서 충분한 확장성을 보장하며 여러 워크로드들을 비용 효율적으로 처리함