問題タブ [timeuuid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 文字列に挿入されたバッファ型データを示す cassandra timeuuid 列
NodeJS Cassandra ドライバーを使用して、Cassandra timeuuid 列からデータを取得しています。データが文字列型ではなくバッファ型として取得されるようになりました。文字列型のデータが必要です
php - Datastax Cassandra PHP ドライバー: 準備済みステートメントで timeuuid を使用すると、「無効な値の型」例外が発生する
timeuuid 値を使用して準備済みステートメントを実行しようとすると、「無効な値の型」の例外が発生します。
コードは次のとおりです。
次の例外が発生します。
「Cassandra\Exception\InvalidArgumentException : 値の型が無効です」
テーブルスキームは次のとおりです。
私は何を間違っていますか?
PECL cassandra 1.1.0 と cassandra 2.0.15 を使用しています。
インストールされた cassandra 関連パッケージ: cassandra20-2.0.15-1.noarch cassandra-cpp-driver-2.2.2-1.el6.x86_64 cassandra-cpp-driver-devel-2.2.2-1.el6.x86_64
java - パフォーマンス向上のための UUID の実装
要件:
マーチャントを一意に識別できるように、十分な長さのランダムな番号/文字列をマーチャントに割り当てる必要があります (誰かに識別子を推測させたくない)。これが必要なのは、この番号/文字列を QR コードとして印刷し、マーチャントに提供して、ユーザーが QR コードを読み取ってマーチャントに関する情報を取得できるようにするためです。
現在の実装:
ID はシーケンシャルであるため出力できません。そのため、JUG UUID ジェネレーターの TimeBasedGenerator によって生成された一意の ID を格納する新しいフィールド (externalId) を導入しました。さらに調査したところ、UUID にパフォーマンスの問題があることがわかりました。すべての記事で UUId を主キーとして説明していますが、私は UUID を主キーとしてではなく、二次識別子として使用しています。検索に比べて挿入や更新が少なくなるので、私は心配していません。ユーザーは、印刷された QR コードから読み取った UUID を送信し、この UUID フィールドを使用してマーチャントを検索する必要があるため、パフォーマンスに大きな影響があります。
私による解決策:
UUID の代わりに ID:UUID の組み合わせを提供するため、リクエストを取得したときに、ID を使用してマーチャントを分割およびフェッチし、DB に存在する externalId(UUID) が一致するかどうかを確認できます。それが一致する場合は、商人を返します。
このソリューションはパフォーマンスを大幅に向上させますか、それとも文字列操作にかかる時間が効果を無効にします。
これを行うためのより良いアプローチはありますか?
ありがとう
cassandra - CassandraのTimeUUIDとタイムスタンプ?
TimeUUID から時間を抽出できる場合、タイムスタンプを Cassandra の別の列として使用する意味はありますか?
また、TimeUUID から時間を抽出し、範囲クエリ (例: 2016 年 1 月から 2016 年 5 月) を作成するにはどうすればよいでしょうか?
cassandra - timeuuid をクラスタリング列として行を更新する
キーとして文字列、クラスタリング列として timeuuid を持つテーブルがあります。
私がやりたいのは、に基づいて更新することですtimeuuid < now()
。
例:
しかし、取得
そのための回避策または解決策はありますか?この場合、クラスタリング列が主キーと見なされるのはなぜですか?
ではごきげんよう
---- Update1: ---
Cassandra バージョン 2.2 を使用しています。スキーマは次のとおりです。
cassandra - タイムスタンプ (timeuuid) の Cassandra 制限句
次のようなカサンドラテーブル構造があります
UI では、次のボタンをクリックすると、10 から 20、20 から 30 などの値を取得するようにページネーションが必要です。
カサンドラでクエリを開始できないことはわかっています
したがって、次のようにクエリを作成すると
これにより、' sometimestampvalue
' から次の 10 個の値までの 10 個の値が得られます。
次に、最後の行のタイムスタンプ値を変数 (X など) に格納し、次のクエリを次のように開始します。
などなど、これでうまくいくでしょうか?または、テーブルの構造を変更する準備ができているので、カウンター列も追加する準備ができているので、基本的には任意の列に基づいてページネーションを行うことができるはずです。