OrderPreservingPartitionerが使用され、行キーが厳密に昇順であると仮定すると、Cassandraクライアントを使用して最近追加された行の行キーを簡単に取得できますか?私は、すべての行をフェッチするためにget_range_slicesクエリを実行し、最後の行キーを見つけるために最後まで反復することができることを認識しています。しかし、それは時間がかかる操作であると感じています。Cassandraで追加された最後の行の行キーの取得方法
答えて
昇順になっていても、最後に挿入された行キーを取得することはできません。& OPPが使用されています。
- 最後に挿入されたキーをファイル またはそのような手段で保存することをお勧めします。 P
- キャッサンドラに執着したい場合は、元のCF(OCF)の挿入されたすべての行キーを一時CF(TCF)に列として保存することをお勧めします。あなたのTCFの
comparator
があなたのkey_validation_class
TCFの行の最後の列としてあなたOCFの最後に挿入row_keyを続けるだろう解決策2
OCFのと同じであることを確認してください。あなたは、最後から最初に取得するには、列にリバースレンジスライスを使用することができます;)
SELECT FIRST 1 REVERSED * from TCF where KEY='yourkey'
をあなたがこの方法を、列の有効期限プロパティを使用してデータをモデル化Temporary_CFの行のサイズを制御することができますあなたのオプションを与えることができます最後にn個のrow_keysを挿入することもできます。
SELECT FIRST N REVERSED * from TCF where KEY='yourkey'
使用パターン:私たちは頻繁に最後に追加された行
実装をロードする必要がありますシリアライズする前のrowKeyを「逆」。 OrderPreservingPartitionerを使用します。 RowKeyとして「タイムスタンプ」を使用します。
たとえば、RowKeyは長い番号(タイムスタンプを表します)です。その後、タイムスタンプのシリアル化には、リバーサル(Long.MAX_VALUE - タイムスタンプ)を使用します。最初の行が挿入された最後の行になります。
ノードのネットワーク全体のタイムスタンプの詳細の下の最後の行を絶対に知る必要がある場合は...私は何も考えることはできません。
しかし、cassandraは、most-recent-timestamp-winsで競合セル(行+列)の更新を解決するため、すべての挿入に対して、その表に対応する単一の行の単一の列も更新し、ALLでそのセルを照会します。 1つの行の更新をボトルネックにするのを防ぐために、columnfamily/tableごとに異なる行を使用することをお勧めします。
競合する同じタイムスタンプの更新が2つある場合は...おそらく、その時点で哲学的な質問にはまっているでしょう。あなたがネットワーク化されたシーケンスジェネレータのいくつかの減速点を望んでいない限り、それは嫌です。
一貫性をALLからQUORUMまたはONEに落とすと、結果がどれほど正確であるかに応じて、すばやく行を挿入できるようになります。
- 1. 列を追加した後にdb2テーブルに新しく追加された行を取得する方法
- 2. 最後の行がテーブルに追加されました -
- 3. SQLサーバーで最後に挿入された行を取得する方法
- 4. mysqlデータベースの最後の行の値を取得する方法
- 5. 最後のセルだけが行に追加されます
- 6. Cassandra - 行キーのユニーク制約
- 7. ちょうど追加された行IDを取得する方法
- 8. PHPでPDO SQLiteで最後に追加されたレコードの数を取得する方法は?
- 9. 最後に挿入された行からデータを取得
- 10. pyserial - シリアルデバイスから送信された最後の行を読み取る方法
- 11. 挿入された行のPKガイドを取得する最善の方法
- 12. Railsの移行で主キーを追加する方法は?
- 13. 新しく追加されたエンティティの取得後にSaveChanges?
- 14. サブビューで追加された値を取得する方法
- 15. 最近追加されたアイテムのインデックスを取得する
- 16. oracleで最後に挿入された行のPK_IDを取得する方法は?
- 17. PHPMailerプレーンテキストの電子メールで最後に新しい行が追加される
- 18. Cassandraからソートされたカウンターを取得する方法
- 19. 複数の行に最後に挿入されたIDを取得する
- 20. 挿入された最後の行を取得する汎用SQL構文
- 21. Oracle OCIは最後に挿入された行のIDを取得します
- 22. コレクションビューで最近追加されたアイテムを取得する
- 23. テーブルの最後の行を取得するためのSOQLクエリ
- 24. Redisソートセットの最後に挿入されたアイテムのキーとスコアを取得
- 25. VBScript - 指定された行の後に新しい行を追加する方法
- 26. &Array() - 配列の更新後にアンパサンドが付加された最後の行
- 27. DOJO DataGrid - 最初に表示される行と最後に表示された行のインデックス(番号)を取得する方法
- 28. SQLiteデータベースに挿入された最後の2行だけを取得する方法はありますか?
- 29. StackedBarChartの行キーがDefaultCategoryDataSetに追加されない
- 30. カッサンドラで最後に挿入された行を取得するには?