Kudu是一個分布式的,具有可擴充性的列式儲存管理器,可以對快速變化的資料進行快速分析。
使用情境
典型的應用情境如下:
近Realtime Compute情境
時間序列資料的情境
預測建模
與存量資料共存
通常生產環境中會有大量的存量資料,資料可能儲存在HDFS、RDBMS或Kudu中。如果您只是想訪問和查詢這些存量資料,可以使用Impala訪問和查詢,而無需遷移存量資料至Kudu。
組件
Kudu包含如下兩種類型的組件:
Master Server:負責管理中繼資料,其中包括Tablet Server的伺服器資訊和Tablet的資訊。Master Server通過Raft協議實現高可用性。
Tablet Server:用來儲存Tablets,每個Tablet存在多個副本,副本之間通過Raft協議提供高可用性。
基本概念
名稱 | 描述 |
Master服務 | 主要負責管理整個叢集的中繼資料。中繼資料套件括TabletServer資訊、表的資訊、Tablet的資訊以及其他相關中繼資料相關的資訊。 |
Tserver服務 | 負責為用戶端儲存和提供Tablets,僅Leader Tablet可以寫入請求,其他的Tablet只能執行請求。 |
列式儲存 | Kudu是一種列資料儲存結構,同一列的資料被儲存在底層儲存的相鄰位置。 |
表(Table) | 資料存放區在Kudu的位置。Table有Schema和全域有序的Primary Key屬性,且可以劃分為多個Tablet。 |
分區(Tablet) | 一個表可以被分到若干個分區中,稱為Tablet。 一個Tablet是指表上一段連續的Segment。一個特定的Tablet會被複製到多個Tablet伺服器上,其中一個會被認為是Leader Tablet。每一個備份Tablet都可以支援讀取和寫入請求。 |
Raft | 一致性協議,可以保證Kudu Master服務的高可用以及Tablet多副本之間資料一致性。 |
Catalog Table | Kudu的MetaData的中心位置,儲存Table和Tablet的資訊。 |