Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum skalieren NoSql-Datenbanken besser als relationale Datenbanken? Wie soll ich zwischen ihnen wählen?

Ein Blog wie https://neo4j.com/blog/acid -vs-base-consistency-models-explained/ erklärt BASE so:

Diese Ebene der Mehrdeutigkeit klingt nicht sehr zuverlässig, oder? Sie tauschen Verfügbarkeit und Konsistenz gegen Leistung und Skalierbarkeit aus.

Dies ist in Ordnung, wenn Sie einen Dienst ausführen, der nicht übereinstimmende Daten oder veraltete Daten toleriert oder der ab und zu mit geringfügigen Datenverlusten einverstanden ist. Wenn diese Probleme selten auftreten, Sie aber fast immer eine hervorragende Leistung erzielen, ist dies sehr attraktiv. Und was noch wichtiger ist, es lässt sich gut demonstrieren.

Aber wenn Sie einen Dienst mit strengen Anforderungen an die Datenintegrität betreiben müssen, ist das nicht gut. Wenn der Verlust auch nur eines Datensatzes Sie in Schwierigkeiten mit Prüfern bringt oder wenn Sie Daten, die Sie kurz zuvor festgeschrieben haben, nicht zuverlässig lesen können, weil diese Übergabe Zeit braucht, um sie an alle Knoten Ihres Clusters weiterzugeben, könnte dies ein Deal-Breaker sein .

Welcher Datenspeicher zu wählen ist, hängt also von den Anforderungen Ihrer App ab. Nur Sie können beurteilen, ob die entspannte Verfügbarkeit und Konsistenz eines BASE-Datenspeichers für die Anforderungen Ihrer App ausreicht.