1

大規模なデータを格納する方法として、検索を高速化し、使用状況を報告するのに、より効果的なのはどれですか?

{ website: "google.com", 
  description: "google is a search engine", 
  vistits: [
    {date: 1334565455, referrer: "http://bing.com"}, 
    {date: 1334565455, referrer: "http://bing.com"},
    {date: 1334565455, referrer: "http://bing.com"},
    {date: 1134565455, referrer: "http://bing.com"},
    {date: 1334542455, referrer: "http://bing.com"},
    {date: 1334555455, referrer: "http://bing.com"},
    {date: 1334575455, referrer: "http://bing.com"},
    {date: 1324565455, referrer: "http://bing.com"},
    {date: 1334565455, referrer: "http://bing.com"},
]}

または、参照としてサイトIDを使用して訪問が別のテーブルに保存される従来の方法を使用しますか?

4

1 に答える 1

2

場合によります。特定のサイトからのアクセスが多い場合、それらのドキュメントは急速に増加します。最終的には、大きすぎて読み込めなくなります。

一方、レポート ツールが常にすべての訪問を読み込む必要がある場合、訪問を複数のドキュメントに分割するとパフォーマンスが低下します。

2 つの目標のバランスを取るようにしてください。たとえば、配列visitsが大きくなりすぎた場合は、別のドキュメントを作成し、そのドキュメント ID を として保存しますcontinuedIn。こうすることで、各ドキュメントのサイズを制限しながら、多くの情報をまとめることができます。

レポート ツールがいずれにしても日別に集計する場合は、訪問を日ごとにグループ化することもできます (つまり、1 つのドキュメントに特定の日のすべての訪問が含まれます)。そうすれば、ドキュメントは大きくなる可能性がありますが、永遠に大きくなるわけではなく、1 日だけです。

最後に、N 回 (たとえば 100,000 回) の訪問後に記録を停止できます。100001 回または 100015 回の訪問があったかどうかを知るポイントは何ですか?

注: 場所によっては、IP アドレスとリファラー情報を長期間にわたって記録することは、各訪問者の書面による許可がある場合にのみ合法です。また、あなたの国で合法である場合でも、一部の訪問者は、自分を追跡するサイトに敏感です. 確かに、彼らはそれについて多くを行うことはできません. あなたへの訪問をやめる、サーバーとの通信を停止するように Web ブラウザーを構成する、またはブログやフォーラムに否定的なコメントを投稿することを除いて。

于 2012-10-18T13:24:23.993 に答える