Die leistungsfixierte Kultur von Datenbanken
- Die Datenbankbranche konzentriert sich stark auf Leistungssteigerungen, doch die tatsächliche User Experience wird oft von anderen Faktoren beeinflusst.
- Für Nutzer kann bei der Datenverarbeitung wichtiger sein als Query-Optimierung, in welchem Format die Daten vorliegen oder ob sie in der Lage sind, Fragen in SQL zu formulieren.
- Die Performance einer Datenbank ist wichtig, aber es kann sinnvoller sein, eine Datenbank nach anderen Kriterien auszuwählen – etwa Bedienbarkeit, Ökosystem, Update-Geschwindigkeit oder Integration in bestehende Workflows.
Das Ende der Benchmark-Kriege
- 2019 veröffentlichte GigaOm einen Benchmark zum Vergleich von Cloud Data Warehouses, doch die tatsächlichen Marktergebnisse entwickelten sich anders.
- Wenn Benchmark-Ergebnisse nicht mit der User Experience übereinstimmen, deutet das darauf hin, dass entweder der Benchmark falsch war, das Falsche getestet wurde oder Performance vielleicht nicht so wichtig ist.
Was „schnell“ bedeutet
- Im Bereich Cloud-Datenbanken richtet sich der Fokus häufig darauf, wie viel Zeit vergeht, nachdem der Nutzer auf „Ausführen“ klickt, bis das Ergebnis bereitsteht.
- Für Nutzer zählt in Wirklichkeit, wie lange es dauert, eine Aufgabe abzuschließen – und das ist nicht dasselbe wie die Laufzeit auf dem Datenbankserver.
Performance ist subjektiv
- Performance muss aus der Perspektive des Nutzers gemessen werden und ist ein UX-Problem, das sich nicht durch eine einzelne Zahl beschreiben lässt.
- Die Subjektivität von Performance bedeutet, dass sich erst aus der Art der Nutzung einer Datenbank ergibt, welche tatsächlich schneller ist.
Die Geschwindigkeit des Wandels
- DuckDB verbessert sich in hohem Tempo, wodurch aktuelle Benchmarks schnell bedeutungslos werden.
- Bei der Wahl einer Datenbank sind nicht nur die aktuelle Performance, sondern auch künftige Änderungen bei Leistung und Funktionen wichtige Variablen.
Es gibt keine Zauberbohne
- Wenn alle Datenbanken aktiv gepflegt werden, wird sich die Performance im Laufe der Zeit angleichen.
- Bedeutende Performance-Unterschiede werden mit hoher Wahrscheinlichkeit nicht dauerhaft bestehen bleiben.
Das Problem liegt zwischen Stuhl und Tastatur – und zwischen Tastatur und Datenbank
- Für Nutzer ist das entscheidende Performance-Maß, wie lange es dauert, mit einer Frage zu einer Antwort zu gelangen.
- Wichtig ist nicht die Zeit, die die Datenbank für die Ausführung einer Query braucht, sondern die Geschwindigkeit vom Gedanken zur Antwort.
Über saure Trauben
- DuckDB liegt derzeit bei den Benchmarks von ClickBench und h20.ai vorn und zeigt auch bei TPC-H und TPC-DS keine schlechte Leistung.
- Bevor man annimmt, dass eine Datenbank schnell ist, sollte man sie mit der tatsächlichen eigenen Workload testen.
Fazit
- Die erfolgreichsten Datenbankunternehmen waren nicht deshalb erfolgreich, weil sie schneller als ihre Konkurrenz waren.
- Datenbanken, die Performance zum zentralen Verkaufsargument gemacht haben, waren am Markt nicht erfolgreich.
- Bei der Wahl einer Datenbank ist es ratsamer, die Entscheidung auf andere Faktoren als rohe Geschwindigkeit zu stützen.
Die Meinung von GN⁺
- Dieser Artikel betont, dass es nicht genügt, sich nur auf die Performance von Datenbanken zu konzentrieren, sondern dass es entscheidend ist, User Experience und Arbeitsabläufe zu optimieren. Auch für Junior-Softwareingenieure ist das eine wichtige Lehre: Bei der Auswahl einer Datenbank sollte man statt bloßer Performance-Kennzahlen einen nutzerzentrierten Ansatz berücksichtigen.
- Die Performance von Datenbanken tendiert dazu, sich im Laufe der Zeit anzugleichen, weil sich technologische Fortschritte über alle Plattformen hinweg verbreiten. Das legt nahe, dass man bei Technologieentscheidungen eher langfristigen Support und Verbesserungspotenzial als kurzfristige Performance betrachten sollte.
- Open-Source-Projekte wie DuckDB können sich dank schneller Verbesserungszyklen und Community-Unterstützung rasch weiterentwickeln. Das bedeutet, dass man bei der Einführung neuer Technologien auch die Aktivität der Community und das Entwicklungstempo des Projekts berücksichtigen sollte.
- Bei der Auswahl einer Datenbank sollte man sich nicht nur auf die Ergebnisse von Performance-Benchmarks verlassen, sondern die Leistung unter der eigenen realen Workload testen. Das kann helfen, eine Datenbank zu wählen, die besser zu den tatsächlichen Anwendungsfällen passt.
- Es wird hervorgehoben, dass bei der Wahl von Datenbanktechnologien nicht nur technische Aspekte, sondern auch Geschäftsanforderungen, Wartungsfreundlichkeit und Effizienz der Datenverarbeitung berücksichtigt werden sollten.
1 Kommentare
Hacker-News-Kommentare
dictund schrieb ihn alle paar Minuten auf die Festplatte. Das war eine sehr schnelle API, aber nach dem Umstieg auf MongoDB kehrte die Performance nicht zurück. Trotzdem würde man heute beim Bau einer Website nicht „pickledb“ wählen.