数据仓库——决策支持型系统

数据仓库

数据仓库基础笔记思维导图已经整理完毕,完整连接为:
数据仓库基础知识笔记思维导图

前言

两种数据库观念

  • 服务于操作型需求数据库
  • 服务于信息型或分析型数据库

分析型环境又称决策支持系统(Decision-making Support System,DDS)

信息型和决策支持型系统处理核心–数据仓库

分析型信息型处理

服务于决策支持过程的管理需求,一般称为DSS处理 ,要在大量的数据中分析处理探索趋势

DSS环境重点

  • 数据粒度
  • 数据分区
  • 元数据
  • 数据可信度的缺乏
  • DSS数据的集成
  • DSS数据的时间基准
  • 确定DSS的数据源–记录系统
  • 数据迁移及方法

数据仓库本身意味着建立不同类型的数据库

决策支持系统的发展

数据仓库是一个需要从整体上着手,然后逐步解决具体细节问题的体系结构。

直接存取存储设备(Direct Access Storage Device,DASD): 指磁盘存储器

数据库管理系统(Database Management System,DBMS) :使程序员方便地在DASD上存储和访问数据,对数据进行索引等功能的新型系统软件。

在线事务处理(Online Transaction Processing,OLTP :是一种用于处理实时交易和数据记录的计算机处理方式。它是许多企业与机构日常运营中的关键组成部分,确保了数据的准确性和实时性。OLTP使用基于事务的处理方式,将并发用户的交易安全地提交到数据库中。它通过保证数据的一致性、原子性、持久性和隔离性来确保交易的完整性和可靠性。

在线分析处理(Online Analysis Processing,OLAP):一种用于分析和查询大规模数据集的计算机处理技术。OLAP技术主要用于多维数据分析数据挖掘,通过提供多维数据模型和多维查询功能,帮助用户从不同角度和层次上对数据进行分析和查询,侧重分析决策

抽取程序

抽取程序 : 搜索整个文件或者数据库 使用某些标准选择合乎要求的数据 并把这些数据传送到其他文件或者数据库去。

抽取程序受欢迎的原因
  • 抽取处理将数据从高性能在线事务处理环境中转移出来,在对数据进行总体分析时,性能方面不存在冲突。
  • 抽取程序将数据从操作型数据处理环境中转移出来 ,数据控制方式转移给最终的用户。

蜘蛛网

由于迭代抽取,随着业务自然演化,造成抽取处理失控,数据库体系结构越来越庞大 、越来越复杂,最后演变成类似蜘蛛网的结构。

自然演化体系结构的问题
  • 数据可信性
  • 生产率的问题
  • 无法将数据转化为信息
数据缺乏可信性

原因

  • 数据无时间基准
  • 数据算法上的差异
  • 抽取的多层次问题
  • 外部数据问题
  • 无公共起始数据源
生产率问题
数据定位问题

数年内积累的大量数据与众多文件,存储来不同的系统中 、不同的硬件中,并且相同文件相同元素存在差异。

数据编辑问题
  • 要写的程序很多
  • 每个程序都需要定制
  • 程序涵盖了公司采用的所有技术

使用以形成蜘蛛网的遗留系统,信息访问费用非常高 并且需要花费很长时间才能建立。

从数据到信息
  • DSS分析员将面对众多未集成的遗留应用,但是因为应用建立之初未考虑集成问题,从它们中抽取信息几乎不可能。
  • 不同应用中,只有当前数据,并没有DSS分析员需求的历史数据。
体系结构的转变
原始数据/操作型数据导出数据/DSS型数据
面向应用面向主题
详细的概要的
在访问瞬间是准确的代表过去的数据,快照
为日常工作服务为管理者服务
可更新不更新
重复运行启发运行
处理需求预先可知处理需求事先不知道
生命周期符合SDLC完全不同的生命周期
对性能要求高对性能要求宽松
一次访问一个单元一次访问一个集合
事务处理驱动分析处理驱动
就操作型数据更新责任来说更新控制是一个主要关心的问题无更新控制问题
高可用性宽松的可用性要求
整体管理以子集管理
非冗余性总是存在冗余
静态结构 可变的内容结构灵活
一次处理的数据量小一次处理的数据量发
支持日常操作支持管理需求
访问频繁访问很少或不多

原始数据与导出数据差异如此巨大,它们根本不能存在于同一数据库中,甚至不能共存于同一个环境中。

体系结构层次

**企业信息源(corporate information factory,CIF )**体系结构的基石: 体系结构化环境四个层次。

操作层原子层/数据仓库层部门层个体层
细节的 日常的 当前值的 访问频繁 面向应用大部分是粒度化数据 随时间变化的 集成的 面向主题 一些汇总领域狭隘 一些导出数据 一些原始数据 如财务 市场 工程 保险暂时的 为特定目的的 启发的 非重复的 基于PC和工作站的
体系结构化环境并没有产生太多的冗余数据
  • 数据仓库环境存储的是历史信息,并不与操作环境中的当前信息重复。数据仓库中记录之间并没有重复,每个记录都有相关联的时间元素。
  • 部门/数据集市环境数据是反向规范的和汇总的,与数据仓库环境数据有根本不同
  • 个体层数据常常是暂时的,小规模的。
体系结构化数据集成

当数据从操作型环境流入数据仓库时,数据集成必须进行。

  • 数据以非集成状态到达数据仓库,无法用于支持数据的企业视图。
  • 未经集成的操作型数据都是复杂和难以处理的。
  • 抽取/装载/转换(ETL)大部分可以自动进行 ,且继承集成只需要进行一次。
数据仓库的用户——DSS分析人员
  • 首先是商务人员,其次才是技术人员
  • 主要工作是定义和发现在企业决策中使用的信息
  • 自身对数据仓库的使用的理解很重要
  • 到DSS开发生命周期最后才发现真正的需求,自身从现有需求开始,要将新的需求考虑在内几乎是完全不可能的事

开发生命周期

数据仓库环境下系统开发生命周期与传统SDLC完全相反

传统SDLC数据仓库SDLC
收集需求实现数据仓库
分析集成数据
设计检验偏差
编程针对数据编程
测试设计DSS系统
集成分析结果
实现理解需求

硬件利用模式

  • 操作型环境处理中有多个波峰和波谷,存在相对静止的硬件利用模式
  • 数仓环境中,利用二元模式。

重建工程创造条件

从生产环境移走大量数据

移走巨大数量数据,可以使生产环境更具可塑性。

  • 生产环境更易于纠错
  • 生产环境更易于重构
  • 生产环境更易于监控
  • 生产环境更易于索引
从生产环境中移走信息型处理

信息型处理移到数据仓库,生产环境中维护的负担将大大减轻。

  • 信息型处理采用报表,屏幕显示,抽取等形式。
  • 信息型处理特点是不停变化。
  • 信息型处理在传统生产环境中,维护起来无休无止。

监控数据仓库环境

建立数据仓库后,需要对它进行维护。需要对性能进行管理,需要对数据仓库环境进行监控。
需要对数据仓库监控的基本点:

  1. 数据
  2. 数据使用情况
  3. DSS环境中的响应时间

数据仓库监控方式

  • 最终用户终端
  • 服务器层次

数据仓库体系结构

Inmon的企业信息化工厂

企业数据仓库是企业信息化工厂的枢纽,它是原子数据的集成仓库,从各种操作信息集成而来,包含一个确定得且一致的业务活动表示法,基于原子数据的性质,该数仓尽可能的包括底层的细节数据。
企业数据仓库不是通过分析型应用程序、商务智能工具或类似方法直接查询,它的目的是将附加的数据存储用于各种分析型系统,企业数据仓库通常存储与关系型数据库管理系统中。并且Inmon主张使用第三范式进行数据库设计。
对于主题区域来说,每个数据集市都从企业数据仓库中获取信息,并为后续的信息做好准备,Inmon主张在数据集市中采用维度设计的方法,数据集市可以从企业数据仓库的原子表示中聚集数据。

Kimball的维度数据仓库

维度数据仓库根据维度建模的原则来设计,它由一系列星型模式或者多维数据集组成,并且他们获取尽可能详尽的细节数据。
维度数据仓库也许能被分析型系统直接访问,虽然这种访问方式不是必要的,但是这种体系结构显然允许存在,数据集市的概念有着逻辑上的区别,数据集市是数据仓库中的主题区域。ETL开发者通常会将满足第三范式的一组表作为该过程的中间步骤,Kimball认为,如果这些临时表时由ETL过程,而不是其他任何过程直接访问,那么这在维度数据仓库中是可接受的。

独立型数据集市

独立型数据集市是一个分析型数据存储,并不是在企业环境中被设计的,它只关注于主题区域,一个或多个操作型系统可以满足一个被称作数据集市的数据库。数据集市可能采用维度设计、实体关系模型或是其他设计,分析型工具或应用程序对它直接进行查询,然后将结果反馈给最终用户。
独立型数据集市在短期内获取快速的、廉价的结果的同事,会导致长期费用的提高和效率的低下。数据集市本身可能是基于不同的技术,并且用户群体可能依赖于各自的查询和报表基础设施。这些特性经常使独立型数据仓库带有“信息孤岛”的标记,缺乏兼容性。多重独立型数据集市增加了整个解决方案的成本,需要对冗余技术,进程和技能集合进行维护。
即使最大限度的降低了这些技术的低效性,在数据中也仍然可能存在严重缺陷,如果构建的数据集市仅用于解决某一方面的需求,当需求扩大时,由于缺乏不同粒度的数据存储,数据集市将难以回答那些比原先预期需要更多细节信息的新问题,冗余的加载过程对源数据应用不同的规则,导致系统得出矛盾的结果。
由于最初是为了满足狭隘的需求,因此无法支持跨功能进行分析,需要大量的重复工作来适应更深、更广的需求,短期的节省将付出长期的代价。
独立型数据集市产生的问题不是因为采用星型模式导致的,相反,这是有独立型数据集市只关注有限范围这一缺陷造成的。

体系结构提倡者其他称谓描述维度设计的角色
企业信息化工厂Bill Inmon原子数据仓库、企业数据仓库企业数据仓库是原子数据的集成仓库、不能被直接访问、数据集市为部门使用/分析而重新组织数据维度设计只应用于数据集市
维度数据仓库Ralph and Kimbal企业数据仓库、总线体系结构、结构化数据集市、虚拟数据集市维度数据仓库是原子数据的一种集成仓库、可以被直接访问、包含在维度数据仓库的主题区域,有时称为数据集市、数据集市不要求是独立的数据库所有数据按照维度组织
独立型数据集市无倡导者但很常见数据集市、竖井式、烟囱型、孤岛型主题区域的实现不需要企业环境可以使用维度设计

不同数据数据仓库设计方法对比

企业信息化工厂和维度数据仓库都关注企业级应用,他们的目的是支持跨企业或者组织机构的分析型需求,允许在一个主题区域内处理需求,需要采用一种工程化的方法来处理来自不同组织的数据需求。
独立型数据集市在关注企业级应用方面显示不足,其开发只考虑了来自一个小组或者部门的需求。

企业级主题区域级
原子数据集成仓库格式直接访问数据集市格式直接访问
企业信息化工厂第三范式物理维度*
维度数据仓库维度是*逻辑*维度
独立型数据集市物理维度*

“*”为可选标志

对于Inmon体系结构来说,数据集市是为部门使用而建立的一组表格,并且时物理分离的,可以聚集细节数据以适应部门或小组的特殊需要,这方面它与独立型数据集市有相似之处。然后企业信息化工厂中的数据集市在企业仓库中获取数据,因此内容与企业信息视图保持一致,这是独立型数据集市无法保证的。
对于Kimball体系来说,不要求数据集市与物理数据分开存储,相反它可以是一种逻辑构件,数据仓库表的子集。单独的数据集市报表可以随时构建。构建完毕后即可从集成仓库中得到报表。数据集市与企业信息视图保持一致。要么是由他们将这种视图具体化,要么是由他们从数据及时获取数据

Kimball维度数据仓库更加强调维度设计,依赖维度数据体系结构为企业和部门提供服务。Inmon则依靠维度模型在企业级解决方案背景下提供部门级的解决方案。多理性数据集市在使用维度设计时不考虑企业环境。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
后台采用apache服务器下的cgi处理c语言做微信小程序后台逻辑的脚本映射。PC端的服务器和客户端都是基于c语言写的。采用mysql数据库进行用户数据和聊天记录的存储。.zip C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类 在C语言中,变量用于存储数据,数据类用于定义变量的类和范围。C语言支持多种数据类,包括基本数据类(如int、float、char等)和复合数据类(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类数据的复合数据类。结构体由多个成员组成,每个成员可以是不同的数据类;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值