這可能是一個愚蠢的問題 - 但我無法知道如何在Hbase中「索引」行鍵,所以我假設當HBase放入行鍵時,它們具有內置支持來自動索引表在行鍵上 - 換句話說,將行鍵作爲主鍵自動處理?HBase Table的行鍵是否自動索引?
謝謝!
這可能是一個愚蠢的問題 - 但我無法知道如何在Hbase中「索引」行鍵,所以我假設當HBase放入行鍵時,它們具有內置支持來自動索引表在行鍵上 - 換句話說,將行鍵作爲主鍵自動處理?HBase Table的行鍵是否自動索引?
謝謝!
該表不僅僅是按鍵索引,它實際上是按鍵排序的。即Hbase知道在哪個區域找到每個密鑰的服務,並且在該區域服務器內知道該區域和特定的HFile。寫入HFile的數據按鍵排序。
字典排序意味着您也可以通過部分關鍵字檢索數據(例如,掃描「a」)將獲得以「a」開頭的所有內容。這需要很長時間才能將多個維度放入密鑰中,例如你可以把鑰匙設置到國家,然後按城市來獲得每個國家的集合,然後有效地按城市分類。
是的,表格通過行鍵排序。客戶端可以獲得包含行密鑰範圍的區域服務器標識,然後直接連接到包含所需行密鑰的區域服務器。此外,由於鍵是有序的字節數組,因此區域服務器可以執行二進制搜索以從其包含的行列表中檢索行。這使得隨機檢索非常高效,並且使得掃描連續的行非常有效。
這是有道理的。謝謝! –
感謝您的好解釋! –