警惕,导致数据仓库失败的六大原因!你占了几条?

来自:木东居士(微信号:Data_Engineering),作者:木东居士

0x00 前言

本文描述数据仓库建设中,最容易导致项目失败的六大原因!如果遇到,请警惕:

  1. 脱离业务设计数据仓库

  2. 错误评估数据仓库的影响力

  3. 空谈多于实践

  4. 增加不必要的复杂度

  5. 项目负责人缺乏适当的权力

  6. 糟糕的项目管理

0x01 六大原因

一、脱离业务设计数据仓库

很多数据仓库的项目负责人会脱离业务来设计数据仓库,这样做的原因可能是其本身对业务的理解不深,也可能是对业务并不重视。

不管是什么原因,脱离业务来设计数据仓库,都会让你的项目饱受争议:

  • 1)业务成果没你的份,但是所有数据的锅都要背

  • 2)被各种吐槽数据表的设计不合理,使用起来不方便;

二、错误评估数据仓库的影响力

在这里,“错误评估数据仓库的影响力”指的是项目影响远远小于预期。

你可能投入了大量的人力在数据仓库的建设当中,但是当你的项目完成后,发现只有两三个用户!而由于大量人力的占用,可能会导致其余更重要项目进度的推迟,白白错失其它机会。

三、空谈多于实践

有很多关于数据仓库的好书,网络中也有各种关于数据仓库的文章和课程。但是,看再多的文章和课程也很难让你成为数据仓库专家,你需要在实际工作多进行实践

例如,一些新入行的数据仓库童鞋,在数据建设起步时,可能会坚定地认为数据接入前就应该完成所有的数据清洗工作(换句话说就是接入ods层数据时已完成数据清洗),这种做法在很多文章和书中都是受推崇的,而且也是一种很优秀的方式。

但是,在实际工作中这就会有很多不合理的地方:

  1. 回溯数据困难,一旦加入数据清洗的工作就不可避免地引入人为的代码或者逻辑错误,而此时你的数据已经接入,如果想推动数据上报方从新上报一遍数据的成本是极高的。

  2. 项目初期各种工具支持程度不够,如果先将数据原封不动接入,再在ods层做数据清洗,只需要简单的sql就可以搞定,如果要在接入ods层前就完成数据清洗工作,那就需要很多额外的工作量来支持。

四、增加不必要的复杂度

数据仓库本质上是一个足够复杂的项目,没有必要使它变得复杂。特别是在人力和老板的重视程度都不够时,要去关注数据仓库的核心功能和需要解决的问题,不要过于大包大揽,希望将所有的内容都纳入到数据仓库的范围内,这样只会分散你的工作重心,最后每个点都没有做好。

五、项目负责人缺乏适当的权力

由于数据仓库项目通常涉及许多不同的部门或者同部门的多个业务线,因此项目涉及多个团队是很自然的。但是,要使项目取得成功,必须让项目负责人拥有足够的权力项目负责人缺乏适当的权力,是绝大部分数据仓库项目失败的核心原因

试想,假设你的数据仓库团队成员是如下情况,该项目会面临多大的阻力:

  1. 项目负责人的技术职级和管理职级低于大部分的项目参与人。

  2. 项目负责人只能负责设计规范,但是没有权利约束项目参与人必须执行。

  3. 项目中各自为政,但是整体项目负责人无权管束大家的工作。

六、糟糕的项目管理

可以肯定地说,糟糕的项目经理肯定会使项目失败。

数据仓库项目和大部分的软件工程项目类似,都需要一个良好的项目管理才能推动项目的健康运行,而大部分数据仓库项目负责人很忽略这个方面。

0x02 思考

为什么这些原因里并没有数据仓库本身设计不好的原因?是否可以认为数据仓库的成功都是外部原因的作用?

这并不是说数据仓库本身的设计不重要,相反,居士认为数据仓库本身是很重视设计的。只是,一般来讲即使不要优秀的设计,也能使数据仓库正常的运行,随着对业务的理解再逐步优化即可。而数据仓库设计之外的这些原因却很容易给你整个项目带来巨大的损失,甚至决定了你的项目是否能顺利完成。

0xFF 总结

本文的内容源于和朋友的讨论【为什么你会吐槽自己公司数据仓库做的很烂?】,稍作整理并加上自己的思考。

推荐↓↓↓
人工智能与大数据
上一篇:关于「数据分析师」的一些理解 下一篇:PaddlePaddle 分布式训练及CTR预估模型应用