2

リレーションとドキュメント データベースについて議論している投稿はかなりありますが、それらはすべて非常に一般的なものです。

特定の例でそれらの違いを理解したいと思います。

別のスクラム指向のプロジェクト管理 Web アプリを構築しているとしましょう。

私たちは新しいテクノロジーを試してみたいと思っていますが、デザインを犠牲にして全体的な複雑さを増やして誇大宣伝されている新しいことをしたくありません. たとえそれが古い技術を使用することを意味するとしても、私たちは正しい決定を下したいと考えています。

したがって、PivotalTrackerについて考えてみてください。プロジェクト、ストーリー、ストーリー コメント、まれな添付ファイル、サブタスク (実際のタスクに分割されたストーリー) を保存します。

反復もサポートされているため、各タスクは実際にはプロジェクトに属し、反復することができます。反復内では、タスクを特定の順序で配置する必要があります。ユーザーはストーリーを上下にドラッグして並べ替えることができます。

ストーリーごとに、別の時間エントリを使用して、それに費やされた時間を追跡したいと考えています。

レポートを生成したいかもしれませんが、あまり派手なものはありません (バーンダウン、おそらく時間に関連するもの)

リレーショナルとドキュメントのどちらの DB を使用しますか? それとも他の?なぜ?

その構造をどのように設計しますか?たとえば、ドキュメント DB を使用する場合、正規化しますか?

4

1 に答える 1

0

NoSQL とリレーショナル DB の間の基本的なトレードオフは、レポート機能にあります。リレーショナル データベースでは、これはセット操作で行われ、リレーショナル データベースは一般的なレポート用に非常に最適化されています。これには、数学が正しく機能するように厳格なスキーマが必要です。NoSQL データベースでは、これは MapReduce と分散コンピューティングによって行われ、柔軟なスキーマが邪魔になります。本質的に NoSQL では、レポートは常に目的に合わせて作成され、アドホックなレポートは事実上存在しません。このため、常に RDBMSから始めて、必要に応じて NoSQL 付属物を追加する必要があるという考えを私は支持しています。

これは、ビジネス オーナーが時々新しいレポートを作成する必要があるプロジェクト管理に特に当てはまります。

于 2013-03-23T01:11:43.080 に答える