什么是OLAP

2023-11-15

问题导读:
1、为什么会出现OLAP应用?
2、OLAP的度过了哪些发展历史?
3、OLAP的基本内容有哪些?
4、OLAP常见操作有哪些?

 

OLAP(Online AnalyticalProcessing)是一种数据处理技术,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持。

OLAP是数据仓库对外数据能力的一种重要的输出方式:


OLAP的起源

60年代,关系数据库之父Edgar F. Codd提出了关系模型,促进了联机事务处理OLTP( On-line Transaction Processing)的发展(数据以表格的形式而非文件方式存储)。


1993年,OLAP由被称为“关系数据库之父”的Edgar F. Codd在他的白皮书《Providing OLAP to User-Analysts: An IT Mandate》中首次提出。


他认为OLTP已不能满足终端用户对数据库查询分析的需要,SQL对大型数据库进行的简单查询也不能满足终端用户分析的要求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。

因此,E.F.Codd提出了多维数据库和多维分析的概念,即OLAP。


他为OLAP产品建立了12条评估规则:


OLAP的发展历史

到现在为止,OLAP技术发展了20多年,正处于群雄逐鹿阶段,不知道未来有没有一统江湖的完美技术出现。


传统OLAP

根据Codd的关于OLAP的十二条准则,OLAP技术有了很大的发展,市场上的各种OLAP产品层出不穷。虽然OLAP的概念是在1993年才提出来的,但是支持OLAP相关产品的发展历史,最早可追溯到1975年:

1989年,SQL语言标准诞生,它可以从关系数据库中提取和处理业务数据。这可能是个转折点。在1980‘s年代,电子表格在OLAP应用中占绝对主导地位;而1990’s年代以后,越来越多的基于数据库的OLAP应用开始出现:



大数据OLAP

大数据方向OLAP相关技术的发展:


OLAP的基本内容

变量(度量)

变量是数据度量的指标,是数据的实际意义,即描述数据“是什么”。比如:人数。

维度

维度是描述与业务主题相关的一组属性,单个属性或属性集合可以构成一个维。比如:学历、民族、性别等都是维度。

维的层次

一个维往往可以具有多个层次,例如时间维度分为年、季度、月和日等层次,地区维可以是国家、地区、省、市等层次。这里的层次表示数据细化程度,对应概念分层。

维的成员

若维是多层次的,则不同的层次的取值构成一个维成员。部分维层次同样可以构成维成员,例如“某年某季度”、“某季某月”等都可以是时间维的成员。


多维数组

多维数组用维和度量的组合表示。一个多维数组可以表示为(维1,维2,……,维n,变量),例如(部门,职系、民族、性别,人数)组成一个多维数组。

数据单元(单元格)

多维数组的取值。当多维数组中每个维都有确定的取值时,就唯一确定一个变量的值。数据单元可以表示为(维1成员,维2成员,……,维N成员,变量的值),例如(人事教育部,技能,回族,男,1人)表示一个数据单元,表示人事教育部职系是技能的回族男性有1人。

事实

事实是不同维度在某一取值下的度量,例如上述人事教育部职系是技能的回族男性有1人就表示在部门、职系、民族、性别四个维度上企业人数的事实度量,并且在为人数事实中包含部门维度人事教育部这一个维度层次,如果将人数事实的所有维度考虑在内,就构成有关人数的多维分析立方体。


OLAP的特点

电子数据表与OLAP相比,不具备OLAP的多维性、层次、维度计算以及结构与视图分离等特点。

快速

终端用户对于系统的快速响应有很高的要求。调查表明如果用户在30秒内得不到回应,就会变得不耐烦。因此OLAP平台用了多种技术提高响应速度,例如专门的数据存储格式、大量的预处理和特殊的硬件设计等,通过减小在线分析处理的动态计算,事先存储OLAP所需粒度的数据等主要手段来获得OLAP响应速度的提高,尽管如此,查询反应慢仍然是OLAP产品中经常被提及的问题。

可分析

用户可以应用OLAP平台分析数据,也可以使用其他外部分析工具,例如电子数据表,这些分析工具基本上都以直观的方式为用户提供了分析功能。

共享

由于人们认为OLAP是只读的,仅需要简单的安全管理,导致目前许多OLAP产品在安全共享方面还存在许多问题。因此当多个用户访问OLAP服务器时,系统就在适当的粒度上加锁。

多维

维是OLAP的核心概念,多维性是OLAP的关键属性,这与数据仓库的多维数据组织正好相互补充。为了使用户能够从多个维度、多个数据粒度查看数据,了解数据蕴含的信息,系统需要提供对数据的多维分析功能,包括切片、旋转和钻取等多种操作

OLAP常见操作

OLAP的多维分析操作包括:钻取(Drill-down)、上卷(Roll-up)、切片(Slice)、切块(Dice)以及旋转(Pivot)、钻过(drill-across)、钻透(drill-through)


立方体的每个单元,存放一个聚合值。

  •      钻过(drill-across):钻过操作涉及多个事实表的查询并把结果合并为单个数据集。一个典型的例子就是预测数据与当前数据的结合:通常预测数据与当前数据存在于不同的表中,当用户比较预测销售与当月销售时,需要跨多个事实表查询。
  •     钻透(drill-through):钻透使用关系SQL,查询数据立方体的底层,一直到后端的关系表。


OLAP的分类

按建模类型分类

一般来说OLAP根据建模方式可分为MOLAP、ROLAP和HOLAP 3种主流类型,另外还有混合事务/分析处理(HTAP)、网络OLAP(WOLAP),桌面OLAP(DOLAP),移动OLAP(MOLAP)和空间OLAP(SOLAP)。


按处理数据量分类


工作中的实际情况是:几种数据引擎混合用,互相补充。


比如离线处理会先用hive或者sparksql跑出数据,对于数据量比较大的,先做一些汇总,再导入clickhouse等数据库,做自助分析。还有个别数据量大,clickhouse不能很好支持,但又需要临时摸底看数时,就要通过spark sql取数,这个就是数仓开发经常处理的临时提数任务。

按功能分类


OLAP系统核心技术点

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是OLAP 的相关文章

随机推荐

  • CSR867x — 开机是进入可发现可连接还是RSSI配对

    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX 作 者 文化人 XX 联系方式 XX 版权声明 原创文章 欢迎评论和转载 转载时能告诉我一声就最好了 XX 要说的话 作者水平
  • Linux特殊文件权限—SUID, GUID and Sticky Bit(s权限,t权限)

    Linux特殊文件权限 权限设置 常用权限 其他权限 s权限 t权限 SUID位 GUID位 Sticky bit 权限设置 常用权限 linux系统内有三种身份 u拥有者 g群组 o其他人 有三种常用权限 r读权限 w写权限 x执行权限
  • 一步一步学Cmake 之 必学的二十个指令(1-10)

    内容 1 add libray 2 option 3 execute process 4 target sources 5 add custom command 6 add custom target 7 function macro 8
  • C++中set用法详解

    1 关于set C STL 之所以得到广泛的赞誉 也被很多人使用 不只是提供了像vector string list等方便的容器 更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作 vector封装数组 list封装了链表
  • 16 个有用的带宽监控工具来分析 Linux 中的网络使用情况

    概述 为什么今天的网络这么慢 您是否在监控 Linux 网络带宽使用情况时遇到问题 如果你想可视化网络中正在发生的事情 以便了解和解决导致网络缓慢的任何原因 今天的工具可以帮助到你 下面列出的工具都是开源的 包括用于监视单个 Linux 机
  • [数据库系统]数据建模:工程化方法 之 IDEF1x规范

    IDEF1x规范 1 实体 2 联系 1 实体 实体 Entity 一个 实体 表示一个现实和抽象事物的集合 这些事物必须具有相同的属性和特征 这个集合的一个元素就是该实体的一个实例 实体被区分为独立实体和从属实体 独立实体 一个实体的实例
  • 如何让你的开源项目更有展现力?

    播种希望 今天讲的内容不是纯纯的技术干货 而是笔者在做开源项目中用到的一些工具 可以让我们的开源项目更加富有展现力 最后会同步一下H5 Dooring 页面编辑器和V6 Dooring可视化大屏编辑器的一些更新 如何让你的开源项目有个漂亮的
  • 【硬创邦】跟hoowa学做智能路由(七):路由联网

    2014 05 16 17 32 原创 孙冰 1条评论 这一章hoowa将向各位介绍Openwrt下基本路由功能的配置方法 通过本章学习大家将了解如何设置OpenWRT来使路由连接网络 讲解将通过命令行模式 在系列教程中 hoowa不会教大
  • 解决Macbook安装Adobe Illustrator cc2021中文激活版打不开问题,ai支持苹果big sur系统安装教程

    备受期待的Adobe Illustrator 2021 for Mac终于来啦 这是全球最著名的矢量图形软件 这次的Illustrator2021版提升了软件的性能 缩短了Illustrator 2021的启动时间并加快了文件打开速度 而且
  • windows下安装spark及hadoop

    windows下安装spark 1 安装jdk 2 安装scala 3 下载spark spark下载地址 3 1安装spark 将下载的文件解压到一个目录 注意目录不能有空格 比如说不能解压到C Program Files 作者解压到了这
  • 组合数学(持续更新)

    文章目录 排列与组合 四个基本计数原理 集合的排列 集合的组合 多重集合的排列 多重集合的组合 鸽巢原理 排列与组合 四个基本计数原理 1 1 1 加法原理 设集合
  • Glog :安装与卸载

    Glog的安装与卸载分为两种情况 一种是使用apt 一种是使用源代码 apt安装与卸载 安装 sudo apt get install libgoogle glog dev 卸载 sudo apt get remove libgoogle
  • 【JSON】谷歌浏览器JSON可视化插件:JSON-Handle

    摘要 JSON handle是一款对JSON格式的内容进行浏览和编辑 以树形图样式展现JSON文档 并可实时编辑 今天我推荐一款chrome Firfox下处理json的插件JSON handle 这个应该是我用过最好最方便的了 插件功能
  • 2023 年最常见的人工智能面试问题

    人工智能面试问题 自从我们意识到人工智能如何对市场产生积极影响以来 几乎每个大型企业都在寻找人工智能专业人士来帮助他们实现愿景 在这个人工智能面试问题博客中 我收集了面试官最常问的问题 人工智能 AI 面试问答 人工智能面试准备 此 Edu
  • 基于hostpath的k8s pod日志持久化

    基于hostpath的k8s pod日志持久化 前置条件 step1 修改服务的yaml文件 step2 推送日志到minio版保存 step3 优化 附加 简单了解 前置条件 考虑到pod的多副本 但同时需要将日志集中收集起来 所以采用h
  • mysql中explain用法和结果的含义

    sql view plain copy explain select from user sql view plain copy explain extended select from user id SELECT识别符 这是SELECT
  • SSAS处理类型

    Type value Applicable objects ProcessFull Cube database dimension measure group mining model mining structure partition
  • cuda-GPU 加速

    global 主机调用 声明设备函数 在设备上 gpu 执行 device 设备上执行并从设备上调用 host 其他主机调用的主机函数 cudaMalloc 设备上分配内存 cudaMemcpy 别存复制到主机或设备上 cudaFree 释
  • PHP+Redis实现延迟任务 实现自动取消订单,自动完成订单

    简单定时任务解决方案 使用redis的keyspace notifications 键失效后通知事件 需要注意此功能是在redis 2 8版本以后推出的 因此你服务器上的reids最少要是2 8版本以上 A 业务场景 1 当一个业务触发以后
  • 什么是OLAP

    问题导读 1 为什么会出现OLAP应用 2 OLAP的度过了哪些发展历史 3 OLAP的基本内容有哪些 4 OLAP常见操作有哪些 OLAP Online AnalyticalProcessing 是一种数据处理技术 专门设计用于支持复杂的