Druid的數據模型

Datasources:數據源

druid的數據存儲在數據源裏面,它有點類似於傳統關係型數據庫的表,druid使用了獨特的數據建模系統,它與關係模型和時序模型都有點相似性。

Primary timestamp:主時間戳

druid的模式要求必須存在一個主時間戳,主時間戳被用來分區和排序我們的數據,druid查詢能夠快速的定位和返回與主時間戳列的時間範圍相對應的數據。druid還可以將主時間戳列用於基於時間的數據管理操作,比如刪除時間數據塊,重寫時間數據塊和基於時間的持久規則。

主時間戳根據時間戳規範解析。另外顆粒度規範控制其他重要的基於主時間戳的操作。不管主時間戳是從哪個字段裏面讀取的,它在我們的druid 數據源裏面都是以 名字爲"__time"的列來存儲

如果我們有超過一列的時間戳,可以用第二時間戳來存儲。

Dimensions:維度

維度是按原樣存儲的列並可以用作任何目的。在查詢的時候我們可以使用特定的方式對維度進行分組、過濾和進行聚合。如果我們禁止了彙總操作,那麼維度將被簡單的看做是要存儲的一組列,其行爲與不支持彙總功能的傳統數據庫完全一樣。

維度通過維度規則進行配置

Metrics:指標

指標是以聚合形式存儲的列,當啓用了彙總功能的時候就能體現它們的價值。我們需要給每個指標指定一個聚合函數,以便於druid在攝入每一行數據的時候使用。這有兩個好處:

1、如果匯聚啓用,即使在需要保留概要信息的情況下,也能將多行合併成一行。在彙總指導手冊裏面,它能將網絡流量數據根據元組(分鐘,源IP,目的IP)彙總成一行,同時保留總數據包和字節總數的聚合信息

2、有些聚合類型,特別是近似計算,如果它們在插入的時候只進行了部分計算,即使沒有開啓彙總數據的情況下,也可以在查詢的時候快速的被計算,

指標通過指標規則進行配置

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章