簡體   English   中英

HBASE順序行鍵(YYYYMMDDHHMMSS),確定性非隨機鹽

[英]HBASE Sequential row key (YYYYMMDDHHMMSS), Deterministic Non-Random Salt

我的行鍵的初始起始部分看起來像“ YYYYMMDDhhmmss”,其中“ ss”始終為00。例如:20170603162100,它對應於2017年6月6日的16:21(不要問我為什么,但是時間戳必須在密鑰的開始!)

顯然,這是每分鍾(並且顯然每分鍾都是唯一的)數據。

這遭受區域熱點的困擾。 在區域服務器上,行鍵將如下所示:

我的閱讀模式:在唯一的分鍾(而不是一個小時,一天,一個月,一年)中獲取數據

假設我有10個區域服務器。

這是我正在考慮的一種解決方案,它看起來有點像鹽(但是確定性的,不是隨機的):

我看到毫米部分-分鍾,並根據此分配鹽。 00分鍾:行鍵前綴A。01分鍾:行鍵前綴B .. 09分鍾:行鍵前綴J。10分鍾:行鍵前綴A。

這樣,所有“ A”鍵都應分發到第一區域服務器,依此類推。 優點可能是:所有到同一區域服務器的單分鍾請求,這對我來說都是可以承受的。 在第二分鍾,所有請求都發送到其他區域服務器。

另外,檢索時,我不必做並行讀取,因為我實際上知道鹽。

有人可以解釋我在哪里不對嗎?

好吧,您只有27分鍾用英語字母覆蓋,可能我會建議使用兩字母鹽,但仍應正確分配。 (您有多少個節點?)。

或者,您可以嘗試僅刪除行鍵中的秒數並反轉它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM