What are disadvantages of relational databases?
“Ich habe beide Varianten ausgiebig verwendet und finde, dass die Vor- & Nachteile zweischneidige Schwerter sind. Das heißt, es kommt stark auf die Verwendung an. Vor dem Hintergrund will ich den, meiner Meinung nach, wichtigsten Vorteil und meine Erfahrung beschreiben.
Der größte Vorteil ist die Geschwindigkeit. Auf eine relationale Datenbank wird notwendigerweise über ein Netzwerk zugegriffen und diese muss dann die SQL in eine Reihe von Anweisungen übersetzen. Das benötigt Zeit und Rechenleistung. Eine NOSQL Lösung wiederum kann so programmiert werden, dass sie direkt in die entsprechenden Daten schaut und somit schneller eine Antwort geben kann. Der Nachteil hier ist allerdings, dass der Programmierer quasi das Rad neu erfinden muss um die verbesserte Performance beim Datenzugriff zu erlangen.
Einige haben hier Skalierung als Problem genannt. Ich denke das kommt auf die Perspektive an. Wenn man von Geschindigkeit und Größe spricht, dann ja. Mit Technologien wie Hadoop, kann eine NOSQL Lösung eine relationale Datenbank im Nu übertreffen. Allerdings erhält sie diesen Vorteil durch zeitintensives Programmieren im Vorfeld. Das relationale System stellt die meisten Skalierungsoptionen standardmäßig bereit und spart so eine Menge Arbeit.
Ein zusätzlicher Vorteil von NOSQL besteht darin, dass der Programmierer sofort anfangen kann zu arbeiten. In einigen Umgebungen sind die Datenbankkomponenten von den Anwenderkomponenten getrennt. Eine NOSQL Lösung ermöglicht die Funktionen einer Datenbank ohne die Notwendigkeit sich durch den ganzen Prozess durchzuarbeiten, nur um dann herauszufinden, dass die Lösung sowieso nicht funktioniert. Ich arbeite für eine staatliche Einrichtung und ich empfinde dies als großes Hindernis. Für Abfragen, bei denen ich meine Datenstruktur schon kenne implementiere ich einfach die NOSQL Lösung. So kann ich die Kontrolle über die Daten behalten und muss nicht noch mehr Leute dafür einstellen.”
Übersetzung von Steven Nighs Originaltext