Cube.js - 오픈소스 분석 API 플랫폼
(cube.dev)- BI 도구를 직접 개발하거나 사용자에게 제공하는 분석 기능을 만들 수 있게 해주는 오픈소스
ㅤ→ 각종 대쉬보드 및 MixPanel, GoogleAnalytics 등의 기능을 직접 구현 가능
- 기본적으로 AWS Athena, Google BigQuery 같은 서버리스 쿼리 엔진과 잘 어울리게 설계되었으나,
ㅤMySQL,PostgreSQL,Presto,SQlite 등과도 잘 연결
- Cube.js Backend
ㅤ→ Schema : 분석용 ORM처럼 동작해서 카운팅부터 코호트/퍼널분석등을 위한 데이터 모델링 가능
ㅤ→ Query Orchestration and Cache : 쿼리를 재사용 가능한 단위로 잘게 쪼개서 쿼리 실행을 최적화
ㅤ→ API Gateway : 분석결과를 요청 시간제한 없이 받아갈수 있는 롱 폴링 API 제공
- Cube.js Frontend
ㅤ→ Javascript Client : API Gateway 와 연동해서 쿼리 결과를 읽어올수 있는 코어 함수들
ㅤ→ Cube.js API 용 React, Angular, Vue 바인딩 제공
ㅤ→ Chart.js, D3.js, Google Chart 등 많은 차트지원
- 뛰어난 쿼리 성능, 멀티테넌시 지원
- 참고하기 좋은 다양한 예제들 : 각 샘플들은 구축하는 방법을 알려주는 가이드가 작성되어 있어서 참고하기 쉬움
ㅤ→ WebSocket을 이용한 실시간 대시보드 - https://real-time-dashboard.cube.dev/
ㅤ→ React/GraphQL 기반 대쉬보드 - https://react-dashboard.cube.dev/
ㅤ→ D3/Material UI 대쉬보드 - https://d3-dashboard.cube.dev/
ㅤ→ Snowplow를 이용한 Mixpanel 같은 이벤트 분석도구 만들기 - https://cube.dev/blog/building-an-open-source-mixpanel-alternative-1/
ㅤ→ AWS Lambda, Athena, Kinesis 를 활용한 AWS Web Analytics - https://cube.dev/blog/…
ㅤ→ Snowplow, Athena, React 를 이용한 Google Analytics 대체제 샘플 - https://web-analytics.cube.dev/
ㅤ→ Drill Down Table API - https://cube.dev/blog/introducing-a-drill-down-table-api-in-cubejs/