¿Qué características específicas de la aplicación requerirían una base de datos no relacional?

Cualquier aplicación que use datos en un formato no estructurado.

Las bases de datos relacionales suelen ser bastante buenas con datos que se pueden analizar en pequeñas piezas bonitas (nombre, descripción, altura / ancho / longitud / peso, etc.). Pero la mayoría de las redes sociales no se pueden analizar en piezas tan fáciles de definir, que no sea simplemente diciendo “esta es una publicación”. Pero si el contenido de la publicación es divertido, serio, fáctico o satírico (y CÓMO es cualquiera de las cosas mencionadas anteriormente) no es necesariamente algo fácil de definir por un programa, mucho menos qué partes son qué.

Big Data es más fácil de acomodar datos de este tipo, porque está mucho menos preocupado por cómo almacenarlo (en qué son realmente buenos los RDBMS) que por cómo acceder, etiquetarlo y / o procesarlo.

Diría que si su aplicación va a pedir opiniones y / o cualquier otra cosa que pueda terminar siendo texto de la longitud de un ensayo (o más), es posible que desee ver el uso de una base de datos no relacional. Pero incluso entonces, es posible que aún pueda usar un RDBMS.

Yo diría que es al revés: ¿qué características específicas de la aplicación NO requerirían una base de datos relacional?

Si coloca la velocidad por encima de la coherencia y el soporte transaccional, si no necesita un esquema predefinido, si puede permitirse el lujo de “analizar datos más tarde”, entonces NoSQL podría ser una mejor opción.

A veces, una base de datos NoSQL (como bases de datos de gráficos o bases de datos de documentos) modela su situación actual mejor que un modelo relacional; entonces, de nuevo, NoSQL se convierte en una mejor opción.