当前位置: 首页 > article >正文

为什么要建数据仓库,而不是直连数据源?

各位数据的朋友,大家好,我是老周道数据,和你一起,用常人思维+数据分析,通过数据讲故事。

今天和大家聊一个话题:为什么BI软件要用构建数据仓库,而不是直连数据源的方式开发报表?)

在与企业IT的交流过程中,经常会讨论到一个话题,就是做BI数据可视化分析报表时,是建数据仓库好,还是直连数据源好。这个话题,在很多年前非常普遍,近几年少了许多,但仍然会有一些客户会问:“奥威BI软件支持在同一个报表中访问不同的数据源吗?”

可以肯定地回答,奥威BI软件在技术上是支持的。但是,我们强烈反对使用这种方式来开发报表,我们建议大家先将不同数据源的数据,转换到同一个数据仓库中,进行必要的清洗与规范,再进行开发。很多IT会反对说,这样不是很麻烦吗?

是的,这样相对来说,是麻烦了一点。但,很多事情在复杂的演化过程中,麻烦变成了主流。

我们来对比一下,农村建房子和城市建房子有什么不同?农村建房子,一般建个两三层,所以,垒几块砖做地基,就开始往上建,是很快,但是,大家都知道,这样的房子建不高,如果想再加高,就得推倒重建。而城市里建房子,则是一块地,一围就是半年一年甚至更长,这是在干什么呢?这是在挖地基,楼建的越高,地基挖的就越深。

前一段时间,我经常开车经过的一段路,开通了红绿灯。本来车流量不大,没有红绿灯的情况下,通行效率会更高,所以,对此颇为不解。后来看到通行的行人,才明白,这个红绿灯虽然降低了车的通行效率,却提高了行人的安全保障。

曾经有一个段子,说一个软件公司请了一个开发高手,老板问他,你一个人开发完这个项目需要多长时间?高手说2个月,老板心里想,这个项目很着急,需要1个月完成,于是说,如果给你增加2个人,你需要多少时间?高手回答:4个月?老板疯了,为什么啊?人不是越多干活越快吗?高手说,给我增加2个人,我还得和他们沟通,要检查他们的代码,还不如我一个人开发来得快。

其实,奥威也是一样,研发刚开始就几个人,1个人就要承担一个大的产品模块的开发,包括需求梳理、代码开发、功能测试等。但是,当产品的功能、客户的需求以及使用量越来越多的时候,很多问题就开始暴露出来,特别是产品的性能与稳定性,而这些问题非常影响客户的正常使用。于是,慢慢的就开始进行分工,将架构设计、需求规划、代码开发、产品测试都独立开来,再后来,代码开发还区分后台开发与前端开发,再后来,从面向对象开发跨向微服务开发……就像刚才段子里说的那样,人一多,沟通的成本就增加,代码的复杂度也在增加,整个开发的进度明显变慢。但是,奥威BI软件经过几次的技术迭代之后,产品的性能不会因为功能的增加而变慢,也不会因为功能的增加而变得不稳定,也大幅减少了修复了一个bug,又带出三个新bug的情况。很难想像,如果我们还按以前作坊式的开发方式,奥威BI软件是否还能生存下来。

再看我们现在的交通网络,城际主干网为飞机或高铁,市内主要是地铁或公交,最后一公里则是共享单车或步行。我经常出差,200公里内,一般采取自驾的方式,200-1500公里,则通常用高铁,1500公里以上,则采取飞行的方式。我最喜欢的是自驾的方式在珠三角出差,因为这样方便且高效。但是,一旦超过200公里,我就只能选择其他方式了,因为其他方式虽然麻烦一些,但却变得更高效。通常我在有地铁的城市见客户,也基本不打车,虽然坐地铁麻烦,但比打车在时间上更可靠。

讲了这么多,就是想说,BI的建设我们不能图一时之快,能省事就省事,而要图长远,这个平台可以支撑起未来公司3-5年甚至更长时间的持续优化,深入应用,那么,这个时候,就必须要用略显麻烦的方式去满足未来复杂场景下的高效,稳定运行。所谓的复杂场景,就是指越来越多的人使用,越来越多的需求场景,越来越多的数据量。其实,现在更大型的企业已经在数据仓库的基础上,衍生的更复杂,包括数据中台、数据湖等等。这些高大上的概念,大家有兴趣的话,可以自行去百度,简单的说来,数据仓库主要是为决策提供数据支持,数据中台则不仅包含为决策提供数据支持,还多了为不同业务系统提供数据支持;而数据湖呢,它更强调保持数据的原汁原味,包含很多非结构数据,也不强调数据治理,更多是希望借助AI技术进行深度数据价值挖掘。那对于我们这些非互联网企业来说,构建好数据仓库就已经足够应对未来5-10年的复杂需求场景了。

说了半天,好像都没有搞明白,为什么直连数据源就像是农村一样建房,而构建数据仓库则是建高楼大厦的地基呢?

举例说明:

假如我们需要从ERP、MES、HR、CRM中取数制作一张老板要的大屏,分别展示财务、生产、人力与客户的情况,可以按不同时间筛选。

1、直连数据源

小强用直连数据源并分别将老板关心的数据用写SQL的方式获得,并在BI软件上制作出大屏。这肯定是最快的。但是,当大屏做好之后,老板突然觉得这还不够,希望能按组织筛选不同事业部或分公司的数据。这个时候,小强就傻眼了。为什么呢?因为ERP、MES、HR、CRM中组织这个基础资料都不一样,同一个事业部或分公司,在不同的系统里编码不一样,名称叫法可能都不一样,甚至组织划分的方式都不同。最后,没办法,只好通过一系列复杂的操作,想办法在前端实现筛选时,可以得到一致的结果,加了几个通宵班,才勉强交差。

又过了一段时间,老板又有了新的想法,希望能往下钻取,分别要看到不同事业部或分公司的更多维度的数据。这下可惨了,小强又得折腾一段时间,并且瑟瑟发抖,祈祷老板不要有新的想法。

2、数据仓库:

用数据仓库的方法就不会出现上述这种情况。只要打好了数据仓库这个地基,后面老板有任何的想法,都可以基于数据仓库与分析模型,前端拖拽即可实现,立等可取!

到底怎么构建数据仓库呢?

奥威BI软件根据近20年的经验,开发出一套适用于绝大多数企业的通用数据底座,不管企业用的是用友金蝶ERP,还是其他的MES或HR,都可以按这个数据底座进行对接,将构建数据仓库的时间大幅压缩。

在这里插入图片描述

奥威BI数据可视化软件

构建数据仓库,打好坚实的地基,BI大厦才能越建越高!

老周道数据,和你一起,用常人思维+数据分析,通过数据讲故事,我们下一讲再见!


http://www.kler.cn/a/17736.html

相关文章:

  • HAproxy 详解
  • 一文简单了解Android中的input流程
  • 继承和多态(上)
  • 在 Ubuntu 上安装 `.deb` 软件包有几种方法
  • Ue5 umg学习(一)
  • 字节跳动核心技术:TT推荐系统从0-1落地应用
  • maven依赖jar包时版本冲突的解决
  • JVM系列-第5章-堆(JVisualVM)
  • ChatGPT带你一起了解C语言中的fseek()
  • MATLAB实现工业PCB电路板缺陷识别和检测
  • 【Python入门】Pycharm的使用指南
  • 【Stable Diffusion】ControlNet基本教程(三)
  • 想要跳槽涨薪 那你准备拿下 Framework 了吗?
  • 【unity造轮子】2d敌人AI的实现,并自动躲避障碍物
  • 详细版简单易学版TypeScript各类型声明
  • 11. Kubernetes 开章
  • 观察者模式
  • 爬虫实验笔记
  • Java面试题,吐血整理~
  • 【LeetCode】413. 等差数列划分
  • git合并分支(开发版本分支合并到发布版本分支)
  • JavaWeb:JavaScript 教程 笔记
  • 【系统集成项目管理工程师】计算题专题一
  • 3.13 结构体嵌套、大小及位域
  • Golang每日一练(leetDay0055) 最长子串、相交链表
  • Yuzuki Lizard V851S开发板 –编译 OPENCV 4.5.4