BI、数据仓库、ETL和数据开发(大数据开发)会有区别吗?

2019-12-23 18:20:27 浏览数 (1)

作者 | 匿名用户

来源 | 知乎

这些角色划分的界限本身就很模糊,一个人甚至可以同时扮演全部这些角色。

首先说说数据仓库系统构建过程中一些主要的环节:

1. 数据收集

2. ETL

3. 报表系统的开发

4. 基础技术环境的构建、维护

5. 算法、数据挖掘

6. 类似于AB测试系统各个数据应用系统的开发

7. 数据安全、备份

基本上1,3 ,4 ,6,7项工作是属于工程属性比较强的工作,2,5项属于工程和领域知识有交叉的工作。

1. 数据收集。一个完善的收集系统,不仅要搭建成数据收集的管道,还需要对数据收集过程本身做好监控,对数据收集过程中出现的问题及时知晓、及时处理。

2. ETL,将收集过来的数据进行清洗、转换,在此过程中形成数据仓库的层次化结构。这个环节需要一个根据具体的业务需要,通过ETL过程形成数据仓库的层次化体系结构以及抽象概念系统,以便于后续的报表开发和数据分析、数据挖掘。

3. 报表系统开发。技术上需要一个开发工程师来做,需求上需要一个熟悉业务的人来定。报表系统的内容会随时间、随业务不断演化,因此设计上也需要适应这种演化。

4. 基础技术环境的构建、维护。负责底层数据存储、计算框架的设计和维护,建立起存储和计算的层次结构,比如最活跃的数据可以放在性能较高的设备上,而旧的数据可以放在几台专门的归档服务器上;计算上,大型的数据转换任务可以交给MapReduce来做,而基于小数据量计算的报表指标就可以使用性能较高的内存计算来做,比如Presto。

5. 算法、数据挖掘。在ETL结果之上进行数据分析、数据挖掘任务。工作过程中可能需要一些新的数据,这就需要和数据收集、ETL相关的人员进行沟通,以达成工作目标。

6. 类似于AB测试系统各个数据应用系统的开发。数据分析、数据挖掘的结果需要应用到产品的优化上,而数据的应用系统就是要打倒这个目的的。这些系统仅仅作为桥梁存在,主要就是要保证性能达标、以及逻辑正确。这个环节与数据收集阶段结合,就生成一个数据系统闭环。

7. 数据安全、备份。非常重要的工作,数据的访问权限限制、数据的冗余备份机制,都要逐步建立起来,灾难恢复机制要经常进行测试,做好最后一道防线。

根据工作量和具体需求,工程性工作大概需要1到3三个有相关经验的工程师即可,而需要领域知识和熟悉业务的工作,大概也需要1到2人。至于人要挂什么title,看着来吧!

PS:随着业界的不断发展,和对数据认识深度不断地提升的客观需求,一些机器学习相关的知识也应该纳入到日常的工作内容中了,其中特征工程是一项基本的技能。

——END——

0 人点赞