我建議這應該是常見的情況之一,但可能在搜索時使用錯誤的關鍵字。HBase:原子'檢查行不存在,並創建'操作
我只需要用完全隨機的密鑰創建新的表記錄。假設我獲得了具有良好隨機性的密鑰(幾乎是隨機的)。然而,我不能100%確定沒有行存在。所以我需要做什麼原子:
- 有行鍵檢查沒有行還存在。
- 如果存在行,則拒絕操作。
- 如果沒有退出,則創建行。
最有用的信息的一塊,我對這個話題發現是一篇關於HBase row locks. 我看到HBase的行鎖作爲合適的解決方案,但我想這樣做沒有明確的行鎖定更好的辦法。
- ICV看起來不合適,因爲我確實希望密鑰是隨機的。
- 如果CAS能處理'行不存在'的情況,CAS會很好,但看起來他們不行。
- 顯式行鎖具有類似於區域拆分問題的缺點。
請問有人請加點有用的建議嗎? 最好的API是基於Java的,但實際上它更多是關於概念而不是實現。
這可能是HBase開發或用戶列表的一個很好的問題:http://hbase.apache.org/mail-lists.html – 2013-05-06 14:19:44