それぞれが場所を持つ多数のイベントを持つ Web アプリを作成する必要があります (ユーザー生成コンテンツとして作成されるため、イベントの数はますます多くなります)。たとえば、上位 5 つの最も近いイベントなどを決定するために、イベント間の距離が利用可能である必要があります。ユーザーはイベントの場所を変更できます。
このためのデータベース/モデルをどのように設計する必要がありますか (スケーラブルな方法で)?
「距離表」でやろうと思っていました(http://www.deutschland-tourist.info/images/entfernungstabelle.gifのように)。次に、場所が変更されるたびに、1 つの行と 1 つの列を再計算する必要があります (変更を即座に行うことは重要ではないため、これは遅延ジョブで行う必要があります)。スケーリングで考えられる問題: データベースが大規模 (n 個のイベントに対して n² アイテム)、実行する計算が多すぎます。たとえば、これが 10.000 人のユーザーにとって問題ないかどうかを確認する必要があります。それぞれが 1 つのイベントのみを作成した場合、これは 1 億の整数になります...
これは効率的に行うための良い方法だと思いますか? Railsモデルでこのような距離テーブルを実現するにはどうすればよいでしょうか? SQLデータベースで可能ですか? 他のアプローチを開始しますか?