Clickhouse初體驗

開篇

最近在實習(xí)做一個機(jī)器學(xué)習(xí)聚類相關(guān)的項目。在進(jìn)行數(shù)據(jù)處理的時候需要使用數(shù)據(jù)庫對數(shù)據(jù)進(jìn)行聚合計算來提取特征姆蘸。由于之前聽說過Clickhouse這個由毛子開發(fā)的開源數(shù)據(jù)庫速度相當(dāng)?shù)每旃倏郏源蛩氵M(jìn)行一次嘗試翅敌。

簡介

ClickHouse是一個開源的用于在線分析處理的列式數(shù)據(jù)庫。

ClickHouse是由俄羅斯的Yandex公司(好像類似俄羅斯的百度的存在)為了Yandex Metrica網(wǎng)絡(luò)分析服務(wù)而開發(fā)醇锚。它支持分析實時更新的數(shù)據(jù)哼御,Clickhouse以高性能著稱。

ClickHouse is an open-source Column-oriented DBMS(columnar database management system) for online analytical processing (OLAP).

ClickHouse was developed by the Russian IT company Yandex for the Yandex.Metrica web analytics service. ClickHouse allows analysis of data that is updated in real time. The system is marketed for high performance.

總結(jié)起來ClickHouse的一個最顯著的特點就是快焊唬,跑分高恋昼,甚至要高于很多商業(yè)的數(shù)據(jù)庫系統(tǒng)。它的排名也上漲的非掣洗伲快液肌,最近數(shù)據(jù)分析相關(guān)比賽中有隊伍使用ClickHouse奪得冠軍。所以這個數(shù)據(jù)庫還是比較值得我們嘗試嘗試鸥滨。

不過ClickHouse也有一些缺點嗦哆,它大概是2016年6月份左右開源,是一個比較新的產(chǎn)品婿滓。社區(qū)俄語+英語為主老速,因為是俄羅斯的產(chǎn)品,俄語的內(nèi)容不少凸主,需要適當(dāng)使用谷歌翻譯來獲取我們需要的信息橘券。另一方面,Clickhouse目前只支持Linux卿吐,想要在Windows或者是Mac上面運(yùn)行要用到Docker旁舰。這一方面本人就不太了解。

在實習(xí)的項目中嗡官,我使用的本地Win10操作系統(tǒng) + Linux Ubuntu16.04.3 LTS(GNU/Linux 4.13.0-39-generic x86_64)服務(wù)器箭窜,使用Putty進(jìn)行SSH連接訪問服務(wù)器。

安裝與配置

關(guān)于Clickhouse的安裝與配置我們在官網(wǎng)衍腥,谷歌或者百度上面都可以找到不少教程磺樱,這里就不再贅述。下面放官方鏈接提供參考婆咸。

ClickHouse Quick Start

安裝指南

在完成安裝之后只需要在Terminal中鍵入命令:


clickhouse-client

或者


clickhouse-client -m (多行模式)

關(guān)于服務(wù)器的配置同樣可以參考官方教程

服務(wù)器配置

服務(wù)器配置

看不太懂英文的話請善用谷歌/百度/有道翻譯竹捉。

本人倒是直接使用了默認(rèn)的配置基本也能在本地完美運(yùn)行。如果想要設(shè)置集群或者是遠(yuǎn)程訪問的話就需要修改一些配置擅耽,這些我下面會提到。

使用方法

Clickhouse的語法基本和SQL類似物遇,不過它自己又增加了一些新的特性乖仇。比如生成表的時候要定義使用的引擎憾儒,有MergeTree, Merge乃沙, Log之類的不同的表引擎起趾,它們決定了數(shù)據(jù)的存儲方式,以及索引之類的內(nèi)容警儒,主要目的是能夠支持最快的查詢训裆。

Clichouse表引擎(官方)

Clickhouse表引擎(中文)

Clickhouse比較不方便的一點是不支持Update,delete操作蜀铲,畢竟一切為了速度边琉。插入和查詢的效率都相當(dāng)之高,還能夠支持直接導(dǎo)入導(dǎo)出CSV文件记劝。


cat path_to_your_csv/XXX.csv | clickhouse-client  --query="Insert into XXX FORMAT CSV";


clickhouse-client  --query="select * from XXXX"  > path_to_output/XXX.csv

默認(rèn)的數(shù)據(jù)庫是Default变姨,密碼是空。如果需要自己生成新的數(shù)據(jù)庫用戶和密碼厌丑,可以直接在users.xml進(jìn)行添加修改定欧。

其余特性也都可以在官網(wǎng)教程中找到。

圖形化界面

Clickhouse官方暫時沒有圖形化界面怒竿,這樣使得操作相當(dāng)?shù)貌环奖憧仇绻褂肧SH + Terminal連接Linux服務(wù)器進(jìn)行操作,SQL指令和返回的表結(jié)果(行數(shù)較多)都無法在Terminal上完美顯示耕驰。這里官網(wǎng)也提到了幾個第三方的圖形化界面爷辱。我嘗試了其中的Tabix,效果還算不錯耍属。

Tabix是一個三方的開源Clickhouse圖形化界面托嚣。完全免費(fèi)而且不需要安裝,可以直接從瀏覽器打開厚骗。

Tabix官網(wǎng)

Tabix UI

只需要連接clickhouse服務(wù)器就能直接在瀏覽器上操作Clickhouse示启,非常方便。

考慮一般情況下Clickhouse服務(wù)器安裝在Linux服務(wù)器领舰。這里介紹如何遠(yuǎn)程連接Clickhouse夫嗓。

有一篇俄文的博客簡潔明了地介紹了Tabix連接遠(yuǎn)程Clickhouse服務(wù)器的方法。

Tabix- Clickhouse的界面

首先我們需要對服務(wù)器進(jìn)行配置冲秽,以便它接受外部連接舍咖。

1. 關(guān)閉Clickhouse server的服務(wù)


sudo service clickhouse-server stop

2. 使用文本編輯器打開配置文件 /etc/clickhouse-server/config.xml(這里使用vi)


sudo vi /etc/clickhouse-server/config.xml

3. 只留下listen_port標(biāo)簽中的


<listen_host>::</listen_host>

監(jiān)聽所有窗口

4. 保存并退出

5. Linux服務(wù)器開放端口8123

Clickhouse服務(wù)器默認(rèn)運(yùn)行在端口8123,我們需要在防火墻中允許開放端口8123


sudo ufw allow 8123

6.重啟Clickhouse server服務(wù)

sudo service clickhouse-server start

最后轉(zhuǎn)到Tabix UI界面锉桑, 輸入名字排霉, 主機(jī)端口號還有登錄名密碼(如果是Default的話密碼基本為空,不用填寫)民轴。

Tabix登錄

這樣我們就可以直接使用圖形化界面寫Clickhouse命令了攻柠,無論是建表球订,插入還是查詢都能做到。查詢返回的結(jié)果還能夠以圖表的形式顯示瑰钮,比終端顯示更加直觀冒滩。

查詢結(jié)果

結(jié)束

作為一個開源的數(shù)據(jù)庫,Clickhouse確實速度相當(dāng)快浪谴,處理百萬級千萬級甚至億級的數(shù)據(jù)運(yùn)行時間都是以秒計時开睡。開源免費(fèi)的優(yōu)勢也使得它非常適合不算過于復(fù)雜的項目。當(dāng)然Clickhouse也有不少缺點苟耻,畢竟它還是一個新興的數(shù)據(jù)庫篇恒,整個社區(qū)還在蓬勃發(fā)展中。它當(dāng)前只支持主流的Linux梁呈,也許未來能兼容更多的操作系統(tǒng)婚度。如果你喜歡嘗試新的事物,不妨安裝一個來玩一玩官卡。

參考資料

  1. Clickhouse官方文檔

  2. Clickhouse官方教程

  3. Clickhouse專業(yè)中文社區(qū)

  4. Clickhouse官方Github

  5. Tabix官方網(wǎng)站Tabix官方Github

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蝗茁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子寻咒,更是在濱河造成了極大的恐慌哮翘,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件毛秘,死亡現(xiàn)場離奇詭異饭寺,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)叫挟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進(jìn)店門艰匙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人抹恳,你說我怎么就攤上這事员凝。” “怎么了奋献?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵健霹,是天一觀的道長。 經(jīng)常有香客問我瓶蚂,道長糖埋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任窃这,我火速辦了婚禮瞳别,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己祟敛,他們只是感情好倍奢,可當(dāng)我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著垒棋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪痪宰。 梳的紋絲不亂的頭發(fā)上叼架,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天,我揣著相機(jī)與錄音衣撬,去河邊找鬼乖订。 笑死,一個胖子當(dāng)著我的面吹牛具练,可吹牛的內(nèi)容都是我干的乍构。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼扛点,長吁一口氣:“原來是場噩夢啊……” “哼哥遮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起陵究,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤眠饮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后铜邮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仪召,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年松蒜,在試婚紗的時候發(fā)現(xiàn)自己被綠了扔茅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡秸苗,死狀恐怖召娜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情难述,我是刑警寧澤萤晴,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站胁后,受9級特大地震影響店读,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜攀芯,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一屯断、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦殖演、人聲如沸氧秘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丸相。三九已至,卻和暖如春彼棍,著一層夾襖步出監(jiān)牢的瞬間灭忠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工座硕, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留弛作,地道東北人。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓华匾,卻偏偏與公主長得像映琳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蜘拉,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,302評論 25 707
  • 【明線暗戰(zhàn)交織】 明線是沙也加的人生經(jīng)歷萨西,暗線是我的人生。沙也加因為在兄長殺死父親的火災(zāi)后失憶旭旭,從而被養(yǎng)父母隱瞞一...
    CASSIE_CC閱讀 329評論 0 0
  • 穿插在縱橫交錯的馬路上 沒有了方向 行走在下班流中的一剎那 我似一聊灰塵 漂浮在人世間 你看啊穿肄,那是驚鴻一瞥 還是...
    陳明青年閱讀 1,098評論 2 3
  • 循環(huán)過一百多次的一首歌 受LOFTER 糖老師影響 借鑒了一張封面 你們想知道怎么做的嘛?
    荒島路影像閱讀 315評論 0 0
  • 走過很多路, 見過很多人仲闽, 看過很多電影脑溢, 慢慢懂了人生。 曾經(jīng)赖欣,很多臺詞看不懂屑彻, 如今,看懂已是傷心人顶吮。 《阿甘...
    天天天藍(lán)2閱讀 267評論 0 0