clickhouse mysql引擎_玩数据的,有必要搞搞这个大数据框架——ClickHouse

一、 什么是ClickHouse?

ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)——开源的!。ClickHouse最初是一款名为Yandex.Metrica(俄罗斯最大的搜索引擎公司)的产品,主要用于WEB流量分析。ClickHouse的全称是Click Stream,Data WareHouse,简称ClickHouse。

ae8815adfaef9fc7f15ae9da77d4e52e.png

二、为啥要搞ClickHouse呢? 搞数据分析,人家就是快!!!

2.1 ClickHouse 是列式数据库(具体原理请看下图)

列存储索引主要在下面三个特性上提升查询的性能:

  • 行存储使用逐行处理模式,每次只处理一行数据;而列存储索引使用批处理模式,每次处理一批数据行。
  • 行存储是逐行存储(Row Store),每一个Page存储多行数据,而列存储(Column Store)把数据表中的每一列单独存储在Page集合中,这意味着,Page集合中存储的是某一列的数据,而不是一行中所有列的数据。在读取数据时,行存储把一行的所有列都加载到内存,即使有些列根本不会用到;而列存储只把需要的列加载到内存中,不需要的列不会被加载到内存中。
  • 列存储索引自动对数据进行压缩处理,由于同一行的数据具有很高的相似性,压缩率很高,数据读取更快速。
02b11bc3f57229f562ae0e5ba723fd8b.gif

行式数据库

ed204837bc0b459dec8302a74335d1ab.gif

列式数据库

2.2 ClickHouse 是性价比最高的列式数据库

2e4beb6dd54cb0b35e885c887e27c703.png

上图列举了包含count、sum、group by、order by等情况的查询对比,同等条件下,ClickHouse的查询性能异常强悍:

是MySQL的839倍

是Greenplum的24倍

是Vertica的5倍

三、ClickHouse的基本尝试——Docker 安装 + Dbeaver客户端使用

3.1 ClickHouse 的Docker 安装

首先,创建Docker挂载目录

mkdir /data/clickhouse

然后,直接在命令行执行(Docker 的安装,请执行百度~):

docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 -p 9000:9000 -p 8123:8123 --volume=/data/clickhouse:/var/lib/clickhouse yandex/clickhouse-server

备注:/data/clickhouse挂载/var/lib/clickhouse

3.2 Clickhouse Dbweaver客户端的使用

直接到官网下载:https://dbeaver.io/download/

3.3 Clickhouse Python 程序的控制

首先,安装python对应的包

pip3 install --timeout 1000 clickhouse_driver

然后,通过Python实现增加,删除,修改,以及查询的功能

from clickhouse_driver import Client

client = Client('localhost')

res = client.execute('SHOW DATABASES')

print(res)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值