• 关于数据中台的理解和思考


    一、什么是数据中台

    1. 数据中台是指通过数据技术,对海量数据进行采集、计算、存储、加工,同时统一标准和口径。
    2. 把数据统一后,会形成标准数据,再进行存储,形成大数据资产层,进而为客户提供高效的、可复用的服务。
    3. 数据中台得基础主要是数据仓库和数据中心。

    二、数据中台模型


    1、连接数据孤岛打通用户的行为数据和各个业务数据。
    2、业务数据化要用更加科学的方式存储数据,一般采用三层建模的方式,让收集上来的数据形成公司的数据资产。
    3、数据业务化数据赋能业务人员、领导层进行决策,做到数据反哺业务。

    三、数据管理

    1、资产管理盘点数据资源、规划数据资源、获取数据资源,并将所有数据资源进行完整呈现,提升数据的利用率。
    2、质量管理数据质量就是保障数据正确性的工具,主要包括这么几部分:一是支持准确性校验规则,二是支持双表校验,三是输出校验报告。
    3、模型管理进行模型分层和统一开发规范,一个是规则配置,另一个是对表名、字段名的定期校验。
    4、标签体系对用户、产品、客商、营销各主题域进行标签提取,将其特征数字化,为后续进行精准营销和用户画像提供必要条件。

    四、业务模式

    1、传统业务模式数据是副产物,业务人员基于行业经验和流程驱动业务系统,数据主要用于监测业务进展和洞察规律,最终决策由业务人员进行,整个业务流程迭代速度极慢,很难满足现在快速变化的前端应用,商业价值度较低。

    1. 新业务方式数据为业务系统核心,基于技术中台的能力,将企业内外部数据打通形成数据中台,由数据中台驱动业务中台,并利用业务中台的组件重构业务系统。由于有中台的支撑,各类开放服务可以对前端应用的快速变化做出响应,因此商业价值会更高。

    五、整体架构

    数据中台整体架构如图:

    数据采集

    1. 采集数据:按照标准数据结构从业务信息系统的原始数据库中提取的数据,或者通过采集器传回的数据;
    2. 爬虫数据:互联网公开数据、企业信息数据包括工商信息、资质信息、项目信息、人员信息、备案信息、招投标公告、中标公告、资质审核公告等;
    3. 日志数据:各类平台系统产生的业务日志数据,服务器自身运行时产生的日志数据;
    4. 业务数据:施工项目结算系统、设计结算系统业务数据库数据;
    5. 原生数据:使用ERP、CRM、OA、workon等系统时产生的数据。

    数据处理

    1. 数据抽取指从不同网络、平台、业务线数据库等数据清洗后抽取到数据中台统一存放。
    2. 数据计算和存储
      1. 数据分层模型
        1. ODL操作数据层全量数据,和数据源保持一致。
        2. BDL基础数据层对数据做统一清洗处理,去重、去噪(例如有一个用户的年龄180岁,就要做处理)、空值转换、日期格式化、字段命名规范等。
        3. IDL接口层主表或宽表,包含各个业务的完整数据全部字段。
        4. ADL应用层数据集市,与需求对接由IDL层基于某些维度的加工、统计、汇总等操作转化而来,各个表联合的结果。
      2. 模型之间数据传递
        1. ODL层数据主要包括MySQL数据、MongoDB数据、日志文件。
        2. ODL层 到 BDL层业务数据库的数据一般采用Sqoop来离线抽取,每天一次。使用Canal来进行实时抽取。日志文件数据可以使用Flume定时离线抽取。也可以使用Spark Streaming或Storm并借助Kafka来实时抽取。
        3. BDL到IDL层或ADL层定时离线任务使用Hive、Spark计算最后写入Hbase、MySQL、Redis中。实时数据使用Spark Streaming、Storm或者Flink来计算,最后会落入Es、Hbase或者 Redis 中。
    3. 数据服务数据被整合计算好之后,以接口形式统一对不同业务线提供服务。

    六、任务

    数据采集

    1. 数据采集系统,能够通过配置,对不同网站进行快速爬取,保证数据需求。主要过程包括:数据源配置,验证码破解等;数据采集、简单清洗过滤;数据存储。
    2. 爬虫管理系统,方便部署爬虫项目,并能够远程启动、停止、查看爬虫。
    3. 使用python scrapy requests等实现。

    数据分析

    1. 企业资质数据,分析企业项目信息、企业备案、企业资质信息、企业人员信息反映企业及技术人员的资格、能力、业绩等;
    2. 企业工商信息,分析企业信用,企业变更等数据建立企业诚信档案;
    3. 招投标信息,分析招投标数据,根据企业中标数据,精准推荐招标公告;分析不同的评标方法,评标因素等对中标的影响,从而提高中标率。
    4. 资质核准公告,分析资质评定因素、审核未通过原因;
    5. 设计系统数据,分析企业业绩、企业项目结算等
    6. 施工系统数据,分析施工数据;
    7. Workon数据,分析用户管理,企业管理;
    8. 日志数据分析用户行为等。

    平台搭建

    1. 技术选型

      1. 操作系统Linux,大数据相关软件都运行在Linux上,Linux比较稳定性。
      2. Python 爬虫框架包括scrapy、requests等模块,数据处理框架有Pandas、Numpy等,能处理的数据量为GB级别,机器学习有scikit-learn、tensorflow等。
      3. Java 大数据基础平台中hadoop、Hive、Hbase都是以Java为核心的,处理数据量达到TB、PB级别。
    2. 架构组织功能

      1. Sqoop主要用于在Hadoop与传统的数据库(MySQL 、Oracle 、Postgres)间进行数据的传递,可以将关系型数据库中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
      2. Canal阿里巴巴旗下的一款开源项目,主要用途是基于 MySQL 数据库增量日志解析获取增量变更进行实时同步。
      3. Hadoop分布式文件系统基于Java,主要由HDFS + YARN + MapReduce三个核心组件组成,HDFS是一个文件系统,负责分布式存储;YARN是Hadoop自带的一个通用的资源管理框架,用来对跑在集群上的Application进行资源分配及管理;MapReduce是一个分布式计算框架,跑在YARN上,配合HDFS用来做分布式数据计算。
      4. HBase是为有数十亿行和数百万列的超大表设计的,这是一种分布式数据库,可以对大数据进行随机性的实时读取/写入访问。基于Hadoop分布式文件系统(HDFS)而建,处理实时数据。
      5. Hive是面向Hadoop生态系统的数据仓库。它让用户可以使用HiveQL查询和管理大数据,这是一种类似SQL的语言,处理历史数据。
      6. Spark是一个分布式计算框架,相当于MapReduce的改进版,能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法,为Python、Scala、R等提供接口。
      7. Zookeeper分布式应用程序协调服务,用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
      8. Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方的能力。
      9. DataX 是阿里巴巴集团开源的离线数据同步工具,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、HBase、MongoDB 等各种异构数据源之间高效的数据同步功能。
      10. ElasticSearch是一个开源的基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,是一种流行的企业级搜索引擎。
      11. 人力工时评估
    3. Python预估需2-5人,爬虫、数据挖掘、机器学习方向;

    4. Java预估需2-5人,大数据方向;

    5. 工期预估6-12个月。

    6. 大数据服务

    7. MaxCompute是阿里云的一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案。

    8. 具体使用和学习方法:https://yq.aliyun.com/articles/68600?spm=5176.7944453.751675.1.330552df4eLjUL&aly_as=fiVTdtly

    9. 费用

    存储费用根据数据实际存储量,按阶梯单价计算

    存储量阶梯单价
    大于0小于等于0.5GB部分固定0.01元/天,不涉及
    大于0.5GB小于等于10TB部分0.0072元/GB/天
    大于10TB小于等于100TB 部分0.006元/GB/天
    大于100TB部分0.004元/GB/天

    计算费用10CU起购,包括SQL任务、MapReduce任务、Lightning任务、Spark任务。

    资源定义内存CPU售价
    1CU4GB1CPU150元/月

    下载费用按照外网下载的数据大小进行计费(数据上载不收费)

    计费项价格
    外网下载价格0.8元/GB

    七、数据建模

    数据模型主要有关系模型,维度模型,实体模型。
    关系模型
    又叫ER模型,实际操作上大部分采用3NF建模,必须满足:每个属性值唯一;每个非主属性必须完全依赖与整个主键,而非主键得一部分;每个非主属性不能依赖于其他非主属性。
    数据仓库的关系建模是站在全企业的高度,将各个系统中的数据按主题进行近似性组合和合并,并进行一致性处理,为数据分析决策服务,需要全面了解企业业务和数据。
    维度模型
    维度建模是数据仓库领域比较常用的建模方法。维度模型属于关系模型,但是又两个新的概念,即维度表和事实表。维度表对应现实中的一个对象或一个概念,比如企业、资质、人员、日期等。事实表包含了各维度直接关系的度量值。维度建模的三种模式:星形模式、雪花模式、星座模式。

    星形模式,比较常用的方式,以事实表为中心,所有维度表直接以外键形式连接在事实表上,维度表之间没有关联,这样的数据组织比较直观,执行效率高,建立数据集市的时候,大部分数据已经预处理,比如按维度统计、排序等。

    雪花模型,在星形模型上将维度表扩展开,每个维度表也可以建立自身的子维度表。这种模型耦合性低,数据冗余小,但是跨表查询变多,导致性能降低。

    星座模型,也是星形模型的扩展,允许存在多个事实表共用维度表。当公司业务逐步增多时,基本都会衍生成星座模型。

  • 相关阅读:
    赞不绝口!飞凌嵌入式全新子品牌ElfBoard好评如潮
    Redis之zset在异步队列上的应用
    Django学习(1)Model
    基于 RK3399 5G 通信和图像增强算法的交通监控系统设计
    数据库视图的基本操作(sql语句)
    LeetCode刷题——146. LRU 缓存(HOT100)
    投资理财知识分享:100个金融知识专业术语
    Scala数据结构
    了解zabbix
    PaddleX:一站式、全流程、高效率的飞桨AI套件
  • 原文地址:https://blog.csdn.net/u010442378/article/details/134095795