これをもっと公理的に行ってみませんか?たとえば、「CMS /ブログ」がドキュメントデータベース(またはその他)に適しているのはなぜですか。これらのアプリケーションの一般的な特性は何ですか?
各DBMSテクノロジーの長所、および実際に各DBMSテクノロジーが基づいている理論を検討してください。彼らはどのデータモデルを実装していますか?(実際には、それぞれにデータモデルがありますか?)各データモデルのプロパティは何ですか。また、アプリケーションのプロパティは、データモデルのプロパティにどのようにマッピングされますか?このようなマップを作成すると、聞いたことがないアプリケーションや、まだ発明されていないアプリケーションであっても、アプリケーションを特徴付けることができます。
Coddは、データモデルを3つの連動機能(構造、操作、および制約)で構成されていると定義しました。リレーショナルモデルには、3つすべてが含まれています。代替案を詳しく見ると、少なくとも1つ、通常は2つ欠落していることがわかります。リレーショナルモデルに基づいていないテクノロジは、事実上機能が低下します。そのため、すべてのアプリケーションがリレーショナルモデルをサポートできると言えます(現在のリレーショナル製品ではサポートされていない場合)。リレーショナルモデルは、まだ十分に開発されており、より強力であり、まだ考案されている他のどのモデルよりも単純です。述語論理と集合論に基づいているため、改善するのは難しいでしょう。
おそらく、明確に定義された操作が重要ではないアプリケーションを特定できます。しかし、特定のアプリケーションにそれらが必要ではない(または単に有用でさえある)理由を確実に言う前に、まずそれらが一般的に重要である理由を理解しておく必要があります。
遅かれ早かれ、誰かが「リレーショナルはスケーリングしない」と言って、そのテクノロジーXは速いと言うでしょう。その際、テクノロジーXがリレーショナルモデルに比べて欠けている機能、つまり重要な機能を暗黙のうちに放棄したことを思い出してください。さらに、データモデルは高速でも低速でもありません。実装のみです。マシンよりもプログラマが多い場合は、より多くのプログラマを雇うよりも、より高速なハードウェアを購入する方が安上がりです。