問題は、トラフィック量がどれくらいになるかです。NoSQL データベースには、データ モデルが単純であるため、拡張性が非常に高いという利点があります (分散しやすくなります)。しかしこれは、リレーショナル データベースが提供する多くの機能を放棄しなければならないことも意味します。これらは、まず整合性メカニズムと複雑で便利なクエリ言語です。
したがって、最初のステップは、予想されるトラフィックと、どれだけスケーリングする必要があるかを決めることだと思います. 単一のデータベース サーバーでワークロードを処理できる場合は、リレーショナル データベースを使用することをお勧めします。
2 番目の側面は、データの取得です。リレーショナル データベースには、非常に具体的なクエリを作成できる SQL があります。一方、リレーショナル モデルでは、複数のテーブルが実際には一緒に属している場合でも (注文 + 注文されたアイテムのように)、データを複数のテーブルに分散させなければならないことがよくあります。これは、MongoDB のような NoSQL データベースの利点の 1 つであり、単一のドキュメントとして一緒に属するものを格納します。次に、この集計の取得も簡単ですが、より複雑なクエリを実行する場合は、データベースの外部で手動で実行する必要があります。
したがって、最終的には、主に単純なアクセス パターンと、スケーリングが必要な場合に NoSQL を使用します。リレーショナル DBMS には、提供される機能の量という点で利点があります。しかし、多くのタスクでは、データをリレーションに押し込むのは不自然です。スケーリングは可能ですが、より複雑です。