2016-12-27 36 views
0

有沒有任何方法可以自動增加雙數據類型而無需在主鍵上實現分佈式鎖定? 可能以類似的方式計數器的工作原理:cassandra中雙數據類型的原子增量

UPDATE user SET usage = usage + 3.45 WHERE user_id = 3400435592 

回答

2

有在卡桑德拉沒有這樣的事情,但如果你有固定的精度,那麼你可以通過適當的縮放你的數據,如使用普通櫃檯:

UPDATE user SET usage = usage + 345 WHERE user_id = 3400435592 

,你含蓄地用「仙」爲你的基地,或

UPDATE user SET usage = usage + 3450 WHERE user_id = 3400435592 

在您使用「米利斯」作爲你的基地。

但是,請記住,您的增量問題比「雙倍」增量更普遍。如果你可以容忍低於/高於增量,那麼繼續使用Cassandra計數器。如果你正在爲金錢交易建模,那麼我能想到的唯一可靠的增量是一個隊列消息處理的事情,在應用程序級完成,並且不使用雙打!