数据中台,看到这个词,很迷茫。快速了解的话,先看看数据发展的历史把。 在互联网初期,可能就是一个公司的一个部门里面就有着一个后台系统,互不畅通,每个系统数据量相对较少。 为了实现业务共享,出现SOA架构,将各个系统串联了起来,解决了信息的孤岛,数据量开始变多。 在后期的互联网的高并发场景里面,数据库不再是一个,而是数据库集群,而且为了解决用户的查询操作,出现了数据库读写分离。 数据库读写分离,有两种,一种是横向切分,一种是纵向切分。 横向切分:通常通过hash取余算法来分散数据。 纵向切分:按照功能模块进行切分
最常见的例子就是订单相关的了。 假设有3个表,订单表,用户表,供应商表
如果3个表有sql join联查这种操作,无疑是最耗费性能的。 我们通常会减少join这种联查操作,将数据进行冗余。 但是也会出现一个问题,就是一个表里面的冗余字段太多太多了。
读写分离是一个好的方案,我们对于联查这种操作,只保留部分数据作为查询,订单查询的话,可以只保留当月的数据,其他的数据同步到另一台服务器上。
生产机(读数据库):
只保留当月数据写操作当月查询查询机器(查询数据库)
通过生产机定时同步而来保存完整的数据库建立数据仓库数据分析往月份查询数据库可以做更多的事情了。 查询机器的数据越来越多,其实就可以建立数据仓库了。
按照更专业的说法,可以分为以下几个方面: 1.查询统计:数据分散存储于各个系统中,无质量管控,查询统计为主。 缺点: 随着数据的增长,查询速度越来越慢 存储成本越来越高 数据扩展越来越困难
2.决策支持:数据集中存储于数据仓库中,有质量管控 局限:底层大多关系型数据库,数据的应用面窄,数据挖掘太少。
3.数据驱动:以数据价值驱动,采集更多的数据,构建数据中台 规范数据:优化数据中台
4.运营优化:规范数据,规范数据应用,优化中台,形成数据应用闭环
数据中台要做什么?
尽可能的收集数据: 结构化数据的采集 非结构化数据 日志,网页 ,数据文件 5g 物联网发展,日常的生活都能采集出来。更好的整理数据: etl:清洗转换集成数据仓库:多维建模,数据主题模型,统一数据标准挖掘潜在价值: 挖掘不出价值?引入大数据技术,算法的人工智能,更多的事情。解释一下etl: 将业务系统的数据进行抽取,然后清洗转换集成,并且分析建模
解释一下数据清洗,转换,集成: 采集的数据缺失,采集完成数据,将缺失数据进行补全。 例如公司表和行业表,有很多类型公司,对应相应的行业,对于公司所处的行业,未知的填写999进行补全。 文件类型,多个类型,各种不同类型的数据,转换成同样的数据。 文件明细,有的类型没有,需要补全。
建模的基本概念: 维度表(dimension):表示对分析主题所属类型的描述。 事实表(fact table):表示对分析主题的度量。
例如公司表,地域表,行业表 公司表就是事实表,而地域是公司的一种维度,行业也是一种维度,地域表和行业表就是维度表。
建模的模型有哪些? 星形模型: 事实表直接关联维度表
雪花模型: 动态数据,形成事实表。 维度表,形成静态数据。维度表上还有维度表,形成了雪花模型。 性能为题:left join 关联操作。 通过设计,减少join操作。
数据中台要做什么?
技术框架:
大致两类: 结构化数据: sqoop导入,spark+hive 清洗转换集成, Hbase数据库进行多维模型分析,ElasticSearch 数据索引查询->应用服务器 非结构化数据: 应用数据->kafka ->spark streaming数据解析->大数据平台
数据中台整体概览:
看了相关文章进行整理,也是初次接触,如有不足,请猛烈批评。