如何成为一个合格的数据架构师?

早在 1980 年,未来学家阿尔文·托夫勒就在《第三次浪潮》中,将大数据比喻为“第三次浪潮的华彩乐章” 。
21 世纪以来,数据量进入每两年翻一番的增长期,越来越多人意识到了数据的价值,数据架构师闪亮登场 。数据成为企业不可忽视的重要资产 。而数据架构师则是企业数据资产最重要的“奠基者” 。
最早,数据架构师在 IOE 上工作;
2009 年,阿里云最早提出“去 IOE”的口号,初代数据架构师革了自己的命;
2015 年,这一年产生的数据量是人类过去历史上所产生数据量的总和,从此进入了指数级增长阶段 。数据架构师也演化出了 2 个大方向(平台型数据架构师、数仓型数据架构师) 。
本文以作者亲历视角,主要分享数仓型数据架构师的“修炼大法” 。欢迎辩证看待、留言交流 。
你想成为哪种数据架构师目前数据架构师有两个大的方向:一,偏平台的架构师,对开源技术要求较高,企业一般会要求读过开源技术源码,或者参与过开源项目,偏平台的构建;二,偏数仓的架构师,对 SQL 能力要求较高,企业一般会要求掌握数仓理论,有数仓项目经验 。
(1)平台型数据架构师
这个方向也会分类:一,开源派,互联网公司一般喜欢这个流派,二,商用软件派,如 Oracle、IBM 等流派,通常解决传统企业的数据问题 。这个流派目前受到了来自阿里、腾讯和华为较大的冲击 。个人认为目前开源派是比较符合近年潮流趋势的 。
平台型数据架构师,是为数仓型数据架构师服务的,直白地说,你开发能力要很牛逼,你要懂应用 。
(2)数仓型数据架构师
这个方向要求精通数据仓库原理,通过实时、离线等技术解决企业的数据问题 。需要掌握 ELT 的流程,掌握各种数据源的特点,掌握大数据工具的使用 。
数仓型数据架构师,刚好是平台型数据架构师的用户 。直白地说,你写 SQL 的能力要牛逼,你要懂业务 。
数据架构师的必备知识树敲门砖:掌握一门开发语言如果你是一位计算机专业的学生,我推荐使用 C 语言,强烈建议通过面向对象的编程思想去消化数据结构 。数据架构中,很多逻辑和原理都来自于数据结构这门课程,如链表、队列、堆栈、树、图等,掌握数据结构对后续进一步学习非常的重要 。
如果你是想从其他岗位转数据架构师,那么更建议学习 JAVA,Java 的入门会相对简单 。当然最好的方式是通过 Java 的编程思想领会数据结构这本书的知识点 。一定要模拟 B/C 的整个过程,不要立马就用 Java 的高级框架,而是要用 Java 原生的 servlet 模拟下前端和后端的交互,后端和数据库的交互 。
初学者看文章,常会遇到很多新概念,觉得看不懂,记不住 。最好的学习方法是让自己有兴趣、有成就感 。所以理论的内容我建议慢慢消化,反而实际操作很重要——实际操作能给自己带来成就感 。
比如你初学 Java,你第一个目标是要在屏幕上打出“Hello, world! ” 。网上会有很多的资料,会教你安装 JDK、IDE 工具等等,你可以先不管那么多,找个偏基础的资料,按部就班的实现一次 。在整个过程中你会遇到很多的问题,JDK 在哪里下载,版本选哪一个,环境变量如何配置等等 。最好的方式是边查边做,通过亲手实践来验证整个过程,再去理解 。最终成功地打印出“Hello, world! ”,你会有前所未有的成就感!
数据结构这门课程确实有些难度,同样建议采用边学理论边实践的方法,甚至我们可以更“暴力”,直接在网上找几段别人写好的代码,跑一遍,看看效果,读懂代码,再回过来理解概念 。这时候你会感觉就像近视眼戴上了眼镜,突然发现很清晰 。
你还需要了解开发语言的分类:什么是低级语言,什么是高级语言?什么是面向过程的编程,什么是面向对象的编程?什么是编译型语言,什么是解释型语言?可以不深入,但是作为一个架构师,你要了解这些东西 。最好也要了解设计模型,如单例模式、工厂模式、生产者模式等常用设计模型,对思维方式有很好的提升 。
开发语言是成为一名合格数据架构师的敲门砖 。你可以选一本不错的书,结合书籍一步一步走 。自学时,知识检索能力很重要,你要慢慢学会在浩瀚的互联网学海中查找自己想要的知识 。有条件的同学也可以报个靠谱的培训班,这是个不错的选择,会少走很多弯路 。但是速成后很多人只能做个码农,最终要成为架构师级别的高手,还是需要扎实的基本功是必须的 。需要很长的路才能成为架构师级别的编程高手 。所以如果想有更高的成就,必须对概念、原理、技术 。


推荐阅读