¿Por qué no hacer esto más axiomáticamente? Por ejemplo, ¿por qué "CMS / blogging" se adapta mejor a las bases de datos de documentos (o lo que sea)? ¿Cuáles son las propiedades comunes de estas aplicaciones que te hacen pensar que son más adecuadas para una u otra tecnología?
Considere las fortalezas de cada tecnología DBMS y, de hecho, la teoría en la que se basa cada una. ¿Qué modelo de datos implementan? (¿De hecho, cada uno tiene un modelo de datos?) ¿Cuáles son las propiedades de cada modelo de datos y cómo se correlacionan las propiedades de la aplicación con las del modelo de datos? Si desarrolla un mapa de este tipo, tendrá una forma de caracterizar cualquier aplicación, incluso una de la que nunca haya oído hablar o una que aún no se haya inventado.
Codd definió un modelo de datos que comprende tres características entrelazadas: estructura, operaciones y restricciones. El modelo relacional tiene los tres en espadas. Si observa de cerca las alternativas, encontrará que faltan al menos una y generalmente dos de ellas. Cualquier tecnología no basada en el modelo relacional es ipso facto menos funcional. Por esa razón, es seguro decir que todas las aplicaciones pueden ser compatibles con el modelo relacional (si no con productos relacionales existentes). El modelo relacional está aún más desarrollado, es más poderoso y, sin embargo, es más simple que cualquier otro que se haya ideado. Será difícil mejorar porque se basa en la lógica de predicados y la teoría de conjuntos.
Quizás pueda identificar aplicaciones para las cuales, por ejemplo, las operaciones bien definidas no importan. Pero debe estar muy seguro de comprender primero por qué son importantes en general antes de poder decir con certeza por qué no son necesarios (o incluso útiles) para una aplicación en particular.
Tarde o temprano, alguien le dirá "la relación no escala" y que la tecnología X es rápida. Cuando lo hagan, recuerden que han renunciado implícitamente a características que la tecnología X carece en relación con el modelo relacional, características que bien podrían importar. Además, un modelo de datos no es rápido ni lento, solo lo es una implementación. Cada vez que hay más programadores que máquinas, es más barato comprar hardware más rápido que contratar más programadores.