clickhouse mysql引擎_玩数据的,有必要搞搞这个大数据框架——ClickHouse
一、 什么是ClickHouse?ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)——开源的!。ClickHouse最初是一款名为Yandex.Metrica(俄罗斯最大的搜索引擎公司)的产品,主要用于WEB流量分析。ClickHouse的全称是Click Stream,Data WareHouse,简称ClickHouse。二、为啥要搞ClickHouse呢?
一、 什么是ClickHouse?
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)——开源的!。ClickHouse最初是一款名为Yandex.Metrica(俄罗斯最大的搜索引擎公司)的产品,主要用于WEB流量分析。ClickHouse的全称是Click Stream,Data WareHouse,简称ClickHouse。
二、为啥要搞ClickHouse呢? 搞数据分析,人家就是快!!!
2.1 ClickHouse 是列式数据库(具体原理请看下图)
列存储索引主要在下面三个特性上提升查询的性能:
- 行存储使用逐行处理模式,每次只处理一行数据;而列存储索引使用批处理模式,每次处理一批数据行。
- 行存储是逐行存储(Row Store),每一个Page存储多行数据,而列存储(Column Store)把数据表中的每一列单独存储在Page集合中,这意味着,Page集合中存储的是某一列的数据,而不是一行中所有列的数据。在读取数据时,行存储把一行的所有列都加载到内存,即使有些列根本不会用到;而列存储只把需要的列加载到内存中,不需要的列不会被加载到内存中。
- 列存储索引自动对数据进行压缩处理,由于同一行的数据具有很高的相似性,压缩率很高,数据读取更快速。
行式数据库
列式数据库
2.2 ClickHouse 是性价比最高的列式数据库
上图列举了包含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)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)