ソーシャルネットワーク用のフレンドリストテーブルがあるとします。名前、年齢、市などのプロフィール画像のURL、最終ログイン時刻、...キー値ストアとデータベースのデータを最適に結合する方法
:ほとんどのユースケースは、次のような個人情報を保持する別のテーブルに結合することがフレンドリストテーブルが必要になります
友人リストテーブルが100M行の範囲に入ったら、このようなJOINのクエリには数秒かかることがあります。あなたが他のいくつかのWHERE条件を導入すると、それはさらに遅くなる可能性があります。
キーバリューストアシステムは、フレンドリストを非常に迅速に持ち込むことができます。
最近ログインした10人の友人を表示したいとします。 この出力を計算する最良の方法は何ですか?私が考えてきたいくつかの方法は以下の通りです。それらのいずれかが理にかなっていますか?
- すべてのデータをキー値ストア環境に保存しますか?新しいログインごとに のKey-Valueストアを更新しますか?
- または、友人リストのIDを最初に取得しますか?次に、 "IN()"のようなデータベースコマンドを使用してデータベースを照会しますか?
- クライアントレベルでデータをマージしますか? JavaScriptのソリューションですか?
友人リストの部分が高速ストレージにあり、結合ではなく「IN」クエリを使用します – njzk2