NOT YOUR ERNST????Stevie hat geschrieben: Fr 27. Sep 2024, 13:21 Na wie schon??! Das nimmt man natürlich, weil Netflix es nutzt (Cassandra), Amazon es verwendet (DynamoDB), und LinkedIn es unter der Haube hat (Voldemort) .
Ich kenne diese Argumente.Aber ernsthaft: Ein Vorteil nichtrelationaler und dokumentenorientierter Datenbanken ist, dass man sich das Schemadesign spart und gerade bei sehr großen _existierenden_ Datenmengen jederzeit in Mikrosekunden ändern kann, was gespeichert wird. Fällt einem also nach Monaten auf, dass man ein Feld vergessen hat, hat man keine Schemaänderungen am Hals, sondern definiert einfach eine neue Version des Dokumententyps und speichert seine Daten fortan mit diesem Typ. Und sowohl neue wie alte Programmversionen können brav nebeneinanderher laufen und jeweils ganz nach Belieben und Code-Base Datensätze der alten und neuen Struktur schreiben und lesen. Das macht so einen Releasewechsel _massiv_ einfacher.
Insbesondere die Varianten, die zur Speicherung JSON verwenden, fügen sich sehr harmonisch in die heute eher Javascript-lastigen Entwicklungsprozesse ein. Keine logischen Brüche am Übergang in die Persistenzschicht, sondern einfach dieselben JSON-Objekte speichern, mit denen man in seiner Anwendung sowieso hantiert.
Auch so etwas wie Sharding oder verzögerte Replikation baut sich mit MongoDB tatsächlich einfacher als mit PostgreSQL oder MariaDB. Und last, not least, horizontales Scaling (sprich: unter Last mal eben zusätzliche Knoten in den Cluster nehmen) ist mit MariaDB, PostgreSQL oder anderen RDBMS teilweise echt komplex.
Aber das nur als _mögliche_ Argumente, weil du fragst. Wenn es hart auf hart kommt, würde ich auch immer erstmal ein RDBMS vorschlagen und dann überlegen, ob etwas dagegen spricht.![]()
Und mein Einwand "Ich war Einkäufer" war eher gewissermassen scherzhaft gedacht.
Was mich eher interessieren würde, wie gross der Unterschied im Platzbedarf ist für ein "vergleichbares" System.
Beispiel: Ein RDBMS eines ERP-Systems, welches mittlerweile 18 Jahre an Datenbestand hat als direkte "1:1"-Umsetzung auf eine non-relationale, dokumentbasierte Datenbank (Wobei mir da natürlich klar ist, dass das auch wiederum davon abhängt, wie ich die Dokumente definiere)