热门标签 | 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本经典大数据书



推荐阅读
  • ElasticSerach初探第一篇认识ES+环境搭建+简单MySQL数据同步+SpringBoot整合ES
    一、认识ElasticSearch是一个基于Lucene的开源搜索引擎,通过简单的RESTfulAPI来隐藏Lucene的复杂性。全文搜索,分析系统&# ... [详细]
  • 如何使用代理服务器进行网页抓取?
    本文介绍了如何使用代理服务器进行网页抓取,并探讨了数据驱动对竞争优势的重要性。通过网页抓取,企业可以快速获取并分析大量与需求相关的数据,从而制定营销战略。同时,网页抓取还可以帮助电子商务公司在竞争对手的网站上下载数百页的有用数据,提高销售增长和毛利率。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 寻求更强大的身份和访问管理(IAM)平台的企业正在转向云,并接受身份即服务(IDaaS)的灵活性。要为IAM选择正确的场外解决方案,业务管理人员和IT专业人员必须在实施之前评估安全 ... [详细]
  • 物联网、工业互联网大数据的特点-随着数据通讯成本的急剧下降,以及各种传感技术和智能设备的出现,从手环、共享出行、智能电表、环境监测设备到电梯、数控机床、挖掘机、工业生产线等都在源 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • TiDB | TiDB在5A级物流企业核心系统的应用与实践
    TiDB在5A级物流企业核心系统的应用与实践前言一、业务背景科捷物流概况神州金库简介二、现状与挑战神州金库现有技术体系业务挑战应对方案三、TiDB解决方案测试迁移收益问题四、说在最 ... [详细]
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社区 版权所有