关于内部OLAP工具的一些设计思路

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: OLAP工具的使用场景与设计思路,现有的这些工具基本上都无法直接给到需求方使用;所以特地总结一下olap相关的一些工具设计思路,希望能给平台产品有些帮忙。

背景

最近一年在蚂蚁接触了很多的数据分析需求,会用到各种交付工具,总的来说是非常方便的,唯一一个没有找到最佳实践的需求场景是OLAP,现有的这些工具基本上都无法直接给到需求方使用;所以特地总结一下olap相关的一些工具设计思路,希望能给平台产品有些帮忙;如果已经有可用的产品了,还请告知~

当前了解到的内部两大主力工具

1、Deepinsight

链接: https://deepinsight.alipay.com/index.htm#/welcome/home/roleBusiness

无olap功能,但是提供数据集的共享,可以在后台编辑界面实现olap功能,页面如下:

image.png

可以用olap的数据源,用olap的方法配置报表,查询就伤不起了

2、FBI

链接: https://sg.fbi.alibaba-inc.com/fbi/home.htm

自称有olap功能,但也是在配置逻辑里面实现的,页面如下:

image.png

只能说不DI更难用

3、AEM的olap

链接: https://aem.alibaba-inc.com/project/aes/page/analytics

最像olap的页面,可惜只是应用内部的简单实现,这里列出来就是给大家对比下,页面如下:

image.png

这个算是按照 olap的产品思路做的东西了,可惜我们没办法能力复用

4、其他

DI 和 FBI 可以说基本没有olap的产品能力,所以就不具体说了,大家可以去参考其他大厂的olap产品对比下

咱们同学分享的 【产品调研】字节跳动BI解决方案-Datawind

https://www.atatech.org/articles/178756?commentId=302744&msgid=4234715#comment-302744

里面有olap的页面:

image.png

字节的这个olap设计是大家比较认可的,几年前在友商那边做的olap就是这种,在产品层面并没有太多复杂的东西,所以我们要求不高的

用户希望的OLAP工具

直接说几个当前数仓环境下,用户的主要诉求,因为和传统的olap已经不太一样了,这个是我们做olap最应该注意的地方。

1、 简单可用

主题选择+维度选择+指标选择+筛选功能+可视化方式 = 查询结果

不需要记住使用方法,点几下鼠标就可以搞定;

配置类的东西交给后台研发同学

2、不怕查询太慢

这一点和olap自身定位有些冲突,但真实场景用户确实可以接受10-20秒的等待;

因为找数据同学提数据、提需求,绝对不止这个时间,分析大部分的场景都不是急迫的,大家都知道大数据量查询慢,所以非常理解;

点几下鼠标,等几分钟,比自己写sql写关联跑任务简单多了

3、配置发布要快

也就是研发侧的响应要快,新增一个数据主题,新增一个维度或者指标,可以快速上线使用;

这就是有和没有的问题,大家可以接受查询慢,但是维度、指标一定要有,这个才是他们可以获取数据的前提;

所以开发配置的功能要高效

技术方案方面

宗旨就是:在慢的基础上尽可能的提供快速查询的能力

计算引擎:odps做预加工和托低计算,adb、explorer等做实时计算,hbase进行distinct预计算或实时计算

查询固化:自动将查询生成odps离线任务和数据

对于到底要不要做预计算,从经验上看,增加了架构的复杂度,预计算的扩展性很差,在当前分布式计算速度已经很快的情况下,直接计算性价比更高;可以在需求层面做分拆,按不同的需求设计不同的粒度数据主题

产品方案方面

主题选择+维度选择+指标选择+筛选功能+可视化方式 = 查询结果

如上,形成6个主要功能区域;

维度和指标一定要分组、筛选功能一定要灵活、分析保存和共享能力一定要有

最后、

还是太懒了,写不了太多东西,希望有用

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
6月前
|
Cloud Native OLAP OLTP
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
187 4
|
3月前
|
SQL 消息中间件 OLAP
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
52 1
|
6月前
|
存储 监控 负载均衡
InfluxDB最佳实践:数据模型设计与查询优化
【4月更文挑战第30天】本文探讨了InfluxDB的最佳实践,重点在于数据模型设计和查询优化。合理选择字段类型,根据业务逻辑划分Measurement,利用Tags进行索引优化,以及适时数据归档和清理,能有效提升性能。查询优化包括使用索引、精简查询语句、应用聚合函数及限制返回结果。分布式查询和分片适用于大规模数据集,以实现并行查询和负载均衡。这些策略旨在帮助用户优化InfluxDB的性能,进行高效时序数据分析。
|
6月前
|
SQL 分布式计算 Java
数仓学习---7、数据仓库设计、数据仓库环境准备、模拟数据生成
数仓学习---7、数据仓库设计、数据仓库环境准备
268 2
|
存储 分布式计算 安全
「技术选型」OLTP 和OLAP的异同
「技术选型」OLTP 和OLAP的异同
|
存储 分布式计算 Oracle
OLAP架构及技术实现的演进简介
这个阶段中,OLAP主要基于以Oracle、MySQL为代表的一众关系型数据实现。在ROLAP架构下,直接使用这些数据库作为存储与计算的载体。在MOLAP架构下,则借助物化视图的形式实现各数据操作。但难以解决的问题是,不论是ROLAP还是MOLAP,在数据体量大、维度数目多的情况下都存在严重的性能问题。
566 0
OLAP架构及技术实现的演进简介
|
存储 消息中间件 缓存
「数据密集型系统搭建」原理篇|OLAP、OLTP,竟然是两个世界
本篇来聊聊OLAP与OLTP的区别以及它们各自的适用场景,以此话题为导引和大家聊聊技术视野与知识储备对于研发同学的重要性,站在事务处理与在线分析的角度分别论述下两个数据世界的底层构建逻辑。
646 0
「数据密集型系统搭建」原理篇|OLAP、OLTP,竟然是两个世界
|
存储 分布式计算 druid
一篇文章搞懂数据仓库:数据应用--OLAP
一篇文章搞懂数据仓库:数据应用--OLAP
一篇文章搞懂数据仓库:数据应用--OLAP
|
大数据 BI
一篇文章搞懂数据仓库:维度表(设计原则、设计方法)
一篇文章搞懂数据仓库:维度表(设计原则、设计方法)
一篇文章搞懂数据仓库:维度表(设计原则、设计方法)
|
存储 SQL 大数据
总结OLAP系统核心技术点,每一点都值得单独收藏
  OLAP系统广泛应用于BI、Reporting、Ad-hoc、ETL数仓分析等场景,本文主要从体系化的角度来分析OLAP系统的核心技术点,从业界已有的OLAP中萃取其共性,分为谈存储,谈计算,谈优化器,谈趋势4个章节。   一、谈存储   1、列存的数据组织形式   行存,可以看做NSM (N-ary Storage Model)组织形式,一直伴随着关系型数据库,对于OLTP场景友好,例如innodb[1]的B+树聚簇索引,每个Page中包含若干排序好的行,可以很好的支持tuple-at-a-time式的点查以及更新等。   而列存(Column-oriented Storage)
700 0