kudu是cloudera開源的新型列式儲存系統,專門為了對快速變化的資料進行快速的分析。
在國內,小公尺和神策都已經採用了kudu。
我們使用了kudu 1.3.0版本儲存使用者行為資料,現在已經使用了一段時間。
首先它的插入效能還是不錯的,設定足夠的記憶體以後,插入速度輕輕鬆鬆就達到了百萬條每秒。
查詢速度還算中規中矩,用spark sql或者impala在上面都有不錯的查詢速度,至少比hbase快多了,當然前提是要合理設定range分割槽,讓每次的查詢進行提前剪枝。
當然在使用過程中遇到了幾個小坑,希望大家能夠避免
kudu有個設定項authn_token_validity_seconds,預設值是7天,也就是說它的client不能保持長連線......我第一次看見資料庫客戶端不能保持長連線的.
scanner得到的rowresult,隨著scanner繼續呼叫next方法,rowresult裡面的值是會發生變化的。但是它的rowresult不是每次生成新的,而是每次返回同乙個。所以如果把每次的rowresult放到乙個集合中,最後發現資料都一樣。這個思路同事普遍認為和正常程式設計師思路不一樣。
它的客戶端快取了過多的資料。在乙個client中open乙個table以後,如果資料庫的schema在外界發生了變化,從這個client上進行的資料操作,會由於schema不正確而無法操作.比如另乙個client新增了乙個列,前乙個client插入有新新增的列時,會報錯說新新增的列找不到。這樣如果多個client併發操作乙個table就會有schema同步的問題。
安裝時會要求cpu支援sse4.2指令集。這個指令集倒不是特別新,但是很多時候我們的伺服器是虛擬機器,有的虛擬機器cpu沒有這個指令集,因此無法使用kudu
如果頻繁刪除建立table,會造成master和tablet server元資料不一致造成問題。比如刪除乙個table之後,master認為table已經刪了,但是tablet server並不會馬上刪除該錶的所有tablet,而是在一段時間內刪除,如果所有tablet完全刪除之前建立乙個同名的table,master和tablet server就會很長時間內不能正常工作。
建立完集群之後,第一次啟動master的時候,一定要同時啟動所有的master。
python分布式儲存系統 分布式系統
danger 什麼是分布式系統 分布式系統是由一組通過網路進行通訊 為了完成共同的任務而協調工作的計算機節點組成的系統。分布式系統的出現是為了用廉價的 普通的機器完成單個計算機無法完成的計算 儲存任務。其目的是利用更多的機器,處理更多的資料。首先需要明確的是,只有當單個節點的處理能力無法滿足日益增長...
分布式儲存系統概述
雲計算 大資料,這些熱點詞彙,後台的基礎設施離開不了分布式儲存系統,它的兩個特點,一是規模大,二是成本低。其實分布式系統的設計是根據需求來變化的,那麼我們接下來就看,我們需要儲存哪些資料,以及,分布式儲存系統有哪些分類。1.分布式儲存的資料 大致可以分為三類 結構化資料 這個最容易理解,關聯式資料庫...
分布式儲存系統 Ceph
你了解ceph嗎?ceph是一種分布式儲存系統,它可以將多台伺服器組成乙個超大集群,把這些機器中的磁碟資源整合到一塊兒,形成乙個大的資源池 pb級別 然後按需分配給應用使用。那麼你知道ceph的架構嗎?ceph的底層實現是rados,rados是由c 寫的,但是它向外界暴露了呼叫介面,即librad...