728x90
반응형
아파치 드루이드에 대한 소개는 다음과 같다.
Apache Druid is a high performance real-time analytics database
아파치 드루이드는 다차원 데이터를 빠른 쿼리 속도를 제공하기 위해 세그먼트 단위로 데이터를 인덱스하여 저장한다. 따라서 실시간 분석을 할 때 용이하다. 드루이드는 실시간 수집, 빠른 쿼리 성능 및 높은 가동 시간이 중요한 경우를 지원하기 위한 데이터베이스로 가장 자주 사용된다. 빠른 집계가 필요한 동시성 높은 API 백엔드로 사용된다.
요약하자면 이러한 기능을 갖고 있다고 생각하면 된다
- High-Performance: Ingestion and Query
- Column-Oriented
- Horizontal Scalable
- Distributed Data Source
- Time-based partitioning
✔️ 전통적인 데이터 베이스 vs 아파치 드루이드
전통적인 데이터베이스: 데이터 적재 -> 쿼리 -> 프로세싱 -> 결과확인
아파치 드루이드: 데이터 적재 -> 프로세싱(인덱싱) -> 쿼리 -> 결과확인
빠르게 데이터를 취합해야하고 결과값을 통해 비즈니스의 발전을 창출해야할 경우에는 이전에 발생한 이벤트들에 대한 쿼리를 최대한 빠르게 가져오는 것이 중요하다. 따라서 드루이드는 빅데이터의 이벤트 처리에 강점을 가진다고 말할 수 있다.
📚 Druid Architecture
💡 드루이드를 사용하면 좋은 경우 vs 사용하기 좋지 않은 경우
👍 사용하면 좋은 경우
- 데이터에 시간 관련 요소가 있는 경우. Druid에는 특히 시간과 관련된 최적화 및 디자인 선택이 포함된다.
- 대부분의 쿼리가 집계(Group by), 검색, 스캔인 경우
- 아래 참고한 네이버의 경우에도 검색어 트렌드와 쇼핑 인사이트에서 사용자가 원하는 조건을 선택하여 필터링 할 때 Druid 를 사용해서 효율을 높였다고 설명한다.
- 빠른 응답속도를 원하는 경우
👎 사용하기 좋지 않은 경우
- Primary Key를 사용해 레코드의 지연 시간이 짧은 업데이트를 하는 경우
- 쿼리 대기 시간이 중요하지 않은 오프라인 보고 시스템을 구축할 때
- 하나의 큰 테이블을 다른 테이블에 조인하는 경우
📚 Druid 와 Elastic Search 차이점
ElasticSearch
- Full Text Search
- Schema-Free Documents
- 데이터 압축과 롤업을 ingestion 시 지원하지 않기 때문에 필요이상으로 큰 storage 를 필요로 한다.
Druid
- Focus on OLAP work flow
- Fast Aggregation & Ingestion at Low Cost
- Schema 가 정의되어야 한다.
- Basic Search Support for Structured Event Data, but does NOT support Full Text Search
- 데이터 압축과 롤업을 지원하기 때문에 Elastic Search 보다 훨씬 작은 storage 를 필요로 한다.
📚 참고하면 좋을 자료들
https://tv.naver.com/v/4580063
https://www.youtube.com/watch?v=l60tVs1FOdU
728x90
반응형
'Data > DB' 카테고리의 다른 글
[DB] Dirty Read, Non-Repeatable Read, Phantom Read 예시 및 Snapshot Isolation Level | LIM (1) | 2023.02.17 |
---|---|
[DB] DML, DDL, DCL | LIM (0) | 2023.02.12 |
[DATABASE] OLAP vs OLTP | LIM (0) | 2022.12.25 |
[MySQL] View 란? | LIM (0) | 2022.12.10 |
[MySQL] null vs 0 group by avg 차이 | LIM (0) | 2022.07.12 |
댓글