したがって、約 3 億人のユーザーの情報を格納できる DB が必要です。各ユーザーには 2 つのベクトルがあります: 5 つのお気に入りアイテムと 5 つの最も類似したユーザー (これらのユーザーもユーザー セットに含まれています)。
元:
preferences users
user | item user | user
-------------- --------------
user1 | item1 user1 | user2
user1 | item2 user1 | user4
user1 | item3 user2 | user8
user2 | item3 . . .
user2 | item4
. . .
したがって、基本的には 2 つのテーブルが必要です。どちらも多対多の関係であり、どちらも比較的大きなものです。私は cassandra を調査してきましたが (ただし、他のソリューションも受け入れています)、スキーマをどのように定義するのか、最適化して適切に機能させるために必要なインデックスの種類を考えていました。
次の 2 つの方法でクエリを実行する必要があります。
1.もちろんユーザーごと、
2.リストにあるアイテムごと。(同じお気に入りアイテムを持つユーザーのリストを取得できるように)
私はすでに cassandra をセットアップして、いじり始めましたが、「複合」主キーが必要なため、リストを機能させることさえできませんか? 理由がわかりません。
ヘルプ/正しい方向へのプッシュは大歓迎です。
ありがとう!