私は大きなクライアントから大きなプロジェクトを与えられ、現在 2 か月間取り組んでいます。私は解決策にどんどん近づいていますが、それは非常に複雑で、そこにたどり着くことができないため、アイデアが必要です.
プロジェクトは非常に単純です。緯度/経度座標の 1mil 以上のデータベースがあり、各レコードに多くの追加データがあります。ユーザーはページにアクセスし、かなり多くのレコードを除外するいくつかの検索語を入力します。フィルターに一致するすべてのレコードが (多くの場合、クラスター化されて) Google マップに表示されます。
これに関する問題は、クライアントが高速で無駄のない、低帯域幅であることを要求することです。したがって、私は立ち往生しています。私が現在行っていることは次のとおりです。最初のクラスターを提示し、それらがクラスターにカーソルを合わせると、そのクラスターの子のデータの読み込みを開始します。
しかし、数百万のリスティングのうち 30,000 にまで増やしたところ、少し引きずり始めています。可能な限り多くの最適化を行いました。フィルターが変更されると、DB へのクエリを AJAX し、一致するすべての ID を返し、これを反映するようにマップを更新します。
したがって、最適化はオプションではありません。これには、まったく新しい概念モデルが必要です。これは信じられないほど複雑なプロジェクトであり、歴史上、それに近いものは何も見つけることができないため、どんな意見でも大歓迎です。同様の問題がたくさんあるMMORPGも調べました。数は少ないですが、1 つの部屋に 100 万人のプレイヤーがいるという概念は、MMORPG の作成者が今でもうんざりしているものです。ボトルネックがあるかもしれないと考えることが一般的になっていますが、このように最適化する場合ではありません。巨大なデータベースがサーバーに残り、ユーザーには流動的に表示される新しいモデルが必要です。
これを解決するものが利用可能になり次第、500 担当者を授与します。
ありがとう - ダニエル。