快速了解数据中台

数据中台,看到这个词,很迷茫。快速了解的话,先看看数据发展的历史把。
在互联网初期,可能就是一个公司的一个部门里面就有着一个后台系统,互不畅通,每个系统数据量相对较少。
为了实现业务共享,出现SOA架构,将各个系统串联了起来,解决了信息的孤岛,数据量开始变多。
在后期的互联网的高并发场景里面,数据库不再是一个,而是数据库集群,而且为了解决用户的查询操作,出现了数据库读写分离。
数据库读写分离,有两种,一种是横向切分,一种是纵向切分。
横向切分:通常通过hash取余算法来分散数据。
纵向切分:按照功能模块进行切分

最常见的例子就是订单相关的了。
假设有3个表,订单表,用户表,供应商表

如果3个表有sql join联查这种操作,无疑是最耗费性能的。
我们通常会减少join这种联查操作,将数据进行冗余。
但是也会出现一个问题,就是一个表里面的冗余字段太多太多了。

读写分离是一个好的方案,我们对于联查这种操作,只保留部分数据作为查询,订单查询的话,可以只保留当月的数据,其他的数据同步到另一台服务器上。

生产机(读数据库):

  • 只保留当月
  • 数据写操作
  • 当月查询

查询机器(查询数据库)

  • 通过生产机定时同步而来
  • 保存完整的数据库
  • 建立数据仓库
  • 数据分析
  • 往月份查询

数据库可以做更多的事情了。
查询机器的数据越来越多,其实就可以建立数据仓库了。

按照更专业的说法,可以分为以下几个方面:
1.查询统计:数据分散存储于各个系统中,无质量管控,查询统计为主。
缺点:
随着数据的增长,查询速度越来越慢
存储成本越来越高
数据扩展越来越困难

2.决策支持:数据集中存储于数据仓库中,有质量管控
局限:底层大多关系型数据库,数据的应用面窄,数据挖掘太少。

3.数据驱动:以数据价值驱动,采集更多的数据,构建数据中台
规范数据:优化数据中台

4.运营优化:规范数据,规范数据应用,优化中台,形成数据应用闭环

数据中台要做什么?

  • 尽可能的收集数据:
    结构化数据的采集
    非结构化数据 日志,网页 ,数据文件
    5g 物联网发展,日常的生活都能采集出来。
  • 更好的整理数据:
    etl:清洗转换集成
  • 数据仓库:多维建模,数据主题模型,统一数据标准
  • 挖掘潜在价值:
    挖掘不出价值?引入大数据技术,算法的人工智能,更多的事情。

解释一下etl:
将业务系统的数据进行抽取,然后清洗转换集成,并且分析建模

解释一下数据清洗,转换,集成:
采集的数据缺失,采集完成数据,将缺失数据进行补全。
例如公司表和行业表,有很多类型公司,对应相应的行业,对于公司所处的行业,未知的填写999进行补全。
文件类型,多个类型,各种不同类型的数据,转换成同样的数据。
文件明细,有的类型没有,需要补全。

建模的基本概念:
维度表(dimension):表示对分析主题所属类型的描述。
事实表(fact table):表示对分析主题的度量。

例如公司表,地域表,行业表
公司表就是事实表,而地域是公司的一种维度,行业也是一种维度,地域表和行业表就是维度表。

建模的模型有哪些?
星形模型:
事实表直接关联维度表
快速了解数据中台_第1张图片

雪花模型:
快速了解数据中台_第2张图片
动态数据,形成事实表。 维度表,形成静态数据。维度表上还有维度表,形成了雪花模型。
性能为题:left join 关联操作。
通过设计,减少join操作。

数据中台要做什么?

技术框架:

大致两类:
结构化数据:
sqoop导入,spark+hive 清洗转换集成, Hbase数据库进行多维模型分析,ElasticSearch 数据索引查询->应用服务器
非结构化数据:
应用数据->kafka ->spark streaming数据解析->大数据平台

快速了解数据中台_第3张图片

数据中台整体概览:

看了相关文章进行整理,也是初次接触,如有不足,请猛烈批评。

你可能感兴趣的:(java,数据仓库,数据库)