• 概述

架构是数据仓库建设的总体规划,从整体视角描述了解决方案的高层模型,描述了各个子系统的功能以及关系,描述了数据从源系统到决策系统的数据流程。业务需求回答了要做什么,架构就是回答怎么做的问题。

  • 架构的价值

  • 数据仓库架构

数据仓库的核心功能从源系统抽取数据,通过清洗、转换、标准化,将数据加载到BI平台,进而满足业务用户的数据分析和决策支持。数据仓库架构包含三个部分:数据架构、应用程序架构、底层设施。

  • 底层设施

底层设施为架构提供了基础,底层设施包括硬件、数据库平台、网络和桌面系统。

       硬件

硬件主要指服务器硬件,主要有数据库服务器、ETL服务器、调度服务器、报表服务器、BI门户服务器、接口服务器。

数据库平台

数据库平台分为二大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing),主要有Oracel,MySQL。OLAP是为数据分析而设计的数据库管理系统。主要有Teradata, Greenplum,Hive,Kudu。

桌面系统

数据仓库不同的应用对桌面系统也有不同的要求,开发工具主要有Window、Mac面系统,部署服务器主要有Unix桌面系统,系统BI应用程序主要有Window、Mac、移动设备桌面系统。

网络

网络是底层设施的基础,特别是大数据时代对网络的要求越来越高。

  • BI应用程序架构

数据仓库是数据处理的后台,业务用户并不关心后台怎么处理。BI应用是数据呈现的前台,是业务用户进行查询的入口。BI应用程序的体验也是衡量数据仓库是否成功的主要因素。

BI分析周期

业务分析从监视活动开始识别某个问题或时机,进而采取行动,最终回到监视该活动产生的结果上来,达到数据驱动业务增长的目的。分析周期把这个过程分为五个不同的阶段。

BI应用分类

接口查询

数据以接口的形式提供给上下游系统,供上下业务系统进行查询。主要有推和拉二种模式。

即席查询

业务用户根据自己的需求,自定义查询请求,后台自动组织SQL语句访问维度模型。

标准报表

根据业务用户的需求,进行定制报表。

仪表盘

它是向企业展示度量信息和关键业务指标现状的数据可视化工具。

数据挖掘

为数据挖掘工具提供标准基础数据。

运营查询

为了减少业务系统的大数据量查询压力,数据仓库为业务系统提供实时的查询。

数据存储

  • 数据架构

数据架构主要描述数据从源系统抽取数据,然后经过清洗、规范化、提交形成标准模型,最终提交给业务用户,以及对数据的管理。

源系统

数据仓库一般会面临多个、异构数据源的问题,主要分为结构化,半结构化以及非结构化数据。为了便于管理需要对源系统建立元数据信息。

抽取

因为源系统的多样性,源抽取阶段一般选择使用工具。在抽取之前还要做以下工作:

数据剖析是对数据的技术性分析,对数据的内容、一致性和结构进行描述。对源系统的数据质量进行评估。

  1. 数据剖析

  2. 变化数据捕获策略

为了减少对源系统的影响,一般只抽取变化的数据,也需要识别物理删除的数据。CDC策略主要有:

添加审计列

在源系统追加日期字段,当数据发生变化的时候,系统会自动更新该值。如果由后台人员手工修改数据,可能就发生遗漏。

数据比较

比较源系统和数据仓库的数据,只抽取变化的数据。这种方法需要全量的数据,比较耗费资源。可以视数据量的大小而定。

读取日志

读取数据库操作日志信息,同步到数据仓库中。一般日志的有效期比较短,一旦发生要重跑的情况,可能以前的日志已经被清空了。

消息队列

把事务信息放到消息队列里,以流的形式同步到数据仓库。这种方式即可以减轻源系统的压力,又能做到实时同步。

数据转换

数据从源系统抽取过来之后,就要进入数据转换阶段。 这一阶段是数据仓库开发核心阶段。主要有以下步骤:

清洗

数据清洗是制定转换规则,筛选数据并纠正数据的过程。清洗的目的是改进源系统的数据质量,但是不要在数据仓库做过多的清洗,源系统的数据质量应该在源头处理。清洗的主要内容包括:

规范化

规范化就是整合各个源系统的数据,把数据统一命名,统一取值,建立企业标准版本数据。主要内容包括:

提交

提交就要根据维度模型生成维度表和事实表。 提交主要内容包括:

  1. 选择合适的缓慢变化维类型
  2. 为维表生成代理键
  3. 管理不同粒度的层次维
  4. 管理专项维
  5. 生成维度桥接表
  6. 生成代理键管道
  7. 选择合适的事实表类型
  8. 处理延迟到达的事实
  9. 生成维度表
  10. 生成事实表

聚集

聚集是指根据事务事实表进行更高粒度的聚合以及生成相对应的维度表。主要内容包括:

数据存储

数据存储是指在在数据的生命周期内对数据的管理,主要内容包括:

数据仓库(三)之架构篇相关推荐

  1. 浅谈数据仓库的基本架构

    数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support).其实数据仓库本身并不"生产"任何数据,同时自身也不需要"消费&quo ...

  2. 浅谈数据仓库的基本架构(转)

    数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support).其实数据仓库本身并不"生产"任何数据,同时自身也不需要"消费&quo ...

  3. 【.NET Core项目实战-统一认证平台】第三章 网关篇-数据库存储配置(1)

    [.NET Core项目实战-统一认证平台]第三章 网关篇-数据库存储配置(1) 原文:[.NET Core项目实战-统一认证平台]第三章 网关篇-数据库存储配置(1) [.NET Core项目实战- ...

  4. 性能测试总结(三)--工具选型篇

    性能测试总结(三)--工具选型篇 本篇文章主要简单总结下性能测试工具的原理以及如何选型.性能测试和功能测试不同,性能测试的执行是基本功能的重复和并发,需要模拟多用户,在性能测试执行时需要监控指标参数, ...

  5. etl构建数据仓库五步法_带你了解数据仓库的基本架构

    数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support).其实数据仓库本身并不"生产"任何数据,同时自身也不需要"消费&quo ...

  6. 基于 MySQL + Tablestore 分层存储架构的大规模订单系统实践-架构篇

    简介: 本文简要介绍了基于 MySQL 结合 Tablestore 的大规模订单系统方案.这种方案支持大数据存储.高性能数据检索.SQL搜索.实时与全量数据分析,且部署简单.运维成本低. 作者 | 弘 ...

  7. MySQL性能调优与架构设计-架构篇

    架构篇(1) 读书笔记 1.Scale(扩展):从数据库来看,就是让数据库能够提供更强的服务能力 ScaleOut: 是通过增加处理节点的方式来提高整体处理能力 ScaleUp: 是通过增加当前处理节 ...

  8. 全解MySQL之架构篇:自顶向下深入剖析MySQL整体架构

    二.MySQL整体结构浅析 本章作为MySQL系列的开篇之作,当然也有一定的原因,毕竟只有先对MySQL的整体架构有了一个宏观的认知,才能更好的理解每个细节点的知识. MySQL与我们开发项目时相同, ...

  9. 第1节 MySQL 架构篇 2021-12-24

    Java组件总目录 MySQL 架构篇 Java组件总目录 一.mysql文件结构 1. 日志文件(顺序IO) 1)错误日志(errorlog) 2)二进制日志(bin log) 3)通用查询日志(g ...

  10. 【系统分析师之路】第七章 系统分析架构篇记忆敲出

    [系统分析师之路]第七章 系统分析架构篇记忆敲出 系统分析师系统设计架构篇记忆敲出 [系统分析师之路]第七章 系统分析架构篇记忆敲出 一. 软件架构的概念 二. 五种软件架构的风格 三. 数据流风格的 ...

最新文章

  1. puppeteer php,puppeteer 页面爬取实例(元素遍历)
  2. IDEA坑爹跟新的小BUG解决之道
  3. Web安全之命令执行漏洞
  4. 操作iframe里面的标签内容
  5. protobuf windows java_protobuf windows java 环境搭建
  6. 【机器视觉】 endif算子
  7. getResourceAsStream总是返回null以及intellij总是提示Argument ‘inputStream‘ might be null
  8. 二叉树的三叉链表存储和基本操作
  9. 浅谈大型网站之负载均衡架构
  10. 单身狗有福了!斯坦福教授化身丘比特,AI算法之箭帮你配真命爱侣
  11. 在线安装docker
  12. 拒绝职场危机,程序员最核心的竞争力是什么?
  13. win10如何打开摄像头_win10系统如何打开自带游戏?
  14. warpctc error
  15. 开源阅读书源_安卓神器 | 开源小说软件阅读3.0,附赠大量书源
  16. Eclipse-project 重命名问题(如何彻底修改Eclipse工程名),4种解法
  17. jQuery编写插件()
  18. mimics中三维构造,建立MASK
  19. ADB如何无线连接手机操作方法
  20. C语言结构体传值和传址及内存使用

热门文章

  1. Java —— 自定义JSR303校验
  2. matlab 实现disparity,Matlab里的disparity map 计算
  3. 软件用户手册(软件使用说明书)
  4. /proc/config.gz 是什么
  5. java 滚动歌词_基于JavaScript怎么实现让歌词滚动播放
  6. R语言函数-tolower
  7. CSAPP:archlab
  8. Linux下pppd拨号脚本配置
  9. 破解华为电脑管家,多屏协同无法正常启动,提示 硬件解码器工作异常,请重启电脑
  10. 斗战神与服务器断开响应,win10系统玩斗战神游戏掉线的设置办法