数据库: 联机事务处理 OLTP 联机=实时 特性:
实时增删改查(响应) | 在线(不宕机) |
---|
逐条不断修改事务处理 只能看到最终修改状态 mysql oracle sqlserver
数据仓库: 用来分析 联机数据分析 OLAP 特性:
面向主题 | 集成的 | 相对稳定 | 反映历史变化 |
---|---|---|---|
分主题(订单) | 全部数据汇聚 | 不修改 | 历史和最终状态 |
三个特点 存储 分析 数据量大 mysql 联机数据分析 OLAP 分库 hive 离线批处理
数仓层 | 说明 |
---|---|
ODS operation data service | 操作数据(最原始的数据) --贴源层 |
DWD data warehouse detail | 数仓明细层: 分主题 补全信息 转换 |
DWS data warehouse service | 数据汇聚层 (每个人 总时长) |
ADS application data service | 应用服务层 (uv pv 全部人数) |
数据仓库分层的原因
① 空间换时间
通过建设多层次的数据模型供用户使用,避免用户直接使用操作型数据,可以更高效的访问数据。
② 把复杂问题简单化
将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。
③ 便于解耦 “底层业务的变化”
随着业务的变化,只需要调整底层的数据,应用层对业务的调整零感知.
2.4.3 分层的价值
① 高效的数据组织形式【易维护】
面向主题的特性决定了数据仓库拥有业务数据库所无法拥有的高效的数据组织形式,更加完整的数据体系,清晰的数据分类和分层机制。因为所有数据在进入数据仓库之前都经过清洗和过滤,使原始数据不再杂乱无章,基于优化查询的组织形式,有效提高数据获取、统计和分析的效率。
② 时间价值【高性能】
数据仓库的构建将大大缩短获取信息的时间,数据仓库作为数据的集合,所有的信息都可以从数据仓库直接获取,数据仓库的最大优势在于一旦底层从各类数据源到数据仓库的ETL流程构建成型,那么每天就会有来自各方面的信息通过自动任务调度的形式流入数据仓库,从而使一切基于这些底层信息的数据获取的效率达到迅速提升。
从应用来看,使用数据仓库可以大大提高数据的查询效率,尤其对于海量数据的关联查询和复杂查询,所以数据仓库有利于实现复杂的统计需求,提高数据统计的效率。
③ 集成价值【简单化】
数据仓库是所有数据的集合,包括日志信息、数据库数据、文本数据、外部数据等都集成在数据仓库中,对于应用来说,实现各种不同数据的关联并使多维分析更加方便,为从多角度多层次地数据分析和决策制定提供的可能。