zoukankan      html  css  js  c++  java
  • cube.js 新的预聚合层

    cube.js 目前扩展了原有pre-aggregation 处理层,基于rust 自己搞了一层新的存储处理,目前还没有ga
    但是功能很不错,看到的是cube.js 团队打算自己基于rust 实现一个通用的底层基于apache arrow 的数据
    格式处理,以前来说cube.js包含两类聚合处理内部的以及外部的聚合处理

    参考

    • 内部处理
     
    cube(`Orders`, {
      sql: `select * from orders where completed = true`,
      preAggregations: {
        main: {
          type: `originalSql`
        }
      }
    });
    • 外部
    cube(`Orders`, {
      sql: `select * from orders`,
      //...
      preAggregations: {
        categoryAndDate: {
          type: `rollup`,
          measureReferences: [Orders.count, revenue],
          dimensionReferences: [category],
          timeDimensionReference: createdAt,
          granularity: `day`,
          partitionGranularity: `month`,
          external: true
        }
      }
    });

    说明

    目前从代码上来看,cube.js 基于 rust 的新预聚合处理是基于mysql 协议包装的,底层基于apache arrow
    进行存储,sql 解析基于sqlparser,同时依赖了msql-srv这样就可以包装成为一个mysql 引擎了

    参考资料

    https://github.com/cube-js/cube.js/tree/master/rust

  • 相关阅读:
    springAOP实现原理
    cglib用法
    git 用法
    java基础算法之快速排序
    记一次与a标签相遇的小事
    java设计模式之建造者模式
    HashMap源码分析
    Linux下安装nginx
    java设计模式之策略模式
    java设计模式之中介者模式
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/14213498.html
Copyright © 2011-2022 走看看