Schwächen bei verschiedenen Arten von NoSQL-Datenbanken

10

Hier ist meine Frage: Was sind die Schwächen bei verschiedenen Arten von NoSQL-Datenbanken? Was sind insbesondere die Schwächen von Schlüsselwertspeichern, Diagrammdatenspeichern und Dokumentenspeichern?

Es fiel mir leicht, Stärken zu finden, aber Dokumente zu Schwächen scheinen knapper zu sein.

Bearbeiten: Im Vergleich zueinander und zu relationalen Datenbanken.

Aedilum
quelle

Antworten:

7

Die größte Stärke / Schwäche eines verteilten Datenspeichers ergibt sich aus dem CAP-Theorem. Unter http://blog.nahurst.com/visual-guide-to-nosql-systems finden Sie eine kurze Übersicht darüber, was dies in der Praxis für eine große Anzahl von NoSQL-Systemen bedeutet, die es gibt.

Übrigens
quelle
1
Beachten Sie, dass dies kein besonderer Nachteil von NOSQL ist. Der CAP-Satz gilt gleichermaßen für jeden verteilten Datenspeicher: SQL, NOSQL, relational oder nicht relational.
Nvogel
6

Wenn Sie sie mit relationalen Datenbanken vergleichen, besteht die offensichtliche Schwäche darin, dass Schlüsselwertspeicher nicht relational sind. Folglich kann es schwieriger sein, Berichte mit Schlüsselwertspeichern zu schreiben als mit einer relationalen Datenbank, für die solche Berichte und die Datenextraktion speziell entwickelt wurden.

Robert Harvey
quelle
Okay, was ist mit den anderen beiden? Soweit ich das beurteilen kann, dreht sich in Grafikdatenbanken zum Beispiel alles um die Beziehungen.
Aedilum
1
@Aedilum: Meine Erfahrung besteht hauptsächlich aus relationalen Datenbanken, aber ich vermute, dass Schlüsselwertspeicher, Diagrammdatenspeicher und Dokumentenspeicher bestimmte Probleme lösen. Im Allgemeinen wird jeder in der Problemdomäne, für die er speziell entwickelt wurde, stark und in den anderen Domänen schwächer sein.
Robert Harvey
2

Dies ist sehr subjektiv, was Sie für eine Schwäche halten, könnte jemand anderes für seine größte Stärke halten.

Alle derzeit beliebten NoSQL-Datenbanken befassen sich mit Problemen, bei denen vorhandene RDBMS-Systeme schwach waren, und sie sind normalerweise hochspezialisiert auf ein bestimmtes Problem, das der Urheber hatte und zu lösen versuchte.

Die Schwachstellen eines Produkts sind daher die Unfähigkeit, zeit- oder raumeffizient das zu tun, was Sie benötigen.


quelle
Eines der Dinge, die ich über NoSQL gelernt habe, ist, dass sie alle dazu gemacht sind, Probleme zu lösen, die RDBMS nur schwer bewältigen kann, wie z. B. massive Operationen in kurzen Zeiträumen oder komplexe Beziehungen.
Aedilum
1

Zunächst möchte ich feststellen, dass ich NoSQL-Datenbanken liebe und gerade dabei bin, unsere SQL-basierten Datenbanken und Anwendungen dort zu verwerfen, wo es Sinn macht. Dieser Prozess hat eine große Schwäche ans Licht gebracht - die operative Geschichte ist einfach noch nicht da. Was ich damit meine ist:

  • NoSQL ist immer noch ein sich schnell bewegendes Ziel. Sie müssen ziemlich genau damit vertraut sein, um zu wissen, was sich zwischen den Versionen geändert hat. Aus betrieblicher Sicht führt dies zu einigen Schwierigkeiten - Systemadministratoren werden verwendet, um Dinge mit Best Practices angemessen zu dokumentieren. Wenn Best Practices nicht definiert wurden, wird es für sie etwas beängstigend.
  • Sehr, sehr wenige Leute da draußen sind damit vertraut, sie außerhalb der Entwicklergemeinschaft zu betreiben. Dies macht es zu einer Herausforderung, wenn Sie das Produkt an den Betrieb übergeben und damit fertig werden möchten.
  • Die besseren Ops-Typen sind in der Regel in der Lage, mit leichtem SQL umzugehen und es zumindest zu erkennen. Json oder was auch immer Ihr NOSQL spricht, ist eine Art Lernkurve.
  • Reputation ist eine knifflige Sache - Datenverlust ist für die Einsatztypen sehr beängstigend. Sie glauben, dass SQL-Datenbanken den nuklearen Holocaust überleben werden. NoSQL wird dort ein Verkaufsjob sein.

Eine andere schwierige Sache ist manchmal die Berichterstellung - viele Userland-Tools können sich direkt in SQL-Datenbanken einbinden. NoSQL erfordert immer noch einen Entwickler, der diese Brücke überquert.

Wyatt Barnett
quelle
Fazit: Es gibt keine wirklichen Schwächen auf der ganzen Linie, die nicht mit der Kindheit von NoSQL-Produkten zusammenhängen?
Aedilum
@Aedilum: Diese Kindheit ist eine ziemlich große Einschränkung.
Robert Harvey
@ Robert Harvey: Genau, die Kindheit bringt viele Probleme mit sich. @Aedilum: Als Genre gibt es keine schreckliche Schwäche, wenn Sie davon ausgehen, dass Sie mit Ihrer NoSQL-Datenbank sinnvolle Dinge tun, und Sie haben die nötigen Voraussetzungen, um diese zu verwalten, einschließlich der Einführung Ihrer eigenen Lösung im Dunkeln der Nacht, wenn die Produktion ausfällt weil es kein Handbuch und keinen bezahlten Support gibt. Sinn ergeben?
Wyatt Barnett