Mongoは初めてで、分析の探求に取り組み、スキーマの質問があります。
私は4つのテーブルがあるSQLサーバーから来ています...
stats_landing_table
-------------------
id
post_id
visit_date
country
browser
impressions
stats_geo_table
---------------
id
post_id
date
country
country_count
stats_browser_table
-------------------
id
post_id
date
browser
browser_count
stats_impressions_table
-----------------------
id
post_id
date
impression_count
ランディングテーブルを使用すると、毎回すべてのデータをそこにスローします。更新はなく、挿入するだけです。そこで、他のテーブルを調べて適切な更新または挿入を行い、ランディングテーブルからエントリを削除するトリガーがあります。
そのため、全体または特定の時間範囲に基づいて、投稿の各属性(国、ブラウザー、インプレッションなど)に戻ってレポートを表示する機能を備えた、高速の挿入/更新が必要です。
Mongoでは、別のドキュメントを埋め込むか、持つべきか、それともまったく異なるスキーマを推測するかによって決まります。埋め込む場合は、ブラウザテーブルなどを更新すると同時に、国を確認してインプレッションを更新する方法を見つけようとしています。それぞれに個別の更新が必要なようです(たとえば、このビスタはドイツのFirefoxを使用していますが、これはフィンランドのFirefoxです-私が見たものからの単一のクエリではそれを行うことはできません)。もう1つのオプションは、異なるドキュメントを作成することですが、これは同じ問題です。コレクションごとに更新を行う必要があります。これは、SQLサーバーの単一呼び出しと比較して大量のネットワークトラフィックです。
レポートを許可しながら、パフォーマンスの迅速な更新/挿入を可能にするこのようなものを設計する方法の提案を歓迎します。