clickhouse原理解析与应用实践

clickhouse 的前世今生

2021-05-08  本文已影响0人  ZYvette

背景

hadoop局限:a.臃肿复杂 b.海量数据和高时效性方面力不从心

clickhouse的前世今生

1.1 传统BI系统之殇

https://blog.csdn.net/yxf19034516/article/details/107245337

1. BI、数据仓库、OLAP关系

OLTP: 联机事务处理,诸如流程审批、数据录入和填报这类工作等等,事务处理。
OLAP:联机分析,分析类视角,例如分析报表、分析决策等

数据仓库:为了解决数据孤岛的问题。即通过引入一个专门用于分析类场景的数据库,将分散的数据统一汇聚到一处。

BI(商业智能)系统:一类统一面向数据仓库,专注于提供数据分析、决策类功能的系统与解决方案应运而生。
指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。

2. 传统BI特点:

a. 传统BI系统对企业的信息化水平要求较高
b. 狭小的受众制约了传统BI系统发展的生命力
c.冗长的研发过程滞后了需求的响应时效

1.2 现代BI系统的新思潮

现代BI系统的典型应用场景是多维分析

1.3 OLAP常见架构分类

OLAP名为联机分析,又可以称为多维分析,它指的是通过多种不同的维度审视数据,进行深层次分析。维度可以看作观察数据的一种视角。

那么多维分析通常都包含哪些基本操作呢?

对于一张销售明细表,数据立方体可以进行如下操作。
❑ 下钻:从高层次向低层次明细数据穿透。例如从“省”下钻到“市”,从“湖北省”穿透到“武汉”和“宜昌”。
❑ 上卷:和下钻相反,从低层次向高层次汇聚。例如从“市”汇聚成“省”,将“武汉”“宜昌”汇聚成“湖北”。
❑ 切片:观察立方体的一层,将一个或多个维度设为单个固定值,然后观察剩余的维度,例如将商品维度固定为“足球”。
❑ 切块:与切片类似,只是将单个固定值变成多个值。例如将商品维度固定成“足球”“篮球”和“乒乓球”。
❑ 旋转:旋转立方体的一面,如果要将数据映射到一张二维表,那么就要进行旋转,这就等同于行列置换。

为了实现上述这些操作,将常见的OLAP架构大致分成三类。

A. ROLAP(Relational OLAP,关系型OLAP)

它直接使用关系模型构建,数据模型常使用星型模型或者雪花模型

B. MOLAP(Multidimensional OLAP,多维型OLAP)

它的出现是为了缓解ROLAP性能问题。
MOLAP使用多维数组的形式保存数据,其核心思想是借助预先聚合结果,使用空间换取时间的形式最终提升查询性能。也就是说,用更多的存储空间换得查询时间的减少。其具体的实现方式是依托立方体模型的概念。

C. HOLAP(Hybrid OLAP,混合架构的OLAP)

这种思路可以理解成ROLAP和MOLAP两者的集成。

学习:
https://tech.meituan.com/2020/04/09/doris-in-meituan-waimai.html

1.4 OLAP实现技术的演进

A. 传统关系型数据库阶段

OLAP主要基于以Oracle、MySQL为代表的一众关系型数据实现。
ROLAP: 直接的数据库查询
MOLAP:借助物化视图的形式实现数据立方体

B. 大数据技术阶段

总结:如果单纯从模型角度考虑,很明显ROLAP架构更胜一筹。是否存在这样一种技术,它既使用ROLAP模型,同时又拥有比肩MOLAP的性能呢?

ClickHouse

其具有ROLAP、在线实时查询、完整的DBMS、列式存储、不需要任何数据预处理、支持批量更新、拥有非常完善的SQL支持和函数、支持高可用、不依赖Hadoop复杂生态、开箱即用等许多特点

上一篇 下一篇

猜你喜欢

热点阅读