MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

NoSQL vs. SQL, wenn Skalierbarkeit keine Rolle spielt

Es gibt viele andere Bedingungen, von denen ich mit nicht-relationalen Systemen im Vergleich zu relationalen Systemen gehört habe. Ich bevorzuge diese Terminologie gegenüber sql/no-sql, da ich persönlich denke, dass sie die Unterschiede besser beschreibt, und einige der "no-sql"-Server haben sql-Add-ons, also wie auch immer .... welche Art von Parallelitätsmuster oder Transaktionsisolation ist in Ihrem System erforderlich. Einer der angeblichen Unterschiede zwischen rel- und non-rel-dbs ist „konsistent-immer“, „konsistent-meistens“ oder „konsistent-eventuell“. Beziehungs-DBs fallen standardmäßig in die Kategorie „meistens konsistent“ und mit etwas Arbeit und einer ganzen Menge Locking- und Race-Conditions;) können sie „immer konsistent“ sein, sodass jeder immer auf die korrekteste Darstellung von a schaut gegebenes Stück Daten. Das meiste, was ich über nicht-relative DBs gelesen/gehört habe, ist, dass sie hauptsächlich "konsistent-eventuell" sind. Dies bedeutet, dass möglicherweise viele Instanzen unserer Daten im Umlauf sind, sodass Benutzer "A" möglicherweise sieht, dass wir 92 Widgets im Inventar haben, während Benutzer "B" möglicherweise 79 sieht und möglicherweise nicht abgeglichen wird, bis jemand tatsächlich geht Sachen aus dem Lager zu holen. Ein weiteres Problem ist die Veränderlichkeit von Daten, wie oft müssen sie aktualisiert werden? Die speziellen nicht-relativen Datenbanken, denen ich ausgesetzt war, haben mehr Overhead für Updates, einige von ihnen müssen den gesamten Datensatz regenerieren, um alle Updates zu integrieren.

Nun gut, ich denke, non-rel/nosql sind großartige Tools, wenn sie wirklich zu Ihrem Anwendungsfall passen. Ich habe mehrere, die ich mir jetzt für Projekte anschaue, die ich habe. Aber Sie müssen alle Kompromisse berücksichtigen, wenn Sie die Entscheidung treffen, sonst wird es nur zu einer eher lebenslaufgesteuerten Entwicklung.