NoSql vs Relationale Datenbank
Kürzlich NoSQL hat immense Popularität gewonnen.
Was sind die Vorteile von NoSQL über traditionelle RDBMS?
InformationsquelleAutor der Frage user496949 | 2010-11-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht alle Daten relational ist. Für diejenigen Situationen, NoSQL, können hilfreich sein.
Mit dieser sagte, NoSQL steht für "not only SQL". Es ist nicht beabsichtigt, zu klopfen SQL oder verdrängen es.
SQL hat einige sehr große Vorteile:
Diejenigen, die noch nicht Weg.
Es ist ein Irrtum zu denken, dies als eine entweder-oder-argument. NoSQL ist eine alternative, die die Menschen brauchen, zu berücksichtigen, wenn es passt, das ist alles.
Dokumente gespeichert werden können in nicht-relationale Datenbanken, wie CouchDB.
Vielleicht liest diese helfen.
InformationsquelleAutor der Antwort duffymo
Die Geschichte scheint wie folgt Aussehen:
Google braucht eine Speicherschicht für Ihre invertierten index durchsuchen. Sie finden ein traditionelles RDBMS ist nicht zu schneiden. So implementieren Sie eine NoSQL-datenspeicher BigTable auf Ihre GFS-Dateisystem. Der große Teil ist, dass Tausende von günstige commodity-hardware-Maschinen bietet die Geschwindigkeit und die Redundanz.
Jeder andere erkennt, was Google gerade getan haben.
Brauer CAP-theorem erwiesen ist. Alle RDBMS-Systeme von nutzen sind CA-Systeme. Die Menschen beginnen das Spiel mit CP-und AP-Systeme. K/V-stores sind erheblich einfacher, so dass Sie die primäre Vehikel für die Forschung.
Software-as-a-service-Systemen in der Regel nicht bieten eine SQL-like store. Also, die Menschen bekommen mehr daran interessiert, in der NoSQL-Typ speichert.
Ich glaube, viel von dem take-off werden kann, mit Bezug zu dieser Geschichte. Skalierung Google nahm ein paar neue Ideen bei Google und alle anderen folgt Anzug, denn dies ist die einzige Lösung, die Sie wissen, um die Skalierung problem jetzt. Also, sind Sie bereit zu überarbeiten, alles rund um die verteilte Datenbank-Idee von Google, weil es ist der einzige Weg, um Skalierung über einer bestimmten Größe.
C - Konsistenz
Eine Verfügbarkeit
P - Partition tolerance
K/V - Schlüssel/Wert -
InformationsquelleAutor der Antwort I GIVE CRAP ANSWERS
NoSQL ist besser als bei RDBMS, weil der folgenden Gründe/properities von NoSQL -
EDIT:
Beantworten "warum RDBMS nicht skalieren", werfen Sie bitte einen Blick auf RDBMS Gemeinkosten pdf geschrieben von Stavros Harizopoulos,Daniel J. Abadi,Samuel Madden und Michael Stonebraker
RDBMS haben Herausforderungen im Umgang mit riesigen Datenmengen in Terabyte & Peta-bytes. Auch wenn Sie Redundant Array of Independent/Inexpensive Disks (RAID) & Daten Schreddern, wird es nicht skaliert nicht gut für große Datenmengen. Sie erfordern sehr teure hardware.
Protokollierung: Montage-log-Einträge und verfolgen Sie alle änderungen in der Datenbank-Strukturen verlangsamt die Leistung. Die Protokollierung kann nicht notwendig sein, wenn die Verwertbarkeit nicht erforderlich oder wenn die Werthaltigkeit wird durch andere Mittel (z.B. andere Websites im Netzwerk).
Sperren: Traditionelle zwei-Phasen-sperren stellt einen erheblichen overhead, da alle Zugriffe auf die Datenbank-Strukturen sind geregelt durch eine separate Einheit, der Sperren-Manager.
Latching: In einer multi-threaded-Datenbank, viele Datenstrukturen werden müssen eingerastet werden, bevor Sie zugegriffen werden kann. Entfernen dieses feature aus, und geht zu einem single-threaded-Ansatz hat eine spürbare Auswirkung auf die Leistung.
Puffer-management: Eine Hauptspeicher-Datenbank-system muss nicht auf Seiten zugreifen, die über einen Puffer-pool, wodurch eine Ebene der Dereferenzierung auf jeden Datensatz zugreifen.
Dies bedeutet nicht, dass wir haben die Verwendung von NoSQL gegenüber SQL.
Noch, RDBMS ist besser als NoSQL für den folgenden Gründen/Eigenschaften der RDBMS
Wir haben die Verwendung von RDBMS (SQL) und NoSQL (not only SQL) je nach business case & Anforderungen
InformationsquelleAutor der Antwort Ravindra babu
NOSQL hat keine besonderen Vorteile gegenüber dem relationalen Datenbank-Modell. NOSQL hat bestimmte Einschränkungen der aktuellen SQL-DBMS, aber es bedeutet nicht, alle grundsätzlich neuen Funktionen gegenüber der vorherigen Daten-Modelle.
NOSQL bedeutet nur keine SQL (oder "not only SQL"), aber das bedeutet nicht das gleiche wie keine relationalen. Eine relationale Datenbank ist im Prinzip wäre eine sehr gute NOSQL-Lösung - es ist nur, dass keines der aktuellen NOSQL-Produkte verwendet das relationale Modell.
InformationsquelleAutor der Antwort sqlvogel
Wenn Sie brauchen, um zu verarbeiten enorme Datenmengen mit hoher performance
ODER
Wenn Daten Modell nicht vorgegeben
dann
NoSQL-Datenbank ist die bessere Wahl.
InformationsquelleAutor der Antwort Chris
RDBMS mehr Fokus auf die Beziehung und NoSQL Fokus mehr auf die Lagerung.
Kann man sich überlegen NoSQLwenn Ihr RDBMS erreicht Engpässe. NoSQL macht RDBMS flexibler.
InformationsquelleAutor der Antwort suiwenfeng
Der größte Vorteil von NoSQL-über RDBMS ist die Skalierbarkeit. NoSQL-Datenbanken können problemlos scale-out-zu viele Knoten, aber für RDBMS ist es sehr schwer. Skalierbarkeit bietet Ihnen nicht nur mehr Stauraum, sondern auch eine deutlich bessere performance, da viele hosts gleichzeitig arbeiten.
InformationsquelleAutor der Antwort Jonathan Yue
Aus mongodb.com:
NoSQL-Datenbanken unterscheiden sich von den älteren, die mit der relationalen Technologie in vier wesentliche Bereiche:
Daten Modelle: Eine NoSQL-Datenbank können Sie eine Anwendung erstellen, ohne zu definieren, zuerst das schema im Gegensatz zu relationalen Datenbanken, die Sie definieren das schema, bevor Sie hinzufügen können alle Daten auf dem system. Keine vordefinierten schema macht NoSQL-Datenbanken viel einfacher zu aktualisieren, wie Sie Ihre Daten und Anforderungen ändern sich.
Datenstruktur: Relationale Datenbanken wurden gebaut in einer Zeit, wo Daten relativ strukturiert und klar definiert durch Ihre Beziehungen. NoSQL-Datenbanken sind entworfen, um unstrukturierte Daten (z.B. Texte, social media-posts, video -, E-Mail) das macht viel von den Daten, die heute existiert.
Skalierung: Es ist viel billiger zu skalieren, eine NoSQL-Datenbank als relationale Datenbank, weil Sie hinzufügen können, die Kapazität, indem die Skalierung über Billig -, commodity-Servern. Relationale Datenbanken, die auf der anderen Seite, erfordern einen einzigen server zu hosten Ihre gesamte Datenbank. Zu skalieren, müssen Sie kaufen einen größeren, teureren server.
Entwicklung Modell: NoSQL-Datenbanken sind open-source in der Erwägung, dass relationale Datenbanken in der Regel sind closed-source-Lizenz-Gebühren gebacken in die Nutzung Ihrer software. Mit NoSQL, können Sie starten Sie ein Projekt ohne hohe Investitionen in software, die Gebühren im Voraus.
InformationsquelleAutor der Antwort deadpool