Heim >häufiges Problem >Was ist NoSQL?
Was ist nosql
1. Einführung in nosql
NoSQL bezieht sich auf eine nicht relationale Datenbank. NoSQL wird manchmal als Abkürzung für Not Only SQL bezeichnet, was ein allgemeiner Begriff für Datenbankverwaltungssysteme ist, die sich von herkömmlichen relationalen Datenbanken unterscheiden. NoSQL wird für die Speicherung sehr großer Datenmengen verwendet. Diese Arten von Datenspeichern erfordern kein festes Schema und können ohne redundante Vorgänge skaliert werden.
2. Der Unterschied zwischen Nosql und relationalen Datenbanken
1. Speichermethode
Beziehung Eine Datenbank ist tabellarisch, das heißt, sie wird in Tabellenzeilen und -spalten gespeichert. Sie lassen sich leicht mit kollaborativem Speicher verknüpfen, der häufig in Datensätzen wie Dokumenten, Schlüssel-Wert-Paaren oder Diagrammstrukturen gespeichert wird.
2. Speicherstruktur
Datentabellen haben vordefinierte Strukturen (Spaltendefinitionen) und die Struktur beschreibt die Datenform Inhalt. Dies ist für die Datenmodellierung von entscheidender Bedeutung. Obwohl vordefinierte Strukturen Zuverlässigkeit und Stabilität bringen, ist die Änderung dieser Daten schwierig. Die Nosql-Datenbank basiert auf einer dynamischen Struktur und verwendet unstrukturierte Daten. Da es sich bei der Nosql-Datenbank um eine dynamische Struktur handelt, kann sie problemlos an Änderungen im Datentyp und in der Struktur angepasst werden.
3. Speicherspezifikationen
Für eine höhere Standardisierung wird die Datenspeicherung in relationalen Datenbanken in kleinste relationale Tabellen unterteilt, um Duplikate zu vermeiden und eine optimierte Speicherplatznutzung zu erreichen. Obwohl die Verwaltung sehr klar ist, wird die Datenverwaltung etwas mühsam, wenn eine einzelne Operation auf mehrere Tabellen ausgelegt ist. Nosql-Daten werden in flachen Datensätzen gespeichert und Daten können häufig wiederholt werden. Einzelne Datenbanken werden selten getrennt, sondern als Ganzes gespeichert, wodurch die gesamten Daten einfacher zu lesen und zu schreiben sind.
4. Speichererweiterung
Dies ist möglicherweise der größte Unterschied zwischen den beiden vertikalen Skalierungen, was bedeutet, dass Sie die Verarbeitungskapazitäten verbessern möchten Einen schnelleren Computer verwenden. Da die Daten in relationalen Tabellen gespeichert werden, kann der Leistungsengpass des Vorgangs mehrere Tabellen betreffen und muss durch eine Verbesserung der Computerleistung überwunden werden. Obwohl es viel Raum für Expansion gibt, wird die Obergrenze der vertikalen Expansion irgendwann erreicht sein. Die Nosql-Datenbank ist horizontal skalierbar und ihr Speicher ist auf natürliche Weise verteilt. Die Last kann geteilt werden, indem dem Ressourcenpool weitere gewöhnliche Datenbankserver hinzugefügt werden.
5. Abfragemethode
Relationale Datenbank betreibt die Datenbank über eine strukturierte Abfragesprache (die wir normalerweise SQL nennen). SQL unterstützt Datenbank-CURD-Operationen, die sehr leistungsfähig sind und in der Branche zum Standard gehören. Nosql-Abfragen verarbeiten Daten in Blöcken und verwenden eine unstrukturierte Abfragesprache (UnQl), für die es keinen Standard gibt. Das Konzept des Primärschlüssels in einer relationalen Datenbanktabelle entspricht der ID eines in Nosql gespeicherten Dokuments. Relationale Datenbanken nutzen vordefinierte Optimierungsmethoden (z. B. Indizes), um Abfragevorgänge zu beschleunigen, während NoSQL über einen einfacheren und präziseren Datenzugriffsmodus verfügt.
6. Transaktionen
Relationale Datenbank folgt ACID-Regeln (Atomizität, Konsistenz, grundsätzlich verfügbare, weiche/flexible Transaktionen (Soft-State), eventuelle Konsistenz (Eventuelle Konsistenz) ) Aufgrund der starken Konsistenz der Daten in relationalen Datenbanken unterstützen relationale Datenbanken eine detaillierte Kontrolle der Transaktionsatomizität und sind leicht wiederherzustellen. Die Nosql-Datenbank wählt zwei der CAPs (Konsistenz, Verfügbarkeit, Partitionstoleranz). Es ist schwierig, sie alle in einem knotenbasierten verteilten System zu erfüllen, daher ist die Unterstützung für Transaktionen nicht sehr gut. Transaktionen können zwar verwendet werden, sind aber nicht der Glanzpunkt von Nosql
7. Leistung
Relationale Datenbanken zahlen einen hohen Preis für die Aufrechterhaltung der Datenkonsistenz, Lesen und Schreiben
Das Format der Nosql-Speicherung ist entscheidend. Werttyp, und er wird im Speicher gespeichert, was sehr einfach zu speichern ist
Und Nosql stellt geringe Anforderungen an die Datenkonsistenz, was die Lese- und Schreibleistung verbessert >
8. AutorisierungsmethodeRelationale Datenbanken umfassen normalerweise SQL Server, MySQL und Oracle, die Kosten sind relativ hoch und Nosql-Datenbanken sind normalerweise Open Source >
3. Warum NoSQL verwenden?Heute können wir über Plattformen von Drittanbietern (wie Google, Facebook usw.) problemlos auf die persönlichen Daten zugreifen und diese erfassen , soziale Netzwerke, geografische Standorte, benutzergenerierte Daten und Benutzerbetriebsprotokolle haben exponentiell zugenommen. Wenn wir diese Benutzerdaten abbauen möchten, sind SQL-Datenbanken für diese Anwendungen nicht mehr geeignet, aber die Entwicklung von NoSQL-Datenbanken kann diese großen Datenmengen verarbeiten na ja .
Das obige ist der detaillierte Inhalt vonWas ist NoSQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!