clickhouse mysql引擎_玩数据的,有必要搞搞这个大数据框架——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)
總結
以上是生活随笔為你收集整理的clickhouse mysql引擎_玩数据的,有必要搞搞这个大数据框架——ClickHouse的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea调试怎么跳出循环_使用IDEA的
- 下一篇: mysql自动转库_JAVA自动操作0r