Cube.js - Platform API analitik open source
(cube.dev)- Open source yang memungkinkan Anda mengembangkan alat BI sendiri atau membuat fitur analitik untuk disediakan kepada pengguna
→ Berbagai dashboard serta fitur seperti MixPanel dan GoogleAnalytics dapat diimplementasikan sendiri
- Pada dasarnya dirancang agar sangat cocok dengan mesin kueri serverless seperti AWS Athena dan Google BigQuery,
namun juga terhubung dengan baik ke MySQL, PostgreSQL, Presto, SQlite, dan lainnya
- Cube.js Backend
→ Schema: Berfungsi seperti ORM untuk analitik sehingga memungkinkan pemodelan data untuk berbagai kebutuhan, dari counting hingga analisis cohort/funnel
→ Query Orchestration and Cache: Memecah kueri menjadi unit-unit kecil yang dapat digunakan ulang untuk mengoptimalkan eksekusi kueri
→ API Gateway: Menyediakan API long polling untuk mengambil hasil analitik tanpa batasan waktu permintaan
- Cube.js Frontend
→ Javascript Client: Fungsi-fungsi inti untuk membaca hasil kueri dengan terhubung ke API Gateway
→ Menyediakan binding React, Angular, dan Vue untuk API Cube.js
→ Mendukung banyak chart seperti Chart.js, D3.js, Google Chart, dan lainnya
-
Performa kueri sangat baik, mendukung multi-tenancy
-
Beragam contoh yang sangat bagus untuk dijadikan referensi: setiap sampel dilengkapi panduan cara membangunnya sehingga mudah dijadikan acuan
→ Dashboard real-time menggunakan WebSocket - https://real-time-dashboard.cube.dev/
→ Dashboard berbasis React/GraphQL - https://react-dashboard.cube.dev/
→ Dashboard D3/Material UI - https://d3-dashboard.cube.dev/
→ Membuat alat analisis event seperti Mixpanel menggunakan Snowplow - https://cube.dev/blog/building-an-open-source-mixpanel-alternative-1/
→ AWS Web Analytics dengan memanfaatkan AWS Lambda, Athena, dan Kinesis - https://cube.dev/blog/…
→ Contoh pengganti Google Analytics menggunakan Snowplow, Athena, dan React - https://web-analytics.cube.dev/
→ Drill Down Table API - https://cube.dev/blog/introducing-a-drill-down-table-api-in-cubejs/
1 komentar
Di Korea, diketahui bahwa Coupang menggunakan cube.js.