En la mayoría de las situaciones, recomendaría elegir una base de datos para un proyecto, si el proyecto no es enorme. En proyectos realmente grandes (o empresas en general), Creo las organizaciones a largo plazo utilizarán una combinación de
- RDBMS para OLTP altamente transaccional
- No SQL
- un proyecto de almacenamiento de datos/BI
Pero para cosas de un alcance más razonable, solo elige el que hace el núcleo del caso de uso y úsalo para todo.
En mi opinión, el almacenamiento de datos de usuario en mongodb está bien:puede realizar operaciones atómicas en documentos BSON individuales para que operaciones como "asignarme este nombre de usuario atómicamente" sean factibles. Con registros de rehacer (--journal ) (v1.8+), replicación, slavedelayed replicación, es posible tener un grado bastante alto de seguridad de datos, tan alto como otros productos db en papel. El principal argumento en contra de la seguridad sería que el producto es nuevo y el software antiguo siempre es más seguro.
Si necesita realizar transacciones ACID muy complejas, como contabilidad, use un RDBMS.
Además, si necesita generar muchos informes, mysql puede ser mejor en este momento, especialmente si el conjunto de datos cabe en un servidor. La instrucción SQL GROUP BY es bastante poderosa.