我们正处于大数据及云计算爆发发展的时代, 正是数据架构师创造辉煌的时代. 今天就来说一说数据架构师需要掌握的技能.

数据架构师成长路径图(数据架构师需要掌握的技能)(1)

IT技术

SQL

SQL (Structured Query Language) 是数据架构师必备的一种技能, 可以说是安身立命之本. 当人们说到数据工程师, 数据架构师的技能时, 第一个想到的一般就是SQL. SQL是一个比较标准规范的语言, 在不同的平台(数据库)可能会有细小的差异, 但是整体上是一致的. 数据架构师需要做到像使用自己的身体一样来使用SQL, 如使臂指就是说的这种情况.

数据库

这里的数据库不是指掌握某个数据库产品的SQL, 而是了解主流数据库产品的架构设计, 性能调优以及适用场景. 比如, Oracle 适合大数据量的事务处理, Hbase适合海量只读查询. 数据架构师无须达到DBA的技术高度, 但需要有所了解, 因为作为一个架构师, 会经常面临技术上的选型.

大数据平台

上面的数据库一般指的OLTP(Online Transactional Processing)系统, 大数据平台一般指的是OLAP(Online Analytical Processing)系统, 更确切的说是NoSQL的OLAP系统 (Oracle也可以作为OLAP, 但一般不认为Oracle是大数据平台系统). 当前最流行的大数据平台有Hadoop (发行版有 CDH, Hortonworks Hadoop), 阿里云的MaxCompute等. 数据架构师的主要工作平台就是大数据平台, 需要掌握好相应平台的开发工具包,并且具备性能调优, 异常排查的能力. 大数据平台的安装运维并不是数据架构师必备的技能, 这属于运维工程师的范畴.

数据建模方法

数据建模是数据架构师的核心工作, 建模方法是基本的技能. 在数据这个领域, 有几个建模方法论. 一个是数据仓库的大牛 Bill Inmon 推崇的3NF(第三范式)建模, 顾名思义, 这种方法讲究模型设计符合第三范式, 优点是没有数据冗余, 数据的一致性非常高, 缺点是在数据分析场景中, 查询性能不高. 还有一个是另外一个大牛Ralph Kimball推崇的维度建模, 这种方法本质上就是星型模型(Star Model), 优点是查询性能比较好, 缺点是维护成本高. 阿里巴巴在维度建模方法的基础上, 更进一步, 发展出了OneModel建模方法论, 使得建模的维护建设成本极大的降低了.

编程语言

除了SQL之外, 数据架构师有必要掌握其他一到两种编程语言. 比如, 用好Python语言, 可以极大的提高数据的采集(爬虫开发)和加工处理的效率. 一般来说, 数据架构师不会用到特别高深的语言特性, 也无须去做大规模系统的研发, 主要是用于开发一些实用的脚本.

行业知识

光有IT技术是不够的, 数据架构师还必须是一个行业专家, 对某个(细分)行业有非常深刻的理解. 数据建模的过程其实就是数据架构师根据自己的行业知识和经验, 进行领域建模, 然后将领域模型应用到具体场景(客户)的过程. 一般来说, 掌握一个行业的知识需要至少4~5年持续的积累, 很难通过看几本书, 听几次课来达成. 有点行业可能业务形态非常多样, 还可以再拆解为很多细分行业. 比如, 金融行业就有银行业, 证券业, 保险业等细分行业, 每一个细分行业都极其复杂, 都需要多年的学习与积累.

软技能

数据架构师与后端工程师不一样的地方在于, 数据架构师需要直接接触终端客户(虽然有时BI会介入, 但数据架构师经常还是要接触客户), 而后端工程师一般只跟产品经理打交道就可以了. 因此, 数据架构师需要掌握一些软技能.

交流沟通

终端客户一般是不懂数据, 也不懂技术的, 数据架构师需要掌握与客户的沟通技巧来获取到客户的真实需求.

总结抽象

数据建模对总结抽象的能力要求极高, 一个合格的数据架构师一定具备良好的总结抽象能力. 除了数据建模之外, 总结抽象能力还可以帮助数据架构师正确的认知到数据的业务价值, 更好的表达出自我的价值, 也就能实现自我的成长.

,