カサンドラのデータモデリングでは、「カサンドラではデータの非正規化と複製が実生活です。しかし、標準化されていないデータの欠点の1つは、更新を非常に困難にすることです。たとえば、異なるクエリを扱う3つのテーブルがある場合、選択は問題ありません。しかし、私のアプリでは、私はユーザー名を更新したいと私はこれらの3つのテーブルを更新する必要がありますか?最初のテーブルの更新はOKです。後者はどうですか? upatesは非常に高価になるだろうか?このケースをどのように扱うべきですか?cassandraの更新
CREATE TABLE users_by_username (
username text PRIMARY KEY,
email text,
age int
)
CREATE TABLE users_by_email (
email text PRIMARY KEY,
username text,
age int
)
CREATE TABLE groups (
groupname text,
username text,
email text,
age int,
hash_prefix int,
PRIMARY KEY ((groupname, hash_prefix), username)
)
はい、個別に更新する必要があります。それは計算の点で高価ではありませんが、それはかなり速くなければなりません。少なくとも、それは私が実際に見たものです。 –
しかし、後者は、検索+変更権と同等のarrを更新しますか?実際には非プライマリキーで作業しているので、遅くするべきではありませんか? – Hammer
あなたのアップデートを実行してタイムドされましたか?それが確かに知る方法です。 –