Foto: Datenbank_mickey-hoo
Genau genommen führt die Bezeichnung NoSQL als Abgrenzung von SQL zu Missverständnissen. NoSQL steht nicht für "kein SQL", sondern für "Not only SQL", also nicht nur SQL. Dadurch ist der Begriff zwar einprägsam, aber unklar. Unter "Not only SQL" fällt wohl letztlich jeder Mechanismus für die Verwaltung von Daten.
von Andreas Hartmann (Principal Software Engineer, Adesso AG), Kai Spichale (Senior Software Engineer, Adesso AG), Thomas Westphal (Senior Software Engineer, Adesso AG) und Eberhard Wolff (Architecture & Technology Manager bei der adesso AG)
Die NoSQL-Bewegung ist eine Reaktion auf die Herausforderungen, vor denen das Daten-Management in den nächsten Jahren steht:
-
Die Datenmengen wachsen exponentiell.
-
Daten sind immer stärker vernetzt. Dazu gehören der Hypertext im Web, Blog-Inhalte oder User Generated Content. Da viele Anwender immer und überall online sind, produzieren sie, beispielsweise in Social Networks, immer mehr Daten selbst, statt sie nur abzurufen.
-
Die Daten sind immer weniger strukturiert. Konnten sie früher in Tabellen repräsentiert werden, fällt dies heute zum Beispiel bei User Generated Content zunehmend schwerer. Auch bei der Suche nutzt man jetzt Text-Indizes und nicht mehr bestimmte Werte in Tabellenspalten.
-
Die Integration durch eine gemeinsame Datenbank nimmt ab. Stattdessen setzten sich Techniken wie Web-Services für die Integration durch. Jedes System hat seine eigene Datenbank.
-
Durch die Cloud werden noch mehr Daten zentral gehalten, Systeme müssen daher stärker skalieren. Dafür sollten primär viele weniger leistungsstarke Rechner genutzt werden, die in der Cloud typischerweise zur Verfügung stehen. Klassisch nutzt man aber gerade für relationale Datenbanken eher wenige und dafür leistungsstarke Maschinen.
-
Durch die Verfügbarkeit von kostengünstigen Hochgeschwindigkeits- sowie mobilen Internet-Zugängen werden zunehmend hohe Anforderungen in Bezug auf Datendurchsatz und Hochverfügbarkeit an Internet-Plattformen gestellt.