私はCassandraと協力しており、データを行列形式で保存したいと考えています。現在、Listを使用して値を保存しています。 例えば:私はCassandraにマトリックス形式でデータを保存しますか?
CREATE TABLE matrix (row_id int PRIMARY KEY, row_values list<int>);
テーブル「マトリックス」を作成していると私は、テーブル内のいくつかの値を入力します。 (注意:行と列の数は変更可能)
INSERT INTO matrix (row_id, row_values) values (1, [1,2,3,4,5,6,.......]);
は、今私はrow_valuesの第二の要素を取得したいが、私の方法で私は、リストの2番目の要素を取得することはできませんよ、しかし私は、クエリの下に使用して要素を更新し、削除することができます。
UPDATE matrix SET row_values[1] = 50 where row_id =1;
は今、私の質問は、リストから特定の要素を検索することが可能であるかどうか、です。そうでなければ、データを行列形式で格納し、行列から要素を取り出すために使用できる他の方法がありますか?
を使用して取得することができますが、あなたは、手の込んだていただけますか?私は非常に頻繁に操作を実行する必要があります、あなたはあまりにも多くのネットワークオーバーヘッドがあると思いますか? –
バッチ内のすべてのステートメントが1つのパーティション内に書き込まれる場合、コーディネーター・ノードはこのパーティションの特定のノードとのみ通信します。バッチに関するドキュメントを参照してください:https://docs.datastax.com/en/cql/3.3/cql/cql_using/useBatchGoodExample.html –