Cube.js 试试这个新的数据分析开源工具

                                          cube.JS

1 cube.JS简介

Cube是无界面商业智能平台。它帮助数据工程师和应用程序开发人员从现代数据存储中访问数据,将其组织为一致的定义,并将其交付给每个应用程序。Cube 旨在与所有支持 SQL 的数据源一起工作,包括像 Snowflake 或 Google BigQuery 这样的云数据仓库、像 Presto 或 Amazon Athena 这样的查询引擎,以及像 Postgres 这样的应用程序数据库。Cube 内置关系缓存引擎,为 API 请求提供亚秒级延迟和高并发。

009664b94de1f1c3511d0205dee57fb9.png

2 为什么选择cube.JS

  • SQL。使用纯 SQL 查询对十几个维度的十几个指标进行建模会成为维护的噩梦,这会导致构建建模框架。

  • 性能。现代分析软件开发中的大部分时间和精力都花在提供足够的时间来洞察力上。在每个公司的数据都是大数据的世界里,仅仅编写 SQL 查询来获得洞察力已经不够了。

  • 访问控制。保护和管理所有下游数据消费应用程序对数据的访问非常重要。

Cube 拥有实现高效数据建模、访问控制和性能优化所需的基础架构和功能,因此每个应用程序(如嵌入式分析、仪表板和报告工具、数据笔记本和其他工具)都可以通过 REST、SQL 和GraphQL API。

0077206949dd122ea1b098b2ce2d87c6.png

3 搭建

您可以在本地开始使用 Cube,也可以使用 Docker 自行托管它,我们选择使用Docker的方式

3.1 使用 Docker CLI 运行 Cube.js

请记住使用PowerShell或 WSL2运行以下命令。在新建文件夹中,运行以下命令:

docker run -p 4000:4000 -p 3000:3000 \
  -v ${PWD}:/cube/conf \
  -e CUBEJS_DEV_MODE=true \
  cubejs/cube

3.2 打开部署后台

前往 http://localhost:4000 ,如果是服务器部署把localhost换成相应的机器IP。

028418a0ef5144c8221f9b717acc670c.png 74bf9ae8fc4f92d31725cfd24352eb35.png

单击应用后,您应该会看到配置的数据库中可供您使用的表。选择一个以生成数据模式。生成架构后,您可以在“构建”选项卡上执行查询。

4 Cube.js 示例概述

4.1 教程

这些教程是开始学习 Cube.js 的好地方:

  • Cube.js,开源仪表板框架:终极指南 — 使用 Cube.js 启动 API 并使用 React 构建仪表板

  • 使用 Node.js 构建 MongoDB Dashboard — 了解如何使用 MongoDB Connector for BI 将 Cube.js 连接到 MongoDB

  • React Dashboard: an Ultimate Guide — 学习如何使用 React、GraphQL 和 Cube.js 构建动态仪表板

  • React 查询构建器 和Vue 查询构建器 — 了解如何使用 React 和 Vue 的查询构建器组件来构建可定制的查询界面

以下教程涵盖了 Cube.js 的高级概念:

  • 预聚合教程— 了解预聚合,这是 Cube.js 最强大的功能之一,可显着提高仪表板和报告等应用程序的性能

  • 构建一个开源的 Mixpanel 替代方案— 关于使用 Cube.js 构建生产就绪应用程序的两部分系列:第 1 部分:收集和显示事件, 第 2 部分:转换漏斗

4.2 特征

特征故事案例
向下钻取引入向下钻取表 API演示
比较日期范围比较不同时间段的数据演示
数据混合引入数据混合 API演示
实时数据获取 实时仪表板指南演示
动态模式创建 使用 asyncModule 生成模式
验证Auth0 集成
验证AWS Cognito 集成

4.3 前端集成

探索如何将 Cube.js 与数据可视化工具集成:

工具教程演示
D3.jsD3仪表板教程演示
谷歌图表谷歌图表仪表板演示
Highcharts React Highcharts 示例演示
Material UI带有React的MaterialUI仪表板演示
Material UI使用Materia UI 反应数据表演示
Material带Materia的角度仪表板演示
AG网格使用 AG Grid 反应数据透视表演示
地图盒使用 Mapbox 构建基于地图的数据可视化演示
Retool使用 Retool 构建内部仪表板演示

Cube.js是一个用于构建分析web应用程序的开源框架,主要用于构建内部的商业智能工具或将面向客户的分析添加到现有的应用程序当中。大多数情况下,构建此类应用程序的第一步是分析仪表板。通常从“在管理面板中添加一个分析仪表板”开始,然后就像软件开发中经常发生的那样,事情会变得更加复杂。

当开始使用Cube.js时,会想要构建一个工具,它起初很简单,但在功能,复杂性和数据量方面很容易扩展.Cube.js为未来的分析系统奠定坚实的基础,无论是独立的应用程序还是嵌入到现有的分析系统中。

大多数现代web应用程序都是作为单页面应用程序构建的,前端与后端分离。遵循微服务架构,后端通常也会分成多个服务。通常,Cube.js的后端作为服务运行,管理与数据库的连接,包括查询队列,缓存,预聚合等。同时为前端应用程序公开一个API,用于构建仪表板和其他分析功能。

目前很多的低代码的兴起和各种BI的开源项目,也为分析提供了很多的便利,但是很多公司为了能够满足自己的个性化的需求,也在寻求在开源的基础上进行二次开发,那么Cube.js也是个不错的选择。

参考资料: [1] https://github.com/cube-js/cube.js

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值