针对上篇文章遗留问题联邦学习之一
几亿级别的数据量架构如何设计且如何实现
要解决这个问题 那么咱首先要会大数据处理框架的相关内容
这篇文章咱们走进大数据处理的世界
首先咱们要理解大数据相关的概念和原理 才能很好的使用这些组件和设计大数据处理架构
flume
sqoop
数据仓库
ETL
ODS
Data Mart
OLTP
OLAP
数据集市
咱一一分析原理
flume
sqoop
Hadoop和关系数据库服务器之间传送数据
数据仓库
数据仓库是供战略决策使用的数据 基本不更新的反应历史变化的数据 DW:Data Warehouse 一个很大的数据存储集合 出于企业的分析性报告和决策支持目的而创建 对多样的业务数据进行筛选与整合 它为企业提供一定的BI(商业智能)能力 指导业务流程改进、监视时间、成本、质量以及控制 数据仓库的输入方是各种各样的数据源 最终的输出用于企业的数据分析、数据挖掘、数据报表等方向
特点
- 主题性
不同于传统数据库对应于某一个或多个项目 数据仓库根据使用者实际需求 将不同数据源的数据在一个较高的抽象层次上做整合 所有数据都围绕某一主题来组织 比如对于滴滴出行"司机行为分析"就是一个主题 对于链家网"成交分析"就是一个主题
- 集成性
数据仓库中存储的数据是来源于多个数据源的集成 原始数据来自不同的数据源,存储方式各不相同 要整合成为最终的数据集合,需要从数据源经过一系列抽取、清洗、转换的过程
- 稳定性
数据仓库中保存的数据是一系列历史快照,不允许被修改 用户只能通过分析工具进行查询和分析
- 时变性
数据仓库会定期接收新的集成数据 反应出最新的数据变化
ETL
ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程 目的是将企业中的分散、零乱、标准不统一的数据整合到一起 为企业的决策提供分析依据 ETL是BI项目重要的一个环节 通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间 ETL设计的好坏直接关接到BI项目的成败
ODS
短期的实时的数据 供产品或者运营人员日常使用 可以更新的数据 操作型数据存储 存储的是当前的数据情况 给使用者提供当前的状态 提供即时性的、操作性的、集成的全体信息的需求 ODS作为数据库到数据仓库的一种过渡形式 与数据仓库在物理结构上不同,能提供高性能的响应时间,ODS设计采用混合设计方式 ODS中的数据是"实时值",而数据仓库的数据却是"历史值" 一般ODS中储存的数据不超过一个月,而数据仓库为10年或更多
DSS(decision-support system)决策支持系统
用于支持管理决策的系统 通常,DSS对大量的数据单元进行的分析 通常不涉及数据更新
Data Mart
为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据 也可称为部门数据或主题数据(subjectarea) 在数据仓库的实施过程中往往可以从一个部门的数据集市着手 以后再用几个数据集市组成一个完整的数据仓库 需要注意的就是在实施不同的数据集市时,同一含义的字段定义一定要相容,这样再以后实施数据仓库时才不会造成大麻烦
工作中实际案例分析
数据部门工作流程
- 删除分析数据库的历史订单数据
- 全量更新订单数据到分析数据库
- 将数据简单清洗,并生成数据集市层
- 分析处理,产出报表