报表几种常用数据方案

简介: 报表的数据源如何组织?数据链路是怎样?怎样快捷方便的拿到数据?

背景

最近做了比较多的报表需求,在这里小结一下,希望对后续工作有帮助。报表是数据分析的形象化展示,目前有比较多好用的产品,比如QuickBI,Tableau等,让报表页面的工作能够方便的所见即所得;我们也可以做最核心的事情:数据处理和加工。从数据流向的技术方案来看,主要有这几种:

1. 直接从业务库数据取数据

优点:
- 不用数据导来导去,节约时间

缺点:
- 可能对业务库性能有影响;
- 无法做复杂的数据加工,不同数据库源之间的连接运算等
- 某些历史查看需求无法实现

2. 业务数据导入到MaxCompute(原名odps),经过加工后,再导入到mysql等实时库

优点:
- 可进行复杂数据加工; 
缺点:
- 数据导来导去,各个地方建表非常耗时。
- 如果每天的分区都导入而不删除,长期需考虑mysql的性能问题

3. 业务数据导入到MaxCompute,经过加工后,直接报表展示(利用QuickBI等工具的加速缓存功能)

优点:
- 可进行复杂数据加工
- 节省了从MaxCompute导入到mysql等实时库的时间和存储成本
缺点:
- 如果数据量大于20万,不支持加速(每个工具可能有不一样,但是肯定都有上限)
- 分页无法显示所有页数

4. 业务库备份库,直接业务库同步到mysql等实时库

优点
- 节约时间成本; 
缺点:  
- 无法复杂数据加工,增加存储成本

目前主要这几种技术方案,在实际使用中,我们可以结合各个业务项特点,灵活使用,不一定要局限于某一种,2应该是最常用的数据链路,但比较耗时,个人比较倾向于3 ,利用MaxCompute强大的数据加工能力,而且节省一步导数的操作。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
Kubernetes Java Serverless
进击的 Serverless:Java 应用如何从容地面对突增流量
进击的 Serverless:Java 应用如何从容地面对突增流量
104421 92
如何使用阿里云 Billing API 实现资源包余量报警
使用Billing API获取资源包余量信息,自主实现资源包余量报警
685 2
|
存储 API C++
【Qt 信号槽】深入探索 Qt 信号和槽机制中的引用传递“ (“A Deep Dive into Reference Passing in Qt Signal and Slot Mechanism“)
【Qt 信号槽】深入探索 Qt 信号和槽机制中的引用传递“ (“A Deep Dive into Reference Passing in Qt Signal and Slot Mechanism“)
1351 0
|
存储 云安全 运维
什么是等级保护, 等保2.0详解(中
什么是等级保护, 等保2.0详解
|
机器学习/深度学习 运维 数据可视化
《生成对抗网络:网络安全态势感知可视化的新引擎》
在数字化时代,网络安全至关重要。网络安全态势感知可视化通过直观展示网络状况,帮助快速发现威胁。生成对抗网络(GANs)作为前沿AI技术,正为这一领域带来变革。GANs由生成器和判别器组成,通过对抗训练生成逼真数据,用于数据增强、异常检测、威胁情报合成及动态场景模拟。尽管面临数据隐私、模型稳定性和可解释性等挑战,GANs的应用前景广阔,有望大幅提升网络安全水平。
525 22
|
PHP 开发者
如何用Composer管理PHP项目的第三方扩展包
【7月更文挑战第2天】**Composer 是PHP开发的关键工具,用于管理项目依赖。安装需PHP 5.6.4+,通过官网脚本安装。在项目根目录创建 `composer.json` 文件定义依赖,使用 `composer require` 命令安装扩展包,如Guzzle。`composer.lock` 保证版本一致。`require_once 'vendor/autoload.php';` 实现自动加载。更新依赖用 `composer update`,管理依赖提升效率和项目维护性。深入学习可发掘更多高级功能。**
548 0
|
自然语言处理 JavaScript 前端开发
JDK序列化原理问题之FuryJDK序列化性能问题的如何解决
JDK序列化原理问题之FuryJDK序列化性能问题的如何解决
301 2
|
算法 数据挖掘 API
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛
508 1
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛
|
存储 Java
【Java】已解决java.util.concurrent.RejectedExecutionException异常
【Java】已解决java.util.concurrent.RejectedExecutionException异常
1196 1
|
JSON 数据格式
FileBeat替换@timestamp的四种方法
FileBeat替换@timestamp的四种方法
1459 0

热门文章

最新文章