私たちはRDBMSかNoSQLかを判断する段階にあります。別のサーバーにNoSQLデータベースを分割する必要がありますか?
NoSQL(おそらくCouchDBでもMongoDBでも構いませんが)の場合、別のサーバーのNoSQLデータベースをNoSQLサーバーの1つのインスタンスよりも分けることになりますか?
ファイル管理システムを構築し、特定のファイルやビデオを別のサーバーにグループ化します。アカウント関連ファイル/ビデオは、アカウントサーバーなどに保存されます。アカウント関連ファイルを照会するには、アカウントサーバー上のデータベースを検索する可能性が最も高くなります。
今後、「ファイルや動画の種類についてすべてのサーバーで検索できないのはなぜですか」と誰かが言うことがわかりますか?
明らかに1つのデータベースを持つ方が良いでしょう。しかし、サーバーに照会するHTTPリクエストの待ち時間を別にすれば、大規模なデータベースを持っていることや長所と短所を解決する良い方法がありますか?
JD
ありがとう@mnemosyn。 NoSQLのアーキテクチャーに頭を下ろそうとしています。私が最初に理解したのは、各サーバーにデータベースを置いて検索するだけで、検索の集計結果を得ることでした。あなたの答えから、後でオートシャーディングすることでこれを解決できます。自動シャーディングでは、「すべてのアカウントの書類」がサーバー2にあるはずですか? –
「マップ/リダクション操作がクエリで許可されていれば、並行して実行することができる」と言いましたが、何を意味するのか詳細を教えてください。 –
"「すべての勘定伝票がサーバー2に登録されていますか? - まあ、実際にはありません。問題は、データをどこに置くべきかをdbに決定させるのではなく、なぜそれをやりたいのですか?パラレル化:マップ/リダクションだけでなく、いくつかのクエリを並列化することができます。 count({color:blue})はすべてのサーバーに一度に照会し、結果を追加します。詳細は私の答えのリンクを参照してください。 – mnemosyn