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

  • 相关阅读:
    Codeforces Round #419 (Div. 2)
    论蒟蒻的自我修养
    12 day 1
    Balanced Teams (USACO Jan Bronze 2014)
    一个奇怪的绘图程序
    BZOJ 1002 [ FJOI 2007 ]
    BZOJ 3540 realtime-update 解题
    准备做的题目
    代码风格与树形DP
    CH round #55 Streaming #6
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/14213498.html
Copyright © 2011-2022 走看看