前面几篇,我们聊了前端、后端、客户端技术的发展变迁。今天,我们聊聊数据统计分析到大数据的演变。
报表
说到数据统计,最早是从企业软件开始的。技术的演变并不是独立进行的,他是随着企业和行业的变化而演变的。中国的企业普遍经历了从粗放到精细,从混乱到合规的过程。
最早的数据统计软件应该是Excel了吧。早期企业没有IT系统的时候,也是需要关注各种经营指标的。尤其是公司高层领导,需要根据各种指标来做企业决策。比如财务三大报表,其实到现在也有很多公司在用Excel进行编制。人工编制报表非常耗时耗力,而且及时性不高。
随着企业IT系统的逐渐采用,业务数据就自然的留在了IT系统内。数据统计的人工编制逐渐转为系统实时生成。但是企业管理的发展是一个漫长的过程,不是有个软件就能一步规范化的。尤其是统计类需求,非常个性化,调整非常频繁,需要开发者非常了解业务并及时跟进。
怎么更低成本的支撑客户多样性的需求呢?最好的办法是让业务分析师自己能调整报表,开发人员来做底层技术支撑,发挥两者各自的优势。所以早期的数据统计应用都是以报表软件的形式来体现。
报表软件由设计器和报表引擎构成。设计器大大简化了做报表的难度,界面拖拽设计,所见即所得,业务同学也可以简单上手,灵活调整。设计器最终会生成报表的模型代码,报表引擎解析执行模型代码,最终完成展示。
通过设计器和引擎分离的方式,很好的解决了客户灵活多变的报表需求。甚至在互联网大数据的今天,依赖报表设计器依然可以帮助我们快速搭建数据应用。
商业智能(BI)
随着企业IT化的进程,业务系统越来越多,有时候因为成本、时间以及历史遗留问题等因素的影响,各个系统是异构的、隔离的。可能身处互联网的我们难以理解,为啥一家公司会有多个异构系统,数据还不能统一,最开始为啥不统一设计。
其实在现实场景中这种情况非常常见。举个例子,金融行业一直都是科技应用的先行者,IT成熟度非常高。大型银行会在全国有为数众多的分支机构,最开始每个分支机构的系统都不是集中在一起的。比如可能一个省的数据和系统集中在一起,每个省之间是隔离的。这其中的原因既有受限于当时的IT处理能力的客观因素,也有行政管理的需求。
种种原因实质上就造成了各地的数据孤岛。再想集中起来代价非常高,做过银行系统的同学肯定印象深刻,有些银行的大集中项目到现在还在继续。
互联网公司也有类似的情况。比如百度、阿里这样的超大规模公司。随着业务的扩展,有非常多的产品线。但是最开始大家都是独立发展的,到了后期再想整合就非常麻烦。账号不统一,数据更不统一。整合成本非常高。
那为啥数据一定要集中呢,因为不集中就没有高质量的数据,没有数据就谈不到商业智能。而商业智能以及大数据的应用直接关系着业务效率。数据已经不仅只是辅助大家决策,已经变为第一生产力。想象一下为什么蚂蚁花呗可以秒级贷款给你,而传统银行动辄需要几周的时间审批,成本是蚂蚁的上千倍。这就是大数据带来的效率提升。
对所有的大数据应用来说,高质量的数据是最核心的基础。怎么算高质量,首先,数据得是完备的,也就是说所有相关数据都能统一访问到。
另外,数据得是可理解的。只是能访问还不行,所有的数据都得是能关联上、意义一致的。举个例子,比如一组数据当中男和女用了0和1来标示,其他一组数据用了男和女两个字符串来标示,这就要做统一化。再比如两组用户数据用了不同的用户标示,那就需要通过手机号尝试关联起来。
所以说数据集中到一起,到能够被大数据算法应用,还有很多的工作要做。首先,我们要根据业务的实际意义,进行业务字典的梳理,就是梳理数据关系和意义,这叫做元数据。我们可以把他简单理解为一组ER图,要有清晰的业务意义和关联关系,并且随着业务的扩展,还要不断维护更新。有了元数据,我们再通过ETL将数据进行清洗、转换,最终流入数据仓库。
总结一下,从IT化到BI再到大数据人工智能,对数据的有效分析和利用,能大幅提升商业效率,是兵家必争之地。而高质量的数据又是分析加工的基础,所以做好元数据质量管理非常重要。下一篇,我们再聊聊大数据的话题。