Warum nicht axiomatischer vorgehen? Zum Beispiel, warum ist „CMS / Blogging“ besser zu dokumentieren Datenbanken geeignet (oder was auch immer)? Welche gemeinsamen Eigenschaften dieser Anwendungen lassen Sie glauben, dass sie für die eine oder andere Technologie besser geeignet sind?
Berücksichtigen Sie die Stärken jeder DBMS-Technologie und in der Tat die Theorie , auf der jede basiert. Welches Datenmodell implementieren sie? (Hat jeder in der Tat haben ein Datenmodell?) Was sind die Eigenschaften jedes Datenmodell und wie die Eigenschaften der Applikationskarte auf diejenigen des Datenmodells? Wenn Sie eine solche Karte entwickeln, können Sie jede Anwendung charakterisieren , auch eine, von der Sie noch nie gehört haben oder die noch nicht erfunden wurde.
Codd definierte ein Datenmodell mit drei ineinandergreifenden Merkmalen: Struktur, Operationen und Einschränkungen. Das relationale Modell hat alle drei in Pik. Wenn Sie sich die Alternativen genau ansehen, werden Sie feststellen, dass mindestens eine und normalerweise zwei davon fehlen. Jede Technologie, die nicht auf dem relationalen Modell basiert, ist ipso facto weniger funktionsfähig. Aus diesem Grund kann man mit Sicherheit sagen, dass jede Anwendung das relationale Modell unterstützen kann (wenn nicht durch vorhandene relationale Produkte). Das relationale Modell ist noch weiter entwickelt, leistungsfähiger und dennoch einfacher als jedes andere bisher entwickelte. Es wird schwer zu verbessern sein, da es auf Prädikatenlogik und Mengenlehre beruht.
Vielleicht können Sie Anwendungen identifizieren, für die beispielsweise genau definierte Vorgänge keine Rolle spielen. Sie möchten jedoch sicher sein, dass Sie zuerst verstehen, warum sie im Allgemeinen wichtig sind, bevor Sie mit Sicherheit sagen können, warum sie für eine bestimmte Anwendung nicht erforderlich (oder sogar nur nützlich) sind.
Früher oder später wird Ihnen jemand sagen, dass "relational nicht skaliert" und dass Technologie X schnell ist. Denken Sie dabei daran, dass sie implizit Funktionen aufgegeben haben, die der Technologie X im Vergleich zum relationalen Modell fehlen. Diese Funktionen könnten durchaus von Bedeutung sein. Außerdem ist ein Datenmodell nicht schnell oder langsam, sondern nur eine Implementierung. Immer wenn es mehr Programmierer als Maschinen gibt, ist es billiger, schnellere Hardware zu kaufen, als mehr Programmierer einzustellen.