kudu儲存引擎

2021-09-02 18:25:57 字數 1270 閱讀 2495

kudu最初由cloudera開發,但現在已經開始作為apache的專案孵化。

定位是olap資料庫,說白了就是可以隨機讀但主要是針對順序讀做優化。所以在小公尺也是計算組搞而非儲存組。資料的模型個人覺得很像cassandra的偽sql——結構化的資料、sql類似的語法但本質上還是nosql,可以設定是hash還是range或者兩者結合來做partition分配到若干個tablet,每個tablet用raft協議寫在多個節點上。之前掃了眼**似乎是沒寫如何做tablet的split/merge,也許現在還不支援也許我看漏了。

從資料庫的角度講,比較重要的兩個點是c++和raft。

c++的效能比較有保障,還沒有gc的停頓導致的.99響應時間不可控等問題,raft的心跳也因為沒有gc可以設的敏感一些,可用性更好,而這些都是hbase的痛點。當然這是題外話,畢竟kudu不是用來代替hbase的。

用raft協議搞replication意味著不需要比較蛋疼的hdfs了,表面上似乎還在說kudu屬於「hadoop生態系統」,但我覺得他們的心思肯定不止於此。而且raft的一致性也比較自由,追求效能可以最終一致性地讀。

此外可以看下apache kudu as a more flexible and reliable kafka-style queue

,這篇文章說,因為他順序讀吞吐比較好,並且raft協議自身提供了遞增id,所以可以用來代替kafka搞訊息佇列,簡單測試效能差不多( 「in the same realm」),還沒gc。而且因為是資料庫,可以隨機寫,相當於可以修改佇列,靈活很多。

沒有資料分析流式計算的經驗,根據對kv儲存系統的理解,簡單答一發,輕拍。。 資料儲存的選擇上,hbase和hadoop在吞吐率、延遲上各有側重,如果做資料分析,要從hbase匯出到hadoop平台再用hive查詢,這就要求系統要混布hbase和hadoop。 kadu的目標就是要兼…

顯示全部

沒有資料分析流式計算的經驗,根據對kv儲存系統的理解,簡單答一發,輕拍。。

資料儲存的選擇上,hbase和hadoop在吞吐率、延遲上各有側重,如果做資料分析,要從hbase匯出到hadoop平台再用hive查詢,這就要求系統要混布hbase和hadoop。

kadu的目標就是要兼顧前兩個儲存系統,實現對外資料的儲存和後台計算的本地化,減少資料傳輸成本已經部署運維成本。

架構方面,還是延用bigtable的基本架構,元資料和資料分開儲存的,但做了一些比較有挑戰的優化操作,提公升查詢和插入的效能

另外的亮點是,多副本間使用了raft保證資料的高可靠性。

效能方面,目前beta版本要略差與hbase,這也是意料之中的事情。。。

Mysql 儲存引擎之 MyISAM儲存引擎

myisam是預設儲存引擎。每個myisam在磁碟上儲存成三個檔案。frm檔案儲存表定義 myd檔案儲存資料 myi檔案儲存索引。要明確表示你想要用乙個myisam 請用engine表選項指出來 create table test myisam id int engine myisam 2 如下是m...

mysql儲存引擎 mysql儲存引擎簡介

精品推薦 什麼是儲存引擎 mysql儲存引擎是資料庫如何儲存資料 怎樣建立索引以及如何查詢更新資料等技術的實現方法,資料通過使用不同的技術儲存在檔案中,使用不同的儲存機制 索引方式來提供不同的功能。在mysql這種關係型資料中心來說,資料是以表的方式來儲存的,因此,簡單點來說,儲存引擎就是儲存和操作...

mysql個儲存引擎 MySQL儲存引擎

mysql資料庫的體系架構如下圖所示 從上圖中可以看出,mysql主要分為以下幾個元件 連線池元件 管理服務和工具元件 sql介面元件 分析器元件 優化器元件 緩衝元件 外掛程式式儲存引擎 物理檔案 儲存引擎 其實就是指定表如何儲存資料,如何為儲存的資料建立索引以及如何更新 查詢資料等技術實現的方法...