三十六、数据仓库的实现
1. 数据仓库的实现
1.1 数据仓库的基本内容
数据仓库包含海量数据。OLAP服务器要在数秒内回答决策支持查询。因此,至关重要的是,数据仓库系统要支持高校的数据立方体技术、存取方法和处理技术。本节,我们主要关注的是数据仓库的有效实现方法。
- 数据立方体的有效计算
- 索引OLAP数据:位图索引和链接索引
- OLAP查询的有效处理
- OPAP的服务器结构
2 数据立方体的有效计算
2.1 compute cube操作与维灾难
多维数据分析的很想是有效地计算许多维集合上的聚集。用SQL的属于,这些聚集称为分组(group-by)。每个分组可以用一个方体表示,而分组的集合形成定义数据立方体的方体的格。
- 数据立方体是方体格:假设相对ALLElectronics的销售创建一个数据立方体、包含city、item、year、sales_in_dollars。
- 按city和item分组计算销售总和
- 按city分组计算销售和。
- 按item分组计算销售和。
2.2 数据立方体可以被看成是方格体
- 最底层的方体是基本方体
- 最上层方体(顶点方体)只包含一个元
- 那麽一个具有L层的n维立方体有多少个方体?
- Li是维i(除去虚拟的顶层all,因为概化到all等价于去掉一个维)的层次数。
2.3 数据立方体的物化
方体的物化有三种选择
- 不预先计算任何“非基本”方体(不物化)
- 预先计算所有方体(全物化)
- 在整个可能的方体集中有选择地物化一个适当的子集(部分物化)
特点 - 第一种选择导致在运行时计算昂贵的多维聚集,可能很慢。
- 第二种选择可能需要海量存储空间,存放所有预先计算的方体。
- 第三种选择在存储空间和响应时间二者之间提供了很好的折衷。
立方体在DMQL中的定义和计算
3 索引OLAP数据:位图索引
3.1 位图索引
- 在特定栏上的索引
- 这一栏上的每一个值都对应于一个位向量
- 位向量的长度:基本表中特定栏属性值的个数。
- 如果基本表中的给定行的属性值为v,则在位图索引的对应行,表示该值的位为1,该行的其它位均为0
- 对于基数较大的域不大适合
3.2 连接索引
- 如果两个关系R(RID ,A)和S(B,SID )在属性A和B上连接,则连接索引记录包含JI(RID,SID)对,其中RID和SID分别来自R和S的记录标识符。
- 传统的索引将给定列上的值映射到具有该值的列表上,而连接索引登记来自两个关系数据库的可连接行
- 在数据仓库中,连接索引把星形模式的维值连接到事实表中的行,事实表和它对应维表的连接属性是事实表的外关键字和维表的主关键字
- 连接索引可以跨越多维,形成复合连接索引
4 OLAP的有效处理
4.1 典型的数据仓库设计过程
物化方体和构造OLAP索引结构,目的是加快数据立方体中的查询处理。
给定物化的视图,查询处理应按如下步骤进行
确定哪些操作应当在可利用的方体上执行
- 将查询中的下钻,上卷等转换成对应的SQL 和/或OLAP操作, 例如, 数据立方体上的切片和切块可能对应于物化方体上的选择和/或投影操作
确定相关操作应当使用那些物化的方体
- 涉及找出可能用于回答查询的所有物化方体,使用方体之间的“支配”联系知识,剪去上集合,估计使用剩余物化方体的代价,并选择代价最低的方体。
5 OLAP的服务结构
从逻辑上讲,OLAP服务器为商户用户体哦那个仓库火数据集市的多维数据,而不必关心数据如何存放和存放在何处。然后OLAP服务器的物理结构和实现必须考虑数据存放问题。用于OLAP处理的数据仓库服务器的实现包括
- 关系OLAP(ROLAP)服务器
- 多维OLAP(MOLAP)服务器
- 混合OLAP(HOLAP)服务器
- 特殊的SQL服务器
5.1 OLAP的服务结构的比较
- 关系OLAP(ROLAP)服务器:这是一种中间服务器,介于关系的后端服务器和客户前端中间。
- 多维OLAP(MOLAP)服务器:这些服务器通过基于数组的多维存储引擎,支持数据的多维视图。
- 混合OLAP方法结合ROLAP和MOLAP技术,得益于ROLAP较大的可伸缩性和MOLAP的快速计算。
- 特殊的SQL服务器:为了满足关系数据库中日益增长的哦OLAP处理的需要,一些数据库系统提供商实现了特殊的SQ服务器,提供高级查询语言和查询处理,在只读环境下,在星形和雪花形模式上支持SQL查询。
5.2 AP的快速计算
- 特殊的SQL服务器:为了满足关系数据库中日益增长的哦OLAP处理的需要,一些数据库系统提供商实现了特殊的SQ服务器,提供高级查询语言和查询处理,在只读环境下,在星形和雪花形模式上支持SQL查询。
三十六、数据仓库的实现相关推荐
- Python编程基础:第三十六节 模块Modules
第三十六节 模块Modules 前言 实践 前言 我们目前所有的代码都写在一个文档里面.如果你的项目比较大,那么把所有功能写在一个文件里就非常不便于后期维护.为了提高我们代码的可读性,降低后期维护的成 ...
- OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC
OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...
- NeHe OpenGL教程 第三十六课:从渲染到纹理
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 三十六、Java集合中的HashMap
@Author:Runsen @Date:2020/6/3 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...
- 三十六、rsync通过服务同步、Linux系统日志、screen工具
三十六.rsync通过服务同步.Linux系统日志.screen工具 一.rsync通过服务同步 该方式可以理解为:在远程主机上建立一个rsync的服务器,在服务器上配置好各种应用,然后本机将作为客户 ...
- 嵌入式实时操作系统ucos-ii_「正点原子NANO STM32开发板资料连载」第三十六章 UCOSII 实验 1任务调度...
1)实验平台:alientek NANO STM32F411 V1开发板2)摘自<正点原子STM32F4 开发指南(HAL 库版>关注官方微信号公众号,获取更多资料:正点原子 第三十六章 ...
- 第三百三十六章 斗宗强者间的大战!
第三百三十六章 斗宗强者间的大战! <script language="javascript" src="/js/style2.js"></s ...
- 三十六進制之間隨便轉換
去年在網上給一家公司投簡歷的時候,對方要求寫一個任意進制轉換的函數,當時沒有回過神來,也不知道JAVA中有這樣的函數,呵呵.于是就自己操刀,寫了這個三十六進制之音隨便轉的函數.不過,權當練習吧,如果你 ...
- JavaScript学习(三十六)—移动的小球
JavaScript学习(三十六)-移动的小球 代码如下: <!DOCTYPE html> <html lang="en"><head>< ...
- 水浒传 第三十六回 没遮拦追赶及时雨 船火儿夜闹浔阳江
导读: 第三十六回 没遮拦追赶及时雨 船火儿夜闹浔阳江 话说当下宋江不合将五两银子发了那个教师.只见这揭阳镇上众人丛中,钻过 这条大汉,睁着眼,喝道:"这厮那里学到这些鸟棒,来俺这揭阳镇上逞 ...
最新文章
- su oracle : 只切换用户,而不切换环境;就是说切到oracle用户后,使用的依旧是root的环境。 su - oracle :同时切换用户和环境
- 关于Verilog中begin···end语句执行顺序
- javaweb----DAO模型设计
- [机器学习] 模型稳定度指标PSI
- 02 掌握变量的定义和使用方法 1214
- RocketMQ知识点整理
- (TI xDM)SSCR Module—Shared Scratch Memory
- linux acl库编译与使用,linux的ACL-rds数据删除了可恢复吗?-WinFrom控件库|.net开源控件库|HZHControls官网...
- 修图必备:Photosho 2022 for Mac
- 组队开发第二周第五次会议
- 【旧文章搬运】PsVoid中IrpCreateFile函数在Win7下蓝屏BUG分析及解决
- 【软考软件评测师】第二十五章 系统安全设计(网络攻击)
- 给txt格式的文档增加目录
- jojo第七部dio怎么复活_不是很懂第七部DIO爷是怎么死的
- 使用Bugzilla,你肯定会遇到的坑。
- oracle数据库year函数怎么用,数据库 year函数
- IE浏览器提示代理服务器没有响应,但是360浏览器可以用
- python使用正则表达式代码_python如何使用正则表达式
- jupyter notebook 前面书写后面内容消失
- 【泛微OA】常用配置文件修改方式
热门文章
- ext的window如何隐藏水平滚动条
- 基于Swoole和Redis实现的并发队列处理系统 1
- Xshell5 评估过期,需要采购,不能使用
- 全排列的生成算法:字典序法
- Linux中的大于号 双大于号 大于号:覆盖 追加 正确与错误都输出至指定文件
- PHP中file_get_contents的使用方法
- centos7安装docker安装rabbitmq(2021)亲测有效!!!
- php krsort重置索引,PHP数组处理函数举例
- java中qq中拉伸的文件,delphi中如何实现QQ中的截图并实现拉伸放大移动的功能
- 计算机网络 闯关,2009计算机网络考研试题过关必练.docx