50+大厂技术专家现场分享,GMTC北京站9折购票倒计时,戳此查看最新日程 了解详情
写点什么

Apache Kylin 权威指南(四):核心概念

  • 2020 年 4 月 16 日
  • 本文字数:2405 字

    阅读完需:约 8 分钟

Apache Kylin权威指南(四):核心概念

编者按:本文节选自华章科技大数据技术丛书 《Apache Kylin 权威指南(第 2 版)》一书中的部分章节。


核心概念

在使用 Apache Kylin 之前,需要先了解一下 Apache Kylin 中的各种概念和术语,为后续章节的学习奠定基础。


数据仓库、OLAP 与 BI

数据仓库(Data Warehouse)是一种信息系统的资料储存理论,此理论强调的是利用某些特殊资料储存方式,让所包含的资料特别有利于分析处理,从而产生有价值的资讯并依此做决策。


利用数据仓库方式存放的资料,具有一旦存入,便不随时间变化而变动的特性,此外,存入的资料必定包含时间属性,通常,一个数据仓库会含有大量的历史性资料,并且它利用特定分析方式,从中发掘出特定的资讯。


OLAP(Online Analytical Process),即联机分析处理,它可以以多维度的方式分析数据,并且能弹性地提供上卷(Roll-up)、下钻(Drill-down)和透视分析(Pivot)等操作,是呈现集成性决策信息的方法,其主要功能在于方便大规模数据分析及统计计算,多用于决策支持系统、商务智能或数据仓库。与之相区别的是联机交易处理(OLTP),联机交易处理侧重于基本的、日常的事务处理,包括数据的增、删、改、查。


  • OLAP 需要以大量历史数据为基础,配合时间点的差异并对多维度及汇整型的信息进行复杂的分析。

  • OLAP 需要用户有主观的信息需求定义,因此系统效率较高。


OLAP 的概念,在实际应用中存在广义和狭义两种不同的理解。广义上的理解与字面意思相同,泛指一切不对数据进行更新的分析处理,但更多的情况下 OLAP 被理解为狭义上的含义,即与多维分析相关,是基于立方体(CUBE)计算而进行的分析。


BI(Business Intelligence),即商务智能,是指用现代数据仓库技术、在线分析技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。


如今,许多企业已经建立了自己的数据仓库,用于存放和管理不断增长的数据,这些数据中蕴含着丰富的商业价值,但只有使用分析工具对其进行大量筛选、计算和展示后,数据中蕴含的规律、价值和潜在信息才能被人们所发现与利用。分析人员结合这些信息进行商业决策和市场活动,从而为用户提供更好的服务,为企业创造更大的价值。


维度建模

维度建模用于决策制定,并侧重于业务如何表示和理解数据。基本的维度模型由维度和度量两类对象组成。维度建模尝试以逻辑、可理解的方式呈现数据,以使得数据的访问更加直观。维度设计的重点是简化数据和加快查询。


维度模型是数据仓库的核心。它经过精心设计和优化,可以为数据分析和商业智能(BI),检索并汇总大量的相关数据。在数据仓库中,数据修改仅定期发生,并且是一次性开销,而读取是经常发生的。对于一个数据检索效率比数据处理效率重要得多的数据结构而言,非标准化的维度模型是一个不错的解决方案。


在数据挖掘中有几种常见的多维数据模型,如星形模型(Star Schema)、雪花模型(Snowflake Schema)、事实星座模型(Fact Constellation)等。


星形模型中有一个事实表,以及零个或多个维度表,事实表与维度表通过主键外键相关联,维度表之间没有关联,就像很多星星围绕在一个恒星周围,故名为星形模型。


如果将星形模型中的某些维度表再做规范,抽取成更细的维度表,让维度表之间也进行关联,那么这种模型称为雪花模型。


事实星座模型是更为复杂的模型,其中包含多个事实表,而维度表是公用的,可以共享。


事实表和维度表

事实表(Fact Table)是指存储事实记录的表,如系统日志、销售记录等,并且是维度模型中的主表,代表着键和度量的集合。事实表的记录会不断地动态增长,所以它的体积通常远大于其他表,通常事实表占据数据仓库中 90%或更多的空间。


维度表(Dimension Table),也称维表或查找表(Lookup Table),是与事实表相对应的一种表。维度表的目的是将业务含义和上下文添加到数据仓库中的事实表和度量中。维度表是事实表的入口点,维度表实现了数据仓库的业务接口。它们基本上是事实表中的键引用的查找表。它保存了维度的属性值,可以与事实表做关联,相当于将事实表上经常出现的属性抽取、规范出来用一张表进行管理,常见的维度表有:日期表(存储日期对应的 周、月、季度等属性)、地点表(包含国家、省/州、城市等属性)等。使用维度表的好处如下:


  • 减小了事实表的大小;

  • 便于维度的管理和维护,增加、删除和修改维度的属性时,不必对事实表的大量记录进行改动;

  • 维度表可以为多个事实表同时使用,减少重复工作。


维度和度量

维度和度量是数据分析中的两个基本概念。


维度是人们观察数据的特定角度,是考虑问题时的一类属性。它通常是数据记录的一个特征,如时间、地点等。同时,维度具有层级概念,可能存在细节程度不同的描述方面,如日期、月份、季度、年等。


在数据仓库中,可以在数学上求和的事实属性称为度量。例如,可以对度量进行总计、平均、以百分比形式使用等。度量是维度模型的核心。通常,在单个查询中检索数千个或数百万个事实行,其中对结果集执行数学方程。


在一个 SQL 查询中,Group By 的属性通常就是维度,而其所计算的值则是度量,如在下面这个查询中,part_dt 和 lstg_site_id 是维度,sum(price)和 count(distinct seller_id)是度量。


select part_dt, lstg_site_id, sum(price) as total_selled, count(distinct seller_id)as sellers from kylin_sales group by part_dt, lstg_site_id
复制代码


Cube、Cuboid 和 Cube Segment

Cube(或称 Data Cube),即数据立方体,是一种常用于数据分析与索引的技术,它可以对原始数据建立多维度索引,大大加快数据的查询效率。


Cuboid 特指 Apache Kylin 中在某一种维度组合下所计算的数据。


Cube Segment 指针对源数据中的某一片段计算出来的 Cube 数据。通常,数据仓库中的数据数量会随时间的增长而增长,而 Cube Segment 也是按时间顺序构建的。


图书简介https://item.jd.com/12566389.html



相关阅读


Apache Kylin权威指南(一):背景历史和使命


Apache Kylin权威指南(二):工作原理


Apache Kylin权威指南(三):技术架构


2020 年 4 月 16 日 10:00803

评论

发布
暂无评论
发现更多内容

排名前 16 的 Java 工具类

Bruce Duan

java工具类

背后技术:双11还能创造什么?

阿里云情报局

人工智能 数据挖掘 大数据 科技

【涂鸦物联网足迹】涂鸦云平台标准指令集说明

IoT云工坊

人工智能 cpu 物联网 智能家居 指令集

anyRTC AI降噪|让声音更清晰

anyRTC开发者

人工智能 AI 音视频 WebRTC RTC

刷Github时发现了一本阿里大神的算法笔记!标星70.5K

Java架构师迁哥

多线程问的太深入不知道怎么回答,从volatile开始给你讲清楚

小Q

Java 学习 面试 volatile 多线程

Spring Boot 监听 Redis Key 失效事件实现定时任务

Bruce Duan

Redis监听 监听过期键

Spring / Spring boot 异步任务编程 WebAsyncTask

Bruce Duan

异步任务编程 WebAsyncTask

React Fiber 是什么?

局外人

react.js 大前端 React

你以为只是简单的排序?(二)

书旅

数据结构与算法 Go 语言

MySQL全面瓦解—子查询和组合查询

比伯

Java 编程 程序员 架构 计算机

完美!阿里P8仅用242页笔记,就由浅入深讲解了SQL概念

Java~~~

Java sql 阿里巴巴 SQL语法 sql查询

成年人的世界都不容易-看看做到年薪50万的程序员,到底有多累?

Java架构师迁哥

遥感影像处理有高招,“专治”各类花式并发的述求!

华为云开发者联盟

容器 k8s 遥感

关于linux操作系统中的buff/cache

程序员架构进阶

Linux cache buffer

Java反射说得透彻一些

秦怀杂货店

Java 反射 java反射

普渡科技荣登甲子光年“2020中国最具商业潜力的20家机器人Cool Vendor”

DT极客

SQL数据库:子查询和关联子查询

正向成长

SQL子查询 SQL关联查询

下笔如有神:这是一个基于营销行业的 AI 技术实践

京东科技开发者

人工智能 自然语言处理 nlp

五面进军饿了么!复盘总结11月上半月大厂面试真题,押题命中率高达95%以上

Java架构追梦

Java 阿里巴巴 架构 面试

亿级大表分库分表实战总结(万字干货,实战复盘)

比伯

Java 编程 程序员 架构 计算机

权威报告发布:京东智联云首次参评即跻身机器学习卓越表现者阵营

京东科技开发者

人工智能 云计算 供应链

快速理解二十三种设计模式(速记)

simon

设计模式 23种设计模式 Java设计模式

python+requests对app和微信小程序进行接口测试

测试人生路

Python 接口测试

拒招中国程序员后,开源平台 GitLab 又开始大规模封杀开发者账户

Java架构师迁哥

从红黑树的本质出发,彻底理解红黑树!

996小迁

Java 架构 面试 程序人生

你还在使用迭代器删除集合数据,out了,Java 中函数removeIf 不香么

Geek_6f0746

Java JAVA集合 Java迭代器

HTTP2服务器推送的第一次尝试

Gopher指北

HTTP2.0 Go 语言

在Android中使用DataBinding(Kotlin)

simon

android Android进阶 JetPack DataBinding 数据绑定

影响王兴的一本书

池建强

读书笔记 无限游戏 王兴

从“小众”到“首选”,推动云原生产业落地华为云作用几何?

华为云开发者联盟

云计算 架构 容器

Apache Kylin权威指南(四):核心概念_架构_Apache Kylin核心团队_InfoQ精选文章