一个比MySQL快多倍的数

北京白癜风的价格是多少 https://jbk.39.net/yiyuanfengcai/zn_bjzkbdfyy/

大家好呀!这里是爱学习的Guide!今天给大家科普一个速度快到飞起的数据库——ClickHouse。

你可能没有用过ClickHouse,但是一定听过它的名字。

为了拓展一下自己的知识面,前段时间,我找到了《ClickHouse原理解析和应用实践》这本书来看。写的真心不错!

这篇文章我简单从一个ClickHouse初学者的角度,给小伙伴们科普一下OLAP、OLTP以及ClickHouse的前世今生和应用场景。

个人能力有限。如果文章有任何需要补充/完善/修改的地方,欢迎在评论区指出,共同进步!

OLAP介绍

为了将企业的数据有效整合,快速制作出报表以供数据分析/决策使用,诞生了一个叫做OLAP(OnlineAnalyticalProcessing,联机分析处理)系统的概念,也叫做现代BI(BusinessIntelligence,商业智能)系统。

与OLAP相对应的还有一个叫做OLTP(OnlineTransactionProcessing,联机事务处理)的概念。这个我们平时日常接触的就比较多了,像企业的ERP,CRM,OA等系统都属于OLTP系统。

OLTPOLAP

简单总结一下:

OLTP:可以保证操作的事务性,通常需要用到传统的关系型数据库比如MySQL,主要操作是增删改查(比如添加用户、用户之间转账)。OLTP通常处理的数据量不会很大,因为数据量大了之后OLTP数据库的响应一般会非常慢。OLAP:对数据做分析然后得出一些结果比如数据报表,主要操作是查询(比如生成网站的流量分析报告)。OLAP处理的数据量往往很大,并且OLAP处理的数据对象是数据仓库(datawarehouse)中的数据。数据仓库

OLAP系统一般以数据仓库作为基础。数据仓库是为了将分散的数据汇聚到一处,将它们统一存储起来。

数据仓库的构建通常还会涉及到ETL的过程。ETL即数据抽取(Extract)、转换(Transform)、装载(Load)。

下面这张图片来自:WhatisaDataWarehouse?

IBM[1]

大部分用于OLTP的数据库都可以执行OLAP相关的操作,只不过,效率通常都比较低,毕竟,这不是它们所擅长的地方。

OLAP分类

主流的OLAP可以分为3类ROLAP、MOLAP、HOLAP。

ROLAP(RelationalOLAP,关系型OLAP)

对数据不进行预处理,实时聚合计算,灵活性更好!适用于对查询模式不固定、查询灵活性要求高的场景。常见的ROLAP有Presto,Impala,Clickhouse等等。

MOLAP(Multi-dimensionalOLAP,多维OLAP)

会对数据预处理,这提高了查询性能,同时也降低了灵活性。适用于查询场景相对固定并且对查询性能要求非常高的场景。常见的MOLAP有Druid,Kylin,Doris等等。

HOLAP(HybridOLAP,混合型OLAP)

混合类型OLAP。通常情况下,查询聚合性数据的时候,使用MOLAP技术;当查询明细数据时,使用ROLAP技术。在给定使用场景的前提下,以达到查询性能的最优化。

相关阅读推荐:《什么是OLAP?主流八大开源OLAP技术架构对比》[2]

ClickHouse简介

ClickHouse是Yandex(俄罗斯的一家做搜索引擎的公司)公司的一个产品,诞生于自家的在线流量分析产品—Yandex.Metrica。

根据ClickHouse官方文档[3]介绍:ClickHouse是一个用于联机分析(OLAP)的MPP架构的列式数据库管理系统(DBMS)。

目前的话,国内有很多公司都在使用ClickHouse,比如腾讯、字节、金数据、B站。

下面是腾讯音乐对ClickHouse实践:

Github


转载请注明:http://www.aierlanlan.com/cyrz/354.html

  • 上一篇文章:
  •   
  • 下一篇文章: