10 NoSQL Missverständnisse

10 NoSQL Missverständnisse - Dummies

NoSQL ist ein sich schnell entwickelnder Markt mit ständig wechselnden Produkten. So viele NoSQL-Datenbanken verfügbar zu haben, ist ein zweischneidiges Schwert. Mit so vielen Unterschieden da draußen bilden sich verbreitete Missverständnisse und werden zu Überlieferungen.

NoSQL ist ein einziger Typ von Datenbank

NoSQL ist ein Sammelbegriff für eine Vielzahl von Datenbanktypen, die gemeinsame Architekturansätze aufweisen. Diese Datenbanken sind nicht für verwandte Tabellen-, Zeilen- und Spaltendaten vorgesehen. Sie sind hochverteilt, dh die Daten verteilen sich auf mehrere Server und sind tolerant gegenüber Änderungen der Datenstruktur (dh sie sind schema- agnostisch).

Unter dem NoSQL-Banner finden Sie verschiedene Arten von Datenbanken:

  • Schlüsselwertspeicher ermöglichen die einfache und schnelle Speicherung einfacher Daten mithilfe eines Schlüssels.

  • Spaltenspeicher bieten Unterstützung für sehr umfangreiche Tabellen, jedoch nicht für Beziehungen zwischen Tabellen.

  • Dokumentenspeicher unterstützen JSON- und / oder XML-hierarchische Strukturen.

  • Triple (und Graph) -Speicher bieten die gleiche Flexibilität für Beziehungen, die NoSQL-Datenbanken für die Aufzeichnung von Strukturen dokumentieren.

NoSQL-Datenbanken sind nicht ACID-konform

Die ACID-Konformität ist der Goldstandard der Datensicherheit. Indem sichergestellt wird, dass die Operationen atomar sind, sind die Ansichten der Daten konsistent, die Operationen stören sich nicht gegenseitig, und die Daten werden dauerhaft auf der Festplatte gespeichert, Sie schützen Ihre Daten. Die Leute denken oft, dass NoSQL-Datenbanken keine ACID-Konformität bieten.

Viele NoSQL-Datenbanken bieten volle ACID-Unterstützung über Cluster hinweg. MarkLogic Server, OrientDB, Aerospike und Hypertable sind vollständig ACID-konform und bieten entweder vollständig serialisierbare oder Read-Commit ACID-Konformität.

Viele andere NoSQL-Datenbanken können ACID-ähnliche Konsistenz bieten, indem sinnvolle Einstellungen im Client-Code verwendet werden. Dies beinhaltet normalerweise eine Einstellung Quorum oder Alle für Lese- und Schreibvorgänge. Diese Datenbanken enthalten Riak, MongoDB und Microsoft DocumentDB.

NoSQL-Datenbanken verlieren Daten

Dieses Missverständnis tritt auf, wenn NoSQL-Datenbanken falsch verwendet werden oder wenn weniger ausgereifte Produkte verwendet werden. Einige NoSQL-Produkte sind weniger ausgereift, da sie erst seit weniger als fünf Jahren verfügbar sind, weshalb sie noch keine Funktionen zur Verhinderung von Datenverlust entwickelt haben.

Die Garantie für die Dauerhaftigkeit der ACID-Konformität ist für Unternehmenssysteme unerlässlich, und ACID-konforme NoSQL-Datenbanken bieten diese Garantie. Daher können Sie sicher sein, dass keine Daten verloren gehen, sobald die Datenbank bestätigt, dass die Daten gespeichert wurden.

Darüber hinaus können schließlich konsistente Datenbanken auch Datenhaltbarkeit durch sorgfältige Verwendung einer Write Ahead-Protokollierung (WAL) bereitstellen.Viele NoSQL-Datenbanken bieten diese Möglichkeit.

NoSQL-Datenbanken sind nicht für unternehmenskritische Unternehmensanwendungen bereit

Im Gegenteil, viele Organisationen verwenden NoSQL-Datenbanken für unternehmenskritische Arbeitslasten, einschließlich der folgenden:

  • Verteidigungs- und Nachrichtendienste speichern und teilen Informationen < Medienunternehmen, die ihre digitalen Assets zur Veröffentlichung und zum Kauf in NoSQL-Datenbanken speichern

  • Medienunternehmen, die durchsuchbare Metadatenkataloge für ihre Video- und Audiomedien bereitstellen

  • Banken, die NoSQL-Datenbanken als primäres Geschäft nutzen -Bewertungssysteme

  • Regierungsbehörden, die NoSQL-Datenbanken als primäre Back-Ends für ihre Gesundheitssysteme verwenden

  • Dies sind keine kleinen Systeme oder einfache Caches für relationale Systeme. Dies sind Fälle, für die NoSQL gut geeignet ist. Natürlich sind einige NoSQL-Datenbanken für Unternehmenssysteme besser geeignet als andere.

NoSQL-Datenbanken sind nicht sicher

Nicht so! Viele NoSQL-Datenbanken bieten jetzt Sicherheit auf Datensatzebene und sogar auf Datensatzebene (Zellen). Microsoft DocumentDB, MarkLogic Server, OrientDB, AllegroGraph und Accumulo bieten eine differenzierte rollenbasierte Zugriffssteuerung (RBAC) für den Zugriff auf Datensätze, die in diesen NoSQL-Datenbanken gespeichert sind.

Viele NoSQL-Datenbanken ermöglichen die Integration in bestehende LDAP-Systeme (Lightweight Directory Access Protocol), Kerberos und zertifikatsbasierte Sicherheitssysteme. Unterstützung für die Verschlüsselung über den Draht in allen Client-zu-Server-Kommunikationen und für die Kommunikation zwischen Knoten in einem Cluster wird ebenfalls von diesen Datenbanken bereitgestellt.

Einige NoSQL-Datenbanken sind sogar akkreditiert und werden von Verteidigungsorganisationen verwendet. Accumulo stammte aus einem Projekt der National Security Agency (NSA). MarkLogic Server ist unabhängig gemäß der Common Criteria-Zertifizierung des US-Verteidigungsministeriums (DoD) akkreditiert.

Nicht alle NoSQL-Datenbanken bieten diese Funktionalität, obwohl die Mehrheit davon wahrscheinlich in der Zukunft besteht. Im Moment haben Sie Auswahlmöglichkeiten, mit denen Sie Informationen sichern können.

Alle NoSQL-Datenbanken sind Open Source

Es gibt zahlreiche Open-Source-Datenbanken in der NoSQL-Welt. Viele kommerzielle Unternehmen haben versucht, den Erfolg von Red Hat zu replizieren, indem sie einen Teil der Fähigkeiten ihrer Produkte anbieten, um unter einer Open-Source-Lizenz kostenlos genutzt zu werden.

Viele Plattformen dieser Unternehmen unterstützen jedoch keine offenen Standards. Außerdem wird der Großteil des Codes von diesen Unternehmen beigesteuert. Begrenzte Funktionen werden von diesen "Open-Source" -Unternehmen in der Basisversion bereitgestellt.

Es gibt viele voll kommerzielle Unternehmen im NoSQL-Raum. Microsoft, MarkLogic, Franz (Allegrograph), Hypertable und Aerospike sind großartige kommerzielle Unternehmen, die NoSQL-Datenbanken anbieten, und sie sind sehr erfolgreich dabei.

NoSQL-Datenbanken sind nur für Web 2 geeignet. 0 Anwendungen

Ihre Verwendung in neuen Web- und mobilen Anwendungsstacks hat NoSQL-Datenbanken populär gemacht. Sie sind von Anfang an einfach zu verwenden, und viele funktionieren unter einer Lizenzvereinbarung ohne Lizenz, was sie für Startups attraktiv macht.

Social-Media-Anwendungen verwenden üblicherweise NoSQL-Datenbanken. Social-Media-Anwendungen bringen veröffentlichte Daten im Internet zusammen und aggregieren sie, um wertvolle Informationen zu finden.

Die große Mehrheit der Anwendungsfälle sind jedoch keine Web 2.0-Anwendungen. Es sind dieselben Anwendungen, die es schon seit langem gibt, wo aber relationale Datenbanken keine adäquate Lösung mehr bieten. Dies schließt Szenarien ein, in denen die gespeicherten Daten sehr spärlich sind, mit vielen leeren Werten (null) oder wenn sich die Struktur der gespeicherten Informationen über die Zeit häufig ändert.

NoSQL ist nur Hype

Microsoft, Oracle und IBM haben jeweils ihre eigene NoSQL-Datenbank auf dem Markt. Obwohl sie anfällig für todesmutig sind, investieren diese Unternehmen nur dann in Technologie, wenn sie einen Gewinn sehen.

Etablierte Player wie MarkLogic, die schon seit Jahren auf dem Markt sind, haben bewiesen, dass die NoSQL-Technologie nicht nur ein Hype ist und für eine Reihe von Kunden aus der realen Welt in unternehmenskritischen Systemen nützlich ist.

NoSQL-Entwickler verstehen nicht, wie man ein RDBMS verwendet

Es gibt ein weit verbreitetes Missverständnis (von bösen relationalen Datenbankanwendungsentwicklern; Sie wissen, wer Sie sind!), Dass NoSQL verwendet wird, weil Entwickler kein Verständnis dafür haben. die Grundlagen, um relationale Datenbanken so zu konfigurieren, dass sie gut funktionieren.

Das ist völlig falsch. NoSQL umfasst eine Reihe von Ansätzen, die zusammengeführt werden, um grundlegend unterschiedliche Datenprobleme zu lösen, als ein relationales Datenbankverwaltungssystem (RDBMS) löst.

Wenn Sie ein RDBMS mit einer NoSQL-Datenbank vergleichen, vergleichen Sie Äpfel mit Motorrädern! NoSQL-Datenbanken werden RDBMS nicht ersetzen. Sie sind für Daten gedacht, die grundlegend anders strukturiert sind, sowie für unterschiedliche Datenprobleme.

Aktualisierte RDBMS-Technologie macht NoSQL

überflüssig Viele der hochgradig verteilten Ansätze von NoSQL werden mit RDBMS-Technologie gemischt, was zur Entstehung vieler NewSQL-Datenbanken geführt hat.

Obwohl NewSQL den Kritikpunkten der NoSQL-Entwickler an der RDBMS-Technologie Rechnung trägt, ist NewSQL um die gleichen Datenstrukturen wie ein RDBMS organisiert.

NoSQL-Datenbanken sind für unterschiedliche Datenprobleme mit unterschiedlichen Datenstrukturen und Anwendungsfällen vorgesehen.