首页 > Web开发 > 详细

cube.js 集成citus pg 扩展实现多租户的数据分析

时间:2020-03-05 20:02:03      阅读:87      评论:0      收藏:0      [点我收藏+]

citus 是一个强大的pg 扩展,我们可以方便的用来开发多租户的应用,同时cube.js 支持对于多租户的数据分析

cube.js 连接citus

这个不变,就是普通的pg 连接配置

cube.js 对于多租户的处理

我们可以通过添加查询转换处理,代码如下

  • 比较适合schema 相同的数据模型
    对应的数据查询就是过滤citus 中分布式表的健
 
const CubejsServer = require(‘@cubejs-backend/server‘);
?
const server = new CubejsServer({
  queryTransformer: (query, { authInfo }) => {
    const user = authInfo.u;
    if (user.id) {
      query.filters.push({
        dimension: ‘Users.id‘,
        operator: ‘equals‘,
        values: [user.id]
      })
    }
    return query;
  }
});
?
server.listen().then(({ port }) => {
  console.log(`?? Cube.js server is listening on ${port}`);
});
 

说明

cube.js 当前对于多数据库以及多租户支持还是很不错的,方便灵活,自定义程度比较高了,目前对于schema 处理暂时只
提供了基于FileRepository 的处理,如果能提供基于s3,或者类似的解决方法的话,会更好点,暂时还没看到接口,同时对于
schema 的处理,希望也同时提供hotreload 的功能,可以实现灵活的schema 变动处理

参考资料

https://github.com/cube-js/cube.js/blob/master/docs/Cube.js-Backend/Multitenancy-Setup.md
http://docs.citusdata.com/

cube.js 集成citus pg 扩展实现多租户的数据分析

原文:https://www.cnblogs.com/rongfengliang/p/12422297.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!