私は長い間従来のリレーショナル データベースを扱ってきたので、nosql、特に Cassandra への移行は大きな変化です。私は通常、起動時にデータベース内のすべてがアプリケーションの内部キャッシュにロードされ、データベースのテーブルに更新がある場合は、対応するキャッシュも更新されるようにアプリケーションを設計します。たとえば、テーブルがある場合Student
、起動時にそのテーブル内のすべてのデータが にロードされStudentCache
、挿入/更新/削除する場合は、両方を同時に更新するサービスを呼び出します。私の設計の目的は、データベースから直接選択できないようにすることです。
Cassandra では、結合が不要になるように、必要なすべてのデータを含むテーブルを作成するというアイデアがあるため、私のお気に入りの設計はまだ有効なのか、それとも、必要に応じてデータベースから直接 (つまり、1 つのテーブルから) データをクエリする方が効率的かどうかを考えます。 .