0
プライマリキーの分散ロックを実装せずに、ダブルデータ型をアトミックにインクリメントする方法はありますか? はたぶんカウンタの動作と同様の方法で:cassandraのdoubleデータ型のアトミックインクリメント
UPDATE user SET usage = usage + 3.45 WHERE user_id = 3400435592
プライマリキーの分散ロックを実装せずに、ダブルデータ型をアトミックにインクリメントする方法はありますか? はたぶんカウンタの動作と同様の方法で:cassandraのdoubleデータ型のアトミックインクリメント
UPDATE user SET usage = usage + 3.45 WHERE user_id = 3400435592
カサンドラにはそのようなことはありませんが、あなたが精度を固定している場合、あなたは適切にあなたのデータをスケーリングして、プレーンカウンタを使用することができ、例えば:
UPDATE user SET usage = usage + 345 WHERE user_id = 3400435592
あなたが暗黙的にあなたのベースとして「セント」、またはあなたのベースとして「ミリ秒」を使用
UPDATE user SET usage = usage + 3450 WHERE user_id = 3400435592
を使用
。
ただし、増分の問題は「倍増」よりもはるかに一般的であることに注意してください。あなたが過小/過度の増加を許容することができれば、カサンドラのカウンターを使用してください。あなたがマネートランザクションをモデル化しているなら、私が考えることができる唯一の信頼できるインクリメントは、アプリケーションレベルで実行されるキューメッセージ処理のことです。これは倍精度を使用しません!