热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据能力的构建过程

长按二维码关注大数据领域必关注的公众号|0x00 数据能力是什么我们经常问自己“什么是数据能力,数据能力如何构建”?我想,没有哪个业务,一开始就是明确知道自己想

长按二维码关注

大数据领域必关注的公众号

|0x00 数据能力是什么

我们经常问自己“什么是数据能力,数据能力如何构建”?我想,没有哪个业务,一开始就是明确知道自己想要什么,都是经过一定时间的摸索之后,才能积累出丰富的经验,这时候数据能力才有了勇武之地。

比如电商行业中,OneData方法形成之后,在其他的电商和类电商业务中,就可以快速铺开应用;而随着越来越多的企业加入到数字化的浪潮,云上中台的概念也就逐步落地。

因此,理解数据能力的构成,懂得每个阶段数据所能够发挥的作用,就是数据同学所需要具备的基本能力,也是我们日常工作时进行规划的前提。

|0x01 数据仓库:数据的历史

从笔者的理解中,数据仓库的最大作用,是承担了沉淀与分析历史数据的功能

数据仓库是什么?以数据建模理念为基础,以消除数据孤岛为目的,通过一套标准方法和工具集,解决大数据计算中诸如质量、复用、扩展、成本等问题,能够驱动业务发展的体系。可以说,数据仓库能够较好的反映数据的历史变化情况,并通过事实表等方式,加以合理的呈现出来,并提供数据分析的基础展示形式。

数据仓库的第一层境界,是元数据管理,这是数据仓库的沉淀功能。你可以设想一下,表是数据仓库的基本展示形式,当随着业务快速发展时,表的数量不断累积,久而久之,会是一个多么恐怖的数量。对于维护量级在万、十万、百万量级的系统,区分它们的安全级别、使用频率、重复性、数据质量等信息,真的需要一个团队去专门的维护。可以说,元数据有重要的应用价值,对于数据管理,提供诸如计算、存储、成本、质量、安全、模型等方面有重大的利用价值。

元数据的价值主要体现在如下几个方面:一是快速的搜索定位,通过搜索引擎的方式来查找相关数据;二是标准化的图形展示,方便使用者所需要的关键信息;三是积累历史数据信息,避免数据的重复开发;四是直接关联分析工具,可以调用报表插件来快速看到直观的报表信息,提升开发效率。

数据仓库的第二层境界,是数据建模,这是数据仓库的灵魂。业务是随着商业逻辑不断变化的,为了能够更有针对性的进行数据组织和整理业界逐步形成了数据建模的四部曲:业务建模->领域建模->逻辑建模->物理建模。简单讲,就是明确具体业务,抽象实体和关系,结合具体的建模方法,确定所有关键成分和属性,最后建数据表进行数据的存储和计算。目前数据建模的方法论有两大阵营,一个是基于关系型数据库理论设计出来的,比如基于3NF的范式建模。虽然目前也有不少非关系型数据库以及不少半结构化和非结构化数据。但将半结构化/非结构化数据转化为结构化数据,然后再利用关系型数据库处理仍然是一种通用的主流数据处理方案。另一个是基于数据仓库之父Bill Inmon提出的维度建模理论,是从全企业的高度利用实体关系来对企业业务进行描述。

在实际开发场景中,我们更熟知的,是分层理论,也就是经典的ODS - CDM - ADS划分方法,其中CDM又称之为公共层,可以划分为DWD、DWS、DIM三个部分。通常情况下,根据“二八原则”,我们希望20%的表能够覆盖住80%的需求,因此CDM的作用就非常显著,承担了数据整合的主要功能。除此之外,ODS主要承担了过去的ETL功能,负责数据的抽取和转换。而ADS是面向应用层做开发的,可以灵活设计使用。这种方法,清楚的展示了数据的处理流向,是数仓沉淀能力的直观展示。

数据仓库的第三层境界,是主题建设,这是分析能力的前提。我们对数据仓库的划分,基于的是对商业能力的理解,比如电商中的交易、营销;供应链中的库存、物流;流量中的搜索等等。从大的商业逻辑出发,逐步拆分到最细的产品功能、业务实操等过程,以保证整个公司数据的规范和口径统一,最终提供标准化的分析思路和方法,这就是主题建设的作用。

主题建设可以从宏观、微观两个矩阵来进行分析。宏观矩阵描述的是公司业务线和对应的数据状况,比如我们可以将一个业务主题理解为公司的一条业务线,侧重于将数据主题理解为行为数据主题,比如说登陆、点击、下载等行为主题,通过这种方法统计业务的基础数据,或者是北极星指标。微观矩阵则是主题和维度的对应关系,可以是原子的、也可以是抽象的。比如流量统计会区分手机类型、网络类型、地理位置等维度;比如电商统计会区分消费者年龄、购买的路径等维度。

|0x02 数据湖:数据的现状

从笔者的理解中,数据湖的最大作用,是能够提供尽可能多的技术手段集合,以达成越来越复杂的目标。

数据湖的概念提出时间并不算久,可以简单理解为支持企业级应用的、能够适应快速发展技术趋势的一种基础设施,不论是结构化数据or非结构化数据,海量数据or少量数据,都能够支持存储和计算。就像在湖中有多个支流进入一样,结构化数据、非结构化数据、日志数据、实时数据,都流入了同一种数据存储结构之中,并进行不同类型的分析处理,以指导做出更好的决策。

可以说,数据湖的出发点是补全数据仓库实时处理能力、交互式分析能力等新技术缺失的情况。其最重要的特点,就是丰富的计算引擎:批处理、流式、交互式、机器学习,该有的,应有尽有,企业需要什么,就用什么。

数据湖的核心能力包括:

集成能力:支持结构化,半结构化和非结构化类型的数据,提供统一多元的接入方式,并自动生成元数据信息;存储能力:支持异构和多样的存储,供经济高效的存储并允许快速访问数据浏览;治理能力:通过数据的血缘关系,建立完整的上下游脉络关系,支持问题数据的追踪治理;安全能力:每一层数据都能够实现安全管控能力,包括数据的敏感打标与安全监管;发现能力:能够快速搜索和使用目标数据,明确知悉其在数据湖中的位置;分析能力:针对已经接入的数据,提供报表、自助取数、交互式、数据分析、机器学习等分析使用能力;质量治理:针对已经接入的数据,提供字段校验、完整性分析、产出监控等功能,确保数据的质量是可用的。

明确了核心能力,就可以设计对应的体系结构,大体包括:

数据接入层:提供适配的多源异构数据资源接入方式,包括数据源的配置、数据任务的同步、数据的分发与调度、数据的ETL加工等;数据存储层:通常采用HDFS,但针对不同的场景可以提供其他的解决方案;数据计算层:采用多种数据分析引擎,来满足批量、实时等特定计算场景;数据应用层:不仅需要批量报表、即席查询、交互式分析、数据仓库、机器学习等上层应用,还需要提供自助式数据探索能力。

额外提一下,数据仓库非常倾向于事前定义,也就是从事务系统中提取,经过维度或其他方式建模后,固化下来。这么做虽然能够更加清晰的展示基础数据结构,降低数据计算量,提升开发速度,但同时也带来了基础模型改动成本高、数据迁移周期长、数据质量管控难等问题,可以说高度结构化的数据仓库,更适合于月度报告等操作用途。而数据湖倾向于所有数据都保持原始形式,在使用的时候直接用工具来统计分析,对于数据科学家而言,使用起来更加灵活,但同时也非常考验数据引擎的性能,以及科学家对于数据的掌握程度。

|0x03 数据中台:数据的未来

从笔者的理解中,数据中台的作用,是将技术能力的复用性,转化为业务能力的复用性。

“中台”某种意义上是一个正宗的中国概念,早在2015年,马老师访问过北欧的Supercell游戏公司之后,便提出了这个概念。随之而来的,是阿里带动的“大中台、小前台”运动。这个概念听起来还是非常不错的,因为整合技术力量,既能够有效降低研发成本,也能够带来业务上更多的试错机会。但当大家投入进去之后才发现,中台的建设成本如此之大,乃至于一般小公司无法负担起基础的成本。大公司搞了,却又无法应对业务的快速变化,搞得怨声载道。

所以,很多人喊出了“中台无用论”。其实,中台的设计初衷,是提供通用的业务解决方案+通用的技术解决方案,而不是仅仅是通用的技术解决方案。只看技术,忽略了业务,就像两条腿瘸了一条。但业务是最难做的,面向未来的东西,不确定性最大,所以难度挑战最高。

因此,对于数据团队而言,如果说中台提供的是通用的业务解决方案+通用的技术解决方案,那么对应到数据中台,就是提供可复用的数据业务能力+可复用的数据技术能力。举个例子,对于小团队而言,希望通过我们的数据中台分析潜在的商业机会,这时候直接甩过去几张表就不合适。从小团队的视角看,我们希望有一个分析平台,有一些自主分析工具,能够快速了解我们目前能够统计到的数据及其涵义。那么这个时候,数据中台 = 数据仓库 + BI分析工具 + 元数据平台,最好前端能够有个自主搭建报表的工具,通过直接读取数据仓库的数据,来实现快速搭建分析平台的需求。

仅仅是数据仓库,还包含了一系列配套的平台(元数据、数据安全、数据质量、BI分析等),建设的成本比较高,而对于大多数公司而言,这种经济成本是不划算的。

大多数的数据人,做数据中台习惯从自顶向下进行建设。这种做法的优点是能够通盘考虑全局问题,保持数据的一致性,但坏处是变动的成本比较高,难以适应高速变化的业务结构。仔细想想,阿里是先有了电商业务,才有了大中台落地的基础;头条做好了抖音,才有了算法中台的诞生;腾讯IM深耕多年,也是基于IM逻辑做数据中台。其实数据中台更多的要走到业务中,为业务贡献价值,才能真的称之为“中台”。

|0xFF 总结

任何一种数据能力,都是有其历史局限性的。12年那会有句话是:“会写MR,月薪过万”,今天会使用DataWorks已经是新人的标配了;过去IOS开发飘在天上,如今更多拼的是基础架构能力。

过去的一段时间内,大数据有了非常多的明星系统,比如Hadoop、Spark、Flink、ClickHouse,在经过激烈的厮杀后,有的逐步胜出,实现了规模化应用和商业化开发,而更多的会躺在历史的尘埃中,被后人所怀念。

其实数据能力何尝不是,从数据仓库、数据湖、数据中台,乃至于经营分析、数据分析、数据科学,人们对数据的理解和应用在进一步的提升,那些过去高大上的称呼,正在逐步的像统计学、机器算法的根源去卷,又何尝不是另一种局限性。

近几年,大数据领域少有明星的开源引擎了,而数据科学的概念之后,也只有数字化能看一看了。在这个“后红海”的时代里,我们在争实时开发、我们在探索数据隐私、我们在尝试AI,我们依旧在持续竞争的步伐。

每条线都进入了收敛的阶段,长期看,企业的选择,在“技术狂热期”过去后,更多的会考虑投资的ROI,商业化产品成为了主流,而数据的盛宴,也将逐步走向平淡。不论怎样,我们仍需努力。

欢迎点赞 + 收藏 + 在看  素质三连 


往期精彩回顾
程序员,如何避免内卷
2021年大数据开发发展趋势
【全网首发】Hadoop 3.0分布式集群安装
大数据面试130题
某集团大数据平台整体架构及实施方案完整目录
大数据中台架构及解决方案系列(二)
大数据凉凉了?Apache将一众大数据开源项目束之高阁!
实战企业数据湖,抢先数仓新玩法
Superset制作智慧数据大屏,看它就够了

Apache Flink 在快手的过去、现在和未来

华为云-基于Ambari构建大数据平台(上)

华为云-基于Ambari构建大数据平台(下)

【HBase调优】Hbase万亿级存储性能优化总结
【Python精华】100个Python练手小程序
【HBase企业应用开发】工作中自己总结的Hbase笔记,非常全面!
【剑指Offer】近50个常见算法面试题的Java实现代码

     长按识别左侧二维码

         关注领福利    

      领10本经典大数据书



推荐阅读
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 对象存储与块存储、文件存储等对比
    看到一篇文档,讲对象存储,好奇,搜索文章,摘抄,学习记录!背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结 ... [详细]
  • 本文总结了设计、开发和部署Web应用程序时应遵循的一些最佳实践,这些实践结合了个人经验和权威资料,旨在帮助开发者提高Web应用的安全性。 ... [详细]
  • 关于进程的复习:#管道#数据的共享Managerdictlist#进程池#cpu个数1#retmap(func,iterable)#异步自带close和join#所有 ... [详细]
  • 老杨谈IT运维 | 快速实现日志异常检测与根源分析
    在智能运维领域,指标和日志是最常用的数据来源,能够有效反映系统的运行状况和健康状态。通过对这些数据的深入分析,可以为监控和告警系统提供关键信息,帮助快速实现日志异常检测与根源分析,提升整体运维效率。 ... [详细]
  • 隐藏的威胁:你的供应链是否真正安全?
    在网络环境日益复杂的当下,诸如网络钓鱼、DNS欺骗、勒索软件和中间人(MITM)攻击等威胁手段已司空见惯。这些攻击手段无孔不入,对供应链的安全构成了严重挑战。企业必须加强安全意识,采取多层次的防护措施,以确保供应链的每一个环节都得到有效保护。 ... [详细]
  • 在前一篇文章《Hadoop》系列之“踽踽独行”(二)中,我们详细探讨了云计算的核心概念。本章将重点转向物联网技术,全面解析其基本原理、应用场景及未来发展前景。通过深入分析物联网的架构和技术栈,我们将揭示其在智能城市、工业自动化和智能家居等领域的广泛应用潜力。此外,还将讨论物联网面临的挑战,如数据安全和隐私保护等问题,并展望其在未来技术融合中的重要角色。 ... [详细]
  • 本文详细解析了计算机设备的型号命名规则,并提供了各品牌的相关资料。具体包括设备名称、品牌、型号、规格配置、生产厂商、数量、单价及金额等信息。例如,直播机房的安装与集成涉及9套设备,总控系统的安装与架构为1套,文艺录音棚的安装与集成则需详见附录中的技术参数。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 本文记录了在Windows 8.1系统环境下,使用IIS 8.5和Visual Studio 2013部署Orchard 1.7.2过程中遇到的问题及解决方案,包括503服务不可用错误和web.config配置错误。 ... [详细]
  • 夸克网盘电脑版上线,实现三端同步备份与高效编辑播放功能 ... [详细]
author-avatar
好人cuiyin_550
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有