BI, 数据仓库,ETL, 数据开发,有什么区别

1,773 阅读4分钟

BI: Business Intelligence.

为商业提供一切智能化操作,判断与管理的手段,都可以归拢到 BI 范畴。即便是 AI (Artificial Intelligence)只要其能提供上述功能,依旧可以成为 BI 的一部分。

什么是智能化的商业操作,判断与管理?

“啤酒与尿布”的故事,在这个行业广为人知了。年轻的爸爸在购买尿布的同时,会捎带上一打啤酒,因此沃尔玛超市有意将两者放在同一货架上,提高了两者的销售量。

如果说这版本你没有切身体验,那么请你打开亚马逊 app 或者网站,你输入 data warehouse, 是不是会看到一连串的带有 data warehouse 标题的书,选择第一本点进去,你将看到如下的画面:

这就是最典型的一个应用案例。所有促使这一切生成的技术都可以归纳到 BI 中来。

BI 一个概念级的企业部门,要落实到具体工作,还是讲究其实现技术。

上面亚马逊购书案例,体现的是一个 BI 应用概念,即推荐。那么怎么实现这个应用,我们还是需要具体讲解其实现的技术细节。每个细节上将会安排特定的工程师来实现,每个工程师分配到了题中涉及到的这些职务。

(图摘自 Google, 版权原著所有)

亚马逊购书是个时尚的事儿,也给亚马逊提供了丰富的用户“轨迹”数据。通过记录这些用户行为数据,亚马逊整了一个数据仓库,将你我他的购书记录放在了一张表里,通过 SQL 技术,将购买组合当做特殊购买行为存储了下来。当网友购买我们买过的书时,通过先前存储的“特殊购买行为”向这些网友提供推荐的书。

整个图中所有负责技术实现的人,都可以叫做数据人(Data Engineer);更精确的从 ETL 往右开始称为 BI 人;更细化些, 实现 ETL 的称为 ETL 工程师, Data Warehouse 的模型设计者称为数据模型工程师(Data Modeler ), 负责可视化设计的叫做 BI Reporter.

早期的 BI 实现仅靠数据仓库。

实现数据仓库,得提到 2 个人物,Inmon 和 Kimball. 两人提出的数据仓库理论基本奠定了我们这个时代对数仓的理解。

(图来自 Google,版权原作者所有)

kimball 的数据仓库理论,倾向于大而统一的 Data Warehouse, 而 Inmon 则偏向专题性的 Data Mart, 主张将 Data Mart 中数据回流给应用,促成业务进行。前面的推荐系统则是 Data Mart 的原型应用。

现代的 BI 实现就丰富多了:小数据的玩法,大数据的玩法,统计报表,即席查询,分布式计算,流式计算,推荐系统,知识图谱,NLP,语音交互,模式识别。所以又添加了数据挖掘,数据科学家以及数据分析师,负责大数据技术实现的就叫大数据工程师了。

之所以切分了现代的 BI,主要也是数据爆发带来的分布式应用增多。

基于当前的 BI 技术在大数据背景焕发了第二春,实现架构也越发复杂。我这里选择常用的 **Lamba Architecture **来主讲。

2010 年前后,大数据开始随着 Hadoop 进入人们的视野。这时数据仓库技术还方兴未艾,暂时还没有替换掉这种技术架构的打算,因为前期的投入和本身的价值继续发挥着预热。但新的数据需求不得不采取新的计算架构,所以很多公司采用了传统数据仓库技术以及以 Hadoop 为基础的分布式架构并存的策略。大致如下:

(图来自网络,版权原作者所有)

粉红色的部分属于新兴的数据处理技术(以 Hadoop, Spark, Hive, Kafka,Machine Learning 等为主),绿色部分还是常规的数据应用。

到了后现代 BI 架构中,随着 Hadoop 等技术越发成熟,慢慢替换掉了原来传统的数据仓库技术,全部使用了分布式存储和计算,就形成了 Lambda Architecture. 即部分数据沿用了 Batch 处理,而另一部分数据用实时(Storm,Flink)和准实时(Spark)来处理,以完成对数据时效性的要求。

(图摘自 Google, 版权原作者所有)

可见,数据的搬运工还是 ETL, 我觉得这是一门长期热门的职位, 若能架构整个数据应用,那就更好,这就是炙手可热的 Data Architect (数据架构师).

人工智能

适当延展下,BI 中还会用到 AI 技术。亚马逊购书一例中就是如此。下面出给 Gantner 2018 在人工智能技术方向的成熟度曲线:

像 Machine Learning, NLP, Intelligence Application 都可以用来服务 BI. 所以 BI 的外延越来越难以清晰划分,越来越多职位都统称为 Data Engineer, Data Scientist 了.

一点个人看法,不喜勿喷,欢迎探讨。