この問題に遭遇しましたが、どうすればよいかわかりません。これらのユーザー アクションを保持しているとします。
- いいね
- コメント
- 株式
- アップロード
など、リストは20
アクションの周りに移動します。今私が思いついた最善の戦略は、単一の CF を作成して、それを呼び出してuser_actions
から、複合行を使用することです (それが呼び出される方法だと思います)。
したがって、行は で構成されますがuser_id:action
、すべてのユーザー アクションを 1 行に保存しない理由を尋ねる人もいると思います。ここに私の最大の問題があります。なぜなら、ユーザーが自分の友人や自分自身が過去に何をしたかを確認したいと言うときに、ユーザーが見たいと思うオプションをユーザーに選択してもらいたいからです。
たとえば、ユーザーが友人の好きなものを見たいとします。私がする必要があるのは、それらすべての好きなものでその行を取得することだけです。簡単ですよね?
しかし、ユーザーが見たい場合everything
(これがデフォルトのオプションです)、その場合、~20
クエリを作成する必要があります。トラフィックが少なくても問題ないと思いますが、1 秒あたり 100k の読み取りがあるとしたら、100k を意味します。 * 20、それは恐ろしく聞こえます...
しかし、cassandraがサポートしていないときに、すべてを単一の行に格納すると、個々のアクションをどのように照会するのでしょうWHERE
か?
ちなみに、私はライブラリを使用php
してphpcassa
います。