NoSQL eine Kategorie von Datenbank-Engines, die in nicht den SQL (Structured Query Language) unterstützen um Leistungs- oder Zuverlässigkeitsfunktionen zu erreichen, die nicht mit der Flexibilität von SQL kompatibel sind.
Diese Engines bieten in der Regel eine Abfragesprache, die eine Teilmenge von SQL bereitstellt, sowie einige zusätzliche Funktionen. Welche Teilmenge von SQL verfügbar ist, hängt vollständig von der Engine ab, obwohl es ziemlich üblich ist, dass JOIN
, TRANSACTION
, LIMIT
und nicht indizierte WHERE
nicht unterstützt werden.
Als Konsequenz zu einem NoSQL-Motor aus einem Standard-SQL-Datenbank-Engine bestehenden Software-Portierung wird ein Umschreiben von all die Abfragen in dieser Software benötigen, und wird wahrscheinlich auch einige Änderungen in der Anwendungslogik selbst (ein klassische erfordern Beispiel, dass "Display Seite 11 von 25" in CouchDB aufgrund der fehlenden LIMIT x OFFSET y
Unterstützung nicht effizient ausgeführt werden kann.
Wikipedia hat eine nette list of NoSQL engines. Der allgemeine Konsens zu NoSQL scheint zu sein, dass, wenn ein bestimmter Teil Ihrer Software von der verbesserten Leistung, Zuverlässigkeit oder Skalierbarkeit profitiert, die von einer bestimmten NoSQL-Engine erlaubt wird, und keine Funktionen verwendet werden, die in dieser Engine nicht verfügbar sind, dann a Migration könnte in Betracht gezogen werden. Es ist ziemlich selten, dass eine gesamte vorhandene SQL-basierte Anwendung in ihrer Ganzheitlichkeit auf NoSQL verschoben wird.
Einige NoSQL-Engines verfügen über automatische SQL-Importfunktionen, aber die Verwendung von NoSQL führt zu einigen Einschränkungen in der Architektur, die davon abhängen, was Sie mit den Daten tun. Daher wird normalerweise eine handschriftliche Import-from-SQL-Prozedur verwendet einzige Lösung unabhängig von bestehenden Importeuren.
(Schließlich trägt MySQL keine Beziehung zu NoSQL. MySQL nur ein Name einer relationalen Datenbank-Implementierung ist. Da es SQL implementiert, ist es natürlich kein NoSQL-Datenbank.)
Wenn Sie nicht wissen, was es ist, warum möchten Sie darauf migrieren? – skaffman
ist es, als hätte man den Vorteil einer Datenbank, ohne jemals SQL, ADO oder irgendeinen dieser Sachen benutzen zu müssen - http://thedailywtf.com/Articles/The_Storray_Engine.aspx – Tarski