Mongo では、データベースとコレクションを使用できると理解しています。私は、ブログとコメント (とりわけ) を持つソーシャル タイプのアプリに取り組んでおり、以前は同時実行の問題を制限するために MySQL とかなり重いパーティション分割を使用していました。
MySQL を使用して、データ (ブログ、ページなど) をさらに分割するために、いくつかのテーブルを含む _user データベースにすべてのユーザー データを詰め込みました。
Mongo に対する私の即時の反応は、ユーザーごとに 1 つのコレクションを持つ「ユーザー」データベースを作成することです。このようにして、ユーザーの「zach」ブログ エントリは、関連するコメントとともに「zach」コレクションに入り、同じコレクション内のサブオブジェクトになります。基本的には、MySQL でユーザーごとに 1 つのテーブルを動的に作成するのと似ていますが、明らかに複雑さや制限が課せられることはありません。
もちろん、私は Mongo を実際に使用したことがないので、このアイデアの (えーと..) 品質と、それが将来引き起こす可能性のある潜在的な問題を判断するのに苦労しています。
*nix 環境でユーザー データをユーザー ディレクトリのように処理して、(ほとんどの場合) ユーザー作成/非共有を 1 つの場所に配置するようにしたいと考えています (現在、MySQL では、上記のように appname_users になります)。
ユーザー データのほとんどは、ユーザー ページに固有のものです。すべてのサイト ユーザー (検索可能なユーザー プロファイル) にわたってクエリされるユーザー データの一部は、現在、別のデータベース/テーブルに保持されています。このようなものは、appname_system データベースに配置され、コレクションやアプリケーション固有のデータに分割される可能性があります。データベース (appname_profiles)。
とにかく、これに関する利用可能なドキュメントは現在少し薄く、私の経験は非常に限られているため、システムをよりよく理解している人から少しのガイダンスを見つけることができると思いました.
プラス面としては、私はすでに MySQL をスキーマのないドキュメント ストアとして扱おうと試みていましたが、Mongo でこれを行うと、はるかに直感的/正気/合理的に見えるので、始めるのが本当に楽しみです。
ありがとう、ザック