遷移你的業(yè)務到ClickHouse

POC:POC測試屋谭,即Proof of Concept,是業(yè)界流行的針對客戶具體應用的驗證性測試,根據(jù)用戶對采用系統(tǒng)提出的性能要求和擴展需求的指標,在選用服務器上進行真實數(shù)據(jù)的運行课竣,對承載用戶數(shù)據(jù)量和運行時間進行實際測算,并根據(jù)用戶未來業(yè)務擴展的需求加大數(shù)據(jù)量以驗證系統(tǒng)和平臺的承載能力和性能變化置媳。

Vertica:Vertica是一款基于列存儲的MPP (massively parallel processing)架構的數(shù)據(jù)庫于樟。它可以支持存放多至PB(Petabyte)級別的結構化數(shù)據(jù)。Vertica是由關系數(shù)據(jù)庫大師Michael Stonebraker(2014 年圖靈獎獲得者)所創(chuàng)建拇囊,于2011年被惠普收購并成為其核心大數(shù)據(jù)平臺軟件迂曲。

Altinity:Altinity是一家ClickHouse的服務供應商。


ClickHouse是一個非常好的分析數(shù)據(jù)庫選擇寥袭,不僅適用于初創(chuàng)公司路捧,也適用于那些已經(jīng)將大量資源投入分析解決方案,但對結果并不完全滿意的公司传黄。

在本文中杰扫,我們將討論企業(yè)如何以及何時考慮ClickHouse遷移項目,以及他們可能會面臨的挑戰(zhàn)尝江。我們沒有透露公司名字涉波,但每個例子都有一個真實世界的原型英上。

1.什么時候遷移炭序?

遷移總是一個痛苦的過程。如果你搬到另外一個房子或者另一個數(shù)據(jù)庫苍日,這并不重要惭聂,但是總是要付出很多努力,這期間會經(jīng)歷困擾相恃,挫折等等辜纲。但是最后的結果是值得挑戰(zhàn)的,這是激勵你繼續(xù)前進的動力柠掂。那么考慮遷移到ClickHouse的動機是什么凯砍?

1.1 性能問題

其中一個主要原因是數(shù)據(jù)量大增,性能下降喻杈。使用流行的開源MySQL或PostreSQL數(shù)據(jù)庫來實現(xiàn)一個demo甚至是生產(chǎn)系統(tǒng)是非常容易的扫俺。數(shù)據(jù)大小比較小苍苞,索引大小適合內(nèi)存,數(shù)據(jù)緩存命中率足夠高狼纬,在這樣的情形下它能夠正常提供服務羹呵。不幸的是,這樣一個理想情形最終會走到盡頭疗琉,查詢會變得越來越慢冈欢。你可以通過增加更多的內(nèi)存,訂購更快的磁盤等等來解決問題盈简,(這只是在縱向擴展)凑耻,但這只是拖延解決本質(zhì)問題:你該如何橫向擴展你的數(shù)據(jù)庫系統(tǒng)?

ClickHouse在這里可以幫到很多柠贤。即使在同一臺物理服務器上運行拳话,與OLTP數(shù)據(jù)庫相比,它通持治可以比OLTP負載快100-500倍的查詢性能弃衍。如果還不夠,ClickHouse集群可以很容易地堆出來坚俗,以解決任何規(guī)模的問題镜盯。

許多在性能問題上苦苦掙扎的公司,嘗試了不同的開源替代方案猖败,最終他們發(fā)現(xiàn)ClickHouse是他們的銀彈速缆。

1.2 橫向擴展成本

在ClickHouse上市之前,很多公司已經(jīng)使用商用DBMS部署了分析解決方案恩闻∫彰樱惠普Vertica可能是最好的商用分析解決方案。Vertica價格是昂貴滴幢尚,但在不太大的TB級業(yè)務上破停,對于小公司來說價格也還負擔的起。當業(yè)務要求將數(shù)據(jù)擴展10或100倍時尉剩,畫面就不那么好看了(注意真慢,數(shù)據(jù)量的成倍增加并不總是意味著公司利潤的成倍增加)。商業(yè)數(shù)據(jù)庫管理系統(tǒng)擴大數(shù)據(jù)收費會大大增加(雖然會提供一定量的折扣)理茎。這種場景下有些公司可能會考慮更換數(shù)據(jù)平臺黑界」苕遥看這里,ClickHouse通過一系列專業(yè)知識來使硬件最大化發(fā)揮它們的功力朗鸠。

1.3 持有成本

云數(shù)據(jù)庫為分布式數(shù)據(jù)庫部署提供了最快捷的解決方案蚯撩。Google Big Query,Amazon RedShift或SnowflakeDB是非常好的產(chǎn)品烛占。他們允許非城蟛蓿快速地安裝并使系統(tǒng)能夠正常運行。但是扰楼,一段時間以來呀癣,一些公司想知道快速啟動的價格是否是長期合理的。我們已經(jīng)在亞馬遜和專用服務器上運行了一些ClickHouse的基準測試弦赖,并將其與RedShift進行了比較项栏。例如,【通過這篇文章分析】蹬竖,我們得出結論:在Amazon中運行ClickHouse的成本比類似執(zhí)行的RedShift實例要低幾倍沼沈。【這篇文章有介紹如何評估成本降低】币厕,與Google Big Query和Athena相比ClickHouse明顯勝出列另,并且會顯著降低成本。

這里的另一個考慮是ClickHouse部署不是供應商鎖定的旦装。公司可以將ClickHouse解決方案部署到Amazon页衙,專用服務器,私有云或KodiakData等專用云阴绢,從而以最靈活的方式優(yōu)化其部署和成本結構店乐。

2.如何遷移?

ClickHouse是一個不尋常的數(shù)據(jù)庫呻袭,有很多很酷的功能和設計決策眨八,以獲得最佳性能。然而左电,學習如何最有效地使用ClickHouse需要一段時間廉侧。ClickHouse的限制顯示了硬幣的另一面。ClickHouse缺少一些比較成熟的數(shù)據(jù)庫提供的功能篓足。這使遷移項目變得復雜段誊。

CH的一些限制:

不支持真正的刪除/更新支持 不支持事務(與Spark和大部分大數(shù)據(jù)系統(tǒng)一樣)

不支持二級索引(和Spark和大部分大數(shù)據(jù)系統(tǒng)一樣)

自己的協(xié)議(不支持MySQL協(xié)議)

有限的SQL支持,join實現(xiàn)與眾不同纷纫。如果需要在從MySQL或Spark進行遷移枕扫,則可能必須重新編寫包含聯(lián)接的所有查詢陪腌。

不支持窗口功能

2.1 ClickHouse遷移的主要挑戰(zhàn)

遷移到ClickHouse時辱魁,您可能會遇到以下挑戰(zhàn)烟瞧。

2.1.1 模式確認:

架構是性能的關鍵。因此染簇,需要對ClickHouse最佳實踐有很好的理解参滴,表引擎如何工作,字典是什么等等锻弓。適當?shù)哪J侥芨玫陌l(fā)揮出ClickHouse的能力砾赔。

2.1.2 可靠的數(shù)據(jù)吞吐:

ClickHouse允許在一致性和速度之間進行平衡,這些權衡對于理解和管理很重要青灼,特別是在分布式環(huán)境中暴心。數(shù)據(jù)分配和復制、可擴展和可靠的系統(tǒng)需要恰當?shù)脑O計杂拨。ClickHouse在數(shù)據(jù)分發(fā)和復制方面非常靈活专普,沒有特定的方法。

2.1.3 客戶端界面:

迄今為止弹沽,主要的ClickHouse問題之一是非標準的SQL語法檀夹。它是非常強大的,有很多擴展策橘,但它不是標準的炸渡。這使得有時很難與使用SQL的客戶端工具進行交互。這個問題已經(jīng)被ClickHouse開發(fā)者很好的理解丽已,我們可以期待ClickHouse在將來支持SQL-92或更高版本的標準蚌堵。

2.2 做好準備

任何移植項目都應該從計劃開始。我們提出以下方法來降低風險并確保遷移項目取得成功沛婴。

2.2.1 確認使用情況

確認ClickHouse是否適配業(yè)務是非常重要的辰斋。ClickHouse可能更適合流式或批次入庫的時序數(shù)據(jù)。正如邁克爾·斯通布拉克(Michael Stonebraker)在10年前的游戲改變文章中所寫的:“One size does not fit all” - ClickHouse不應該被用作通用數(shù)據(jù)庫瘸味。

2.2.2 檢查基準

有許多基準測試可用宫仗,您可以根據(jù)您已經(jīng)使用的數(shù)據(jù)庫找到基準。一些基準的鏈接可以【看看這里】旁仿。

2.2.3 運行自己的基準

眼見為實藕夫,使用真實數(shù)據(jù)運行基準并與現(xiàn)有生產(chǎn)系統(tǒng)進行比較總是很有意義。

2.2.4 仔細分析ClickHouse限制枯冈,而非功能

管理人員經(jīng)常只注意功能毅贮,但忽略了局限性。開發(fā)人員往往更加懷疑這玩意是不是真的好用尘奏。ClickHose的特性確實好用滩褥,但更多的時候,它的限制可能會成為絆腳石炫加。

你需要評估ClickHouse的各種限制瑰煎,例如ClickHouse的分區(qū)限制铺然,不支持更新和刪除,不支持事務等等的缺點酒甸,是否和你的業(yè)務情形匹配魄健。

但是并不要無端的害怕這些缺點,大多數(shù)情況下ClickHouse的限制可以被解決插勤,甚至可以轉化為好處沽瘦。

2.2.5 做一個POC測試

部署并完整驗證一個端到端的產(chǎn)品,并從中學習涉及到的ClickHouse知識农尖、獲得實踐的專業(yè)知識等等析恋。這些經(jīng)驗有助于真正的業(yè)務系統(tǒng)設計,也能夠提前暴露系統(tǒng)實施時可能面臨的大部分問題盛卡。

2.2.6 獲取社區(qū)幫助

ClickHouse是一個開源數(shù)據(jù)庫绿满。所以最好的支持是社區(qū)。Yandex支持的telegram和google group是最好的地方窟扑,讓新手學習更多喇颁,提出問題等等。即使你計劃在某個時候獲得Altinity的專業(yè)支持嚎货,自己也可以盡可能地學習橘霎。

3. 下一步工作

一旦上述所講的先決條件步驟完成,你將獲得適用于你方業(yè)務用例的一些ClickHouse專業(yè)知識殖属,并且有信心評估ClickHouse是否適用于你的業(yè)務姐叁。如何進一步推進取決于你的系統(tǒng)的復雜性。之前的POC可能演變成生產(chǎn)部署洗显,也可能你需要從頭開始鼓搗點兒新玩意兒(因為某個業(yè)務的POC的場景不一定適用所有業(yè)務)外潜。如果一個業(yè)務需要遷移,需要分析生產(chǎn)數(shù)據(jù)的時間要求挠唆,需要設計集成方案等等处窥。正確的QA和測試也需要列入計劃。

對于一些公司來說玄组,只需幾個星期就可以完全切換到ClickHouse滔驾,而龐大的項目可能需要一年的時間。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末俄讹,一起剝皮案震驚了整個濱河市哆致,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌患膛,老刑警劉巖摊阀,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡胞此,警方通過查閱死者的電腦和手機臣咖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來豌鹤,“玉大人亡哄,你說我怎么就攤上這事枝缔〔几恚” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵愿卸,是天一觀的道長灵临。 經(jīng)常有香客問我,道長趴荸,這世上最難降的妖魔是什么儒溉? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮发钝,結果婚禮上顿涣,老公的妹妹穿的比我還像新娘。我一直安慰自己酝豪,他們只是感情好涛碑,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著孵淘,像睡著了一般蒲障。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瘫证,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天揉阎,我揣著相機與錄音,去河邊找鬼背捌。 笑死毙籽,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的毡庆。 我是一名探鬼主播惧财,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼扭仁!你這毒婦竟也來了垮衷?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤乖坠,失蹤者是張志新(化名)和其女友劉穎搀突,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體熊泵,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡仰迁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年甸昏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徐许。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡施蜜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出雌隅,到底是詐尸還是另有隱情翻默,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布恰起,位于F島的核電站修械,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏检盼。R本人自食惡果不足惜肯污,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吨枉。 院中可真熱鬧蹦渣,春花似錦、人聲如沸貌亭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽属提。三九已至权逗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間冤议,已是汗流浹背斟薇。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留恕酸,地道東北人堪滨。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像蕊温,于是被迫代替她去往敵國和親袱箱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

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