concepts阅读总结9——数据仓库

简介: 数据仓库简介: 数据仓库有四个典型的特点:1、数据仓库是面向主题的 数据仓库的建立是针对一个主题的,可以是一个人事的管理,销售的管理的数据仓库,他的功能就是帮助用户分析数据用的。

数据仓库简介:

数据仓库有四个典型的特点:1、数据仓库是面向主题的 数据仓库的建立是针对一个主题的,可以是一个人事的管理,销售的管理的数据仓库,他的功能就是帮助用户分析数据用的。2、数据仓库是统一的,就是不同形式的数据,不同类型的数据,在存入数据仓库的时候会被转化成统一的形式进行存储。 3.数据仓库是永久的,不应该被删除或者修改,是用来查询使用的。4、数据仓库是历史的为了发现业务中存在的趋势,分析用户需要使用大量数据。这与联机事务处理(online transaction processing,OLTP)系统截然相反,OLTP 系统对性能要求较高,历史数据必须移动到归档中。由于数据仓库关注数据在时间上的变化,因此称其是历史的(time variant)。

在每周或者每月,联机事务处理(oltp)数据库会将数据汇集到数据仓库中,但是在加载到数据仓库之前,这些数据会存在一个中转文件中。并且进行适当的处理(其实我也不知道进行啥处理)最后存储在一个叫fact table 的表中。

数据仓库的体系结构:分三种常见的体系结构:基本型,使用中转区,使用中转区和数据集。其实我看了一下三个图,很好理解的,基本的就是没有中转区的那个,有中转区的可以在存入数据仓库之前存入中转区,这样就能处理之后再存储了,至于带集市的那个,就是在查询数据的时候,提前把各种数据分开,比如财务的,库存的,销售的,都分别存储在不同的地方,这样查询的效率就高了哈。。

抽取转换加载(etl):

从原系统抽取数据再存储到数据仓库的过程就被称为ETL,抽取(extraction)、转换(transaction)、加载(loading)。与数据共享工作相比,数据仓库系统除了需要交换数据,还需集成(integrate),重构(rearrange),融合(consolidate)来自多个源系统的数据,从而为业务智能提供一个统一的信息基础。此外,数据仓库系统中的数据量通常十分巨大。

可移动表空间:

可移动表空间是在两个oracle数据库中移动数据最快的方式,以前没有出现这个技术的时候,只能用平面文件作为中转站,先用exp导出数据到平面文件(flat file),然后再由flat file 导入(imp命令)到另一个数据库,

在数据仓库系统中,可移动表空间功能最常见的应用是将数据从中转数据库(staging database)移动到数据仓库,或将数据从数据仓库移动到数据集市。

用户可以利用表函数(table function)管道化(pipelined)及并行化(parallel)地执行数据转换(transformation),表函数可以由 PL/SQL,C,或 Java 实现。本章前面讲述的某些抽取案例中使用了起中间作用的中转表(staging table),但这会使数据在各个转换步骤间出现停顿,而采用表函数则能够避免这种停顿。

外部表:

外部表与常规表的区别在于外部表是只读的。在外部表上不能执行 DML 操作(UPDATE/INSERT/DELETE),也不能在其上创建索引。

表压缩:

用户可以通过压缩堆表(heap-organized table)来节省磁盘空间。分区表(partitioned table)就是一种典型的可以考虑采用表压缩(table compression)的堆表。

为了减少磁盘使用及内存使用(尤其是数据库缓存(buffer cache)),用户可以将数据库内的表及分区表以压缩形式存储。这有助于提高只读操作的性能。表压缩能够提高查询执行的速度,但会略微增加 CPU 开销。

变化数据捕捉:

变化数据捕捉功能无需依赖关系数据库外部的中间文件来中转数据。此功能根据对数据表的 INSERTUPDATE,及 DELETE 操作来捕捉变化的数据。变化数据将存储在被称为变化表(change table)的数据库对象,这些数据能够根据用户的控制而提供给有需要的应用程序。

在数据仓库中使用物化视图:

在数据仓库系统中,可以通过创建汇总数据(summary)来提升其性能。汇总数据是一种聚合视图(aggregate view),其中可以保存预先计算的复杂关联,聚合,或排序,从而提高相关查询的执行性能。例如,用户可以创建一个表,保存按区域及产品汇总的销售数据。

在本章内或 Oracle 数据仓库系统中,汇总数据或聚合数据(aggregate)通常是通过物化视图(materialized view) 这种模式对象(schema object)创建的。物化视图的应用有多种,例如提高查询性能或进行数据复制。
分析型sql语句:

Oracle 提供了多种 SQL 功能,用于在数据库中进行分析操作。这些功能包括排名(ranking),移动平均值(moving average),累积求和(cumulative sum),百分比(ratio-to-report),以及同期比较(period-over-period comparison)等。尽管有些计算以前的 SQL 也能实现,但新语法能够实现更好的性能。

用于聚合运算的sql:这个聚合运算可是数据仓库的最基本的功能,oracle对group by 子句进行了扩展,这样可以使用户从最底层的数据明细一层层的向上汇总,极大的提高查询效率。

这些扩展使用户可以利用 GROUP BY 子句获得其感兴趣的汇总结果。用户无需使用 CUBE操作就能够高效地进行多维分析(analysis across multiple dimensions)。完全计算一个立方体(cube)将带来很重的系统负载,因此以聚合运算的结果集来代替立方体能够显著地提升系统性能。使用 CUBEROLLUP,及聚合运算都能得到一个单一的结果集,其效果与使用 UNION ALL 语句将多个聚合运算得到的数据行进行合并后相同。多维分析(multidimensional analysis)是决策支持系统(decision support system)中的一个关键概念:其含义是以各种可能的维度(dimension)的组合来观察一个企业。此处使用维度这个术语来代指分析中所使用的不同角度。常用的维度有时间(time),地域(geography),产品(product),部门(department),及渠道(distribution channel)等,但用户可以根据企业自身行为特点总结出各种维度。与一组维度值(imension value)相关的事件(event)或实体(entity)通常被称为事实(fact)。常见的事实有销售数量及金额,利润,客户数量,产量等,任何值得观察的信息都可以作为事实。

以下是一些多维查询的例子:

  • 按产品维度及各层次地域维度(从州到国家再到地区)对 1999 年及 2000 年的销售进行聚合运算。
  • 创建旋转表,以南美洲各个国家为角度分析 1999 年及 2000 年企业运行的成本。包括所有子汇总(subtotal)。
  • 列出 2000 年创造汽车产品销售利润前 10 名的销售代表,并按佣金排序。

用于分析运算的sql:

Oracle 内含有一套分析型 SQL 函数(analytic SQL function),提供了高级 SQL 分析处理能力。用户可以利用这套函数进行以下计算:

  • 排名(ranking)及百分位数(percentile)
  • 移动窗口计算(moving window calculation)
  • 滞后/提前分析(lag/lead analysis)
  • 首位/末位分析(first/last analysis)
  • 线性回归统计(linear regression statistic)
排名函数包括累积分布(cumulative distribution),百分比排名(percent rank),以及 N-tile 函数。移动窗口计算使用户可以进行移动及累积的汇总或平均计算。滞后/提前分析能够在数据行之间建立直接的关联(direct inter-row reference),用户可以使用此功能进行同期分析。首位/末位分析的典型应用是帮助用户找出所有订单中最具价值及最无价值的分组。

Oracle 还支持 CASE 表达式。CASE 表达式能够处理 if-then 逻辑。

为了进一步提升系统性能,分析函数可以被并行执行:即多个进程同时执行语句。这使运算更为高效,也提高了数据库的性能,可伸缩性(scalability),及易用性。

用于建模的sql:

Oracle 的 MODEL 子句能使 SQL 的计算能力更强大更灵活。利用 MODEL 子句,用户可以在结果集的基础上创建一个多维数组(multidimensional array),并可以使用此数据进行新的公式计算(formula)。公式可以为基本的数学运算,也可以是包含递归运算的联立方程(simultaneous equations using recursion)。对于某些应用来说,MODEL 子句能够代替在 PC 上运行的电子表格软件。Oracle 的 MODEL 子句增强了其可伸缩性,可管理性,协作能力及安全性。核心查询引擎(core query engine)对其处理的数据量没有限制。当数据库具备了定义和执行模型的能力后,用户不必在独立的建模系统与数据库间移动大量数据。模型可以在工作组(workgroup)间共享,这使所有应用都能获得具备一致性的数据。同样,对模型的访问也可以依靠 Oracle 的安全特性进行细致的控制。MODEL 子句丰富的功能有助于增强所有类型的应用系统。

PLAP功能概述:

Oracle OLAP 增强了 Oracle 关系型数据库的查询性能及计算能力,而这些增强以前只能通过多维数据库实现。此外,Oracle OLAP 中提供了一套 Java OLAP API,供用户开发适合 internet 环境的分析应用程序。与其他将 OLAP 与 RDBMS 整合的技术不同,Oracle OLAP 多维数据库不需要将数据从关系型数据存储转移到多维数据存储。Oracle OLAP 是一个实现了 OLAP 功能的关系型数据库。因此,Oracle 在提供了多维数据库功能的同时,还具备 Oracle 数据库的可伸缩性,可访问性(accessibility),安全性,可管理性,及高可用性。专为开发适合 internet 环境的分析应用程序的 Java OLAP API 提供了高效的数据访问能力。










相关文章
|
7月前
|
分布式计算 大数据 Hadoop
数据仓库(13)大数据数仓经典最值得阅读书籍推荐
从事数仓工作,在工作学习过程也看了很多数据仓库方面的数据,此处整理了数仓中经典的,或者值得阅读的书籍,推荐给大家一下,希望能帮助到大家。建议收藏起来,后续有新的书籍清单会更新到这里。
620 2
数据仓库(13)大数据数仓经典最值得阅读书籍推荐
|
存储 数据挖掘 大数据
第16章 数据仓库与联机分析处理技术——复习笔记
第16章 数据仓库与联机分析处理技术——复习笔记
|
SQL Oracle 关系型数据库
数据仓库入门教程
数据仓库入门教程
446 0
|
存储 数据采集 数据管理
数据仓库是干什么的?底层原理是什么?
数据仓库是干什么的?底层原理是什么?
226 0
|
SQL 分布式计算 大数据
数据仓库实战教程
数据仓库已经是企业的数据竞争的核心了,学好数据仓库对提高自己和找到一份好的工作都至关重要,但是很多人对数仓的印象还是停留在写SQL的层面,其实今天的数仓更像是一个数据平台应用,我们学习的大数据技术其实最终的价值都体现在数据服务上,数仓是数据服务的基石,如果说业界以前还有离线和实时之分的话,那么现在实时数仓的提出与落地,未来数仓将是数据战争的最激烈的战场,一切大数据技术都将为数仓提供服务,也都将在数仓这一环节进行收口。 本专栏主要专注于数仓工具学习、数仓建模以及业务建模、SQL 实战和平台建设,最后以3家公司的数仓建建设和实时数仓作为结尾项目,这份教程有以下特点 1. 知识体系完善,从数仓的
857 2
|
数据建模
数据仓库复习(七)
数仓建模-实体建模法
99 0
|
存储
数据仓库复习(十)
维度建模三种模式
82 0
数据仓库复习(六)
数仓建模-维度建模法
96 0
|
数据挖掘 OLAP OLTP
数据仓库复习(一)
对数据仓库基本内容进行概述
163 0
下一篇
DataWorks