cube.js介绍
官网地址:https://cube.dev/
Cube.js是一个开源的模块化框架,用于构建分析web应用程序。它主要用于构建内部业务智能工具或向现有应用程序添加面向客户的分析。
Cube.js设计用于无服务器查询引擎,如AWS Athena和谷歌BigQuery。多阶段查询方法使其适合处理数万亿个数据点。大多数现代RDBMS也可以使用Cube.js,并且可以调优以获得足够的性能。
与其他应用程序不同,它不是一个整体应用程序,而是一组模块,可以很好地完成一件事。
为什么Cube.js ?
如果你正在构建自己的商业智能工具或面向客户的分析,你很可能会面临以下问题:
表演在现代分析软件开发中,大部分的精力都花在了提供足够的洞察时间上。在每个公司的数据都是大数据的世界里,仅仅编写SQL查询来获得洞察力已经不够了。
SQL代码组织。使用纯SQL查询对十几个维度的十几个指标进行建模,迟早会成为维护的噩梦,最终会导致构建建模框架。
Cube 拥有实现高效数据建模、访问控制和性能优化所需的基础架构和功能,因此每个应用程序(如嵌入式分析、仪表板和报告工具、数据笔记本和其他工具)都可以通过 REST、SQL 和GraphQL API。
Docker部署
本地Docker部署
使用decker Desktop
下载cube.js镜像
运行cubejs
1、指定 ip 4000
2、配置环境变量
CUBEJS_DEV_MODE=true
CUBEJS_DB_HOST=host.docker.internal
CUBEJS_DB_NAME=mysql
CUBEJS_DB_USER=root
CUBEJS_DB_PASS=123456
CUBEJS_DB_TYPE=mysql
CUBEJS_API_SECRET=f175c412a9136d6bf6cb
注意:host如果是在Docker里不能使用localhost,而是指定host.docker.internal
CUBEJS_DEV_MODE需要选择true
或者PowerShell在新建文件夹中,运行以下命令:
docker run -p 4000:4000 -p 3000:3000 \-e CUBEJS_DEV_MODE=true \cubejs/cube
打开部署后台
前往 http://localhost:4000
如果使用最新的mysql会出现:
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested
by server; consider upgrading MySQL client
是默认加密方式导致的(修改加密规则为普通模式,默认是严格加密模式)
需要改变一下模式
登录数据库 mysql -u root -p
输入密码
用数据库 use name
修改密码 alter user 'root'@'localhost' identified with mysql_native_password by '123456';
刷新 flush privileges;