NoSQL es una categoría de motores de bases de datos que no son compatibles con el SQL (Structured Query Language) en Para lograr características de rendimiento o confiabilidad que son incompatibles con la flexibilidad de SQL.
Estos motores suelen proporcionar un lenguaje de consulta que proporciona un subconjunto de lo que SQL puede hacer, además de algunas características adicionales. El subconjunto de SQL disponible depende completamente del motor, aunque es bastante común que JOIN
, TRANSACTION
, LIMIT
y WHERE
no indexados no sean compatibles.
Como consecuencia, hacer un software existente de un motor de base de datos SQL estándar para un motor de NoSQL requerirá una reescritura de todo las consultas en que el software, y probablemente también requieren algunos cambios en la lógica de la aplicación en sí (un clásico por ejemplo, "mostrar página 11 de 25" es imposible de realizar de manera eficiente en CouchDB, debido a la falta de compatibilidad con LIMIT x OFFSET y
).
Wikipedia tiene un bonito list of NoSQL engines.
El consenso general sobre NoSQL parece ser que si alguna parte específica de su software se beneficiaría del rendimiento mejorado, la confiabilidad o la escalabilidad permitidas por un motor NoSQL específico, y no utiliza ninguna característica no disponible en ese motor, entonces una la migración puede ser considerada. Es bastante raro que una aplicación existente impulsada por SQL se mueva en su integralidad a NoSQL.
Algunos motores NoSQL tienen funciones automáticas de importación desde SQL, pero el uso de NoSQL impone algunas restricciones de arquitectura que dependen de lo que esté haciendo con los datos, por lo que un procedimiento importado desde SQL a mano será el única solución independientemente de los importadores existentes.
(Por último, MySQL no tiene relación con NoSQL. MySQL es sólo un nombre de una aplicación de base de datos relacional. Ya que implementa SQL, que por supuesto no es una base de datos NoSQL.)
Si no sabe de qué se trata, ¿por qué quiere migrar? – skaffman
es como tener el beneficio de una base de datos sin tener que usar SQL, ADO o cualquiera de esas cosas - http://thedailywtf.com/Articles/The_Storray_Engine.aspx – Tarski