尽管cube.js 包含了一个doc 站点,但是资料不是很全,同时如果查看了cube github 代码中的一些demo的话,发现还是很不错的 但是一些实践没有在文档展现出来,还好我们可以从cube 的产品网站找点有意义的东西 参考网站 https://statsbot.co/docs 比如一些好的实践 动态union table 的 https://statsbot.co/docs/dynamically-union-tables 如何处理子查询的 https://statsbot.co/do…
cube.js 对于mongodb 的连接是通过mongodb bi connector(mysql 协议)处理的,以下为简单的试用 安装mongo bi connector 这个玩意用docker 跑起来有点烦,直接试用本地运行,后期制作一个docker 镜像 下载地址 参考地址 https://www.mongodb.com/download-center/bi-connector/releases 简单配置 默认安装包已经内置了一个配置文件,我们只需要简单修改下就可以使用了,注意schem…
cube.js 官方为我们也提供了backeng 部署的模型,为了测试方便以下是一个使用docker-compose 运行的demo 项目是一个集成gitbase 的demo,实际可以按照自己的项目修改,同时集成了redis cache,gitbase-web 环境准备 项目结构 ├── README.md ├── cube │ ├── Dockerfile │ ├── index.js │ ├── package.json │ └── schema │ ├── Blobs.js │ ├── C…
这个是一个简单的demo,使用gitbase+cube 分析git 仓库代码 需求 我们平时使用的gitlab,或者gogs 等git 仓库管理工具,有自己的管理强项,但是对于分析上可能就不是那么强大了 这个就需要我们进行git 代码文件级别的分析了,可选的工具很多gitstats 就是一个不错的选择,但是大部分是基于 单仓库管理的,gitbase 则不同,给予我们提供了大批量的分析能力 环境准备 gitbase 安装 参考官方文档,直接二进制文件就可以了 cube.js 这个我们可以通过全局安…
cube.js 从设计上就进行了系统上的分层,backend,frontend,backend 是cube.js 的核心 对于cube.js backend 的部署官方也提供了好多中方法 部署模型 serverless 目前主要是aws的应用场景 heroku 基于heroku 提供的pg 以及应用部署能力 docker 部署,单机.同时基于环境变量的配置 docker-compose 全家桶的方式,集成pg.redis,以及nodejs 运行时环境 kubernetes 的集成,实际上这个就很…
  cube.js 对于measure以及dimension 提供了丰富的数据类型,基本满足我们常见应用的开发,同时对于不同类型也提供了 格式化的操作 measure类型 number 格式 purchasesRatio: { sql: `${purchases} / ${count} * 100.0`, type: `number`, format: `percent` } count 格式 numerOfUsers: { type: `count`, // optional drillMem…
  cube.js 也支持join, 参考格式 joins: { TargetCubeName: { relationship: `belongsTo` || `hasMany` || `hasOne`, sql: `SQL ON clause` } } 一个简单demo cube("Authors", { joins: { Books: { relationship: `hasMany`, sql: `${Authors}.id = ${Books}.author_id` } } }…
  cube 是cube.js data schema 的核心,里面定义了生成sql 的说明 一个比较全的schema 例子 cube(`Users`, { sql: `select * from users`, joins: { Organizations: { relationship: `belongsTo`, sql: `${Users}.organization_id = ${Organizations}.id` } }, measures: { count: { type: `cou…
cube.js的 data schema 类似graphql 的type 定义,但是cube.js 的data schema 更偏向于dsl, 其中抽象了进行数据分析应用开发中的东西,自己提炼了measures , dimensions,cube 说明 cube 这个是用来进行实体,或者说是数据库表管理的 measures 说简单点就是聚合类的操作,但是这个是由cube.js 自动帮我们生成代码的,我们只需要定义 dimensions 实际上就是我们关注的详细数据列信息(一般体现为数据库表的定义…
cube.js 是目前看到从设计以及理念上很不错的数据分析事件,graphql2chartjs 是hasura graphql-engine 团队开发 的一个类库基于graphql,以下做一些比较 cube.js 组件更丰富(backend,frontend),graphql2chartjs 就是一个类库,只是封装了一些图标的处理 cube.js 支持的数据库比较多,graphql2chartjs 只是pg(当然和hasura 的graphql-engine有关系) 都是支持实时数据展示的,但是…