0

ここのように、同じデータを持つ 2 つのテーブルをリンクしようとしています: http://outworkers.com/blog/post/a-series-on-cassandra-part-1-getting-rid-of-the-sql-メンタリティ

2 番目のテーブルには、次のようにクエリを実行するデータが含まれています。

foo (
  id text,
  time timestamp,
  a int,
  b int,
  c int,
  d int,
  PRIMARY KEY (time, id)
) WITH CLUSTERING ORDER BY (time DESC, id ASC)

ここでは、タイムスタンプまたは ID でクエリを実行します。ここで、a、b、c、d は固有でなければならない項目、つまり PRIMARY KEY(a、b、c、d) です。このために、最初のテーブルを作成します。

bar (
  id text,
  time timestamp,
  a int,
  b int,
  c int,
  d int,
  PRIMARY KEY (a, b, c, d)
)

問題は、挿入中に id と time が変更される可能性がありますが、a、b、c、d は同じままです。さて、私はブログ投稿で言及された一貫性のあることの行に沿って何かをしたいと思っていました. 私が直面している問題は、同じアイテムを挿入しようとすると(a, b, c, d)、 bar は対応する行を喜んで更新しますが、 foo は新しいエントリを作成します。foo の古いエントリを削除したり、bar のように foo を更新したりするにはどうすればよいですか?

4

1 に答える 1

2

Cassandraのドキュメントによると:

UPDATE は行の主キー フィールドの値を更新できません

ファントム削除クエリの例を次に示します: https://github.com/outworkers/phantom/wiki/Querying#delete-queries

于 2016-05-22T16:29:06.757 に答える