Überblick über NoSQL-Datenbanken

Inhaltsverzeichnis:

Überblick über NoSQL-Datenbanken
Überblick über NoSQL-Datenbanken
Anonim

Das Akronym NoSQL wurde 1998 geprägt. Viele Leute denken, dass NoSQL ein abwertender Begriff ist, der geschaffen wurde, um SQL anzugreifen. In Wirklichkeit bedeutet der Begriff nicht nur SQL. Die Idee ist, dass beide Technologien koexistieren können und jede ihren Platz hat. Die NoSQL-Bewegung war in den letzten Jahren in den Nachrichten, da viele der Web 2.0-Führer eine NoSQL-Technologie eingeführt haben. Unternehmen wie Facebook, Twitter, Digg, Amazon, LinkedIn und Google verwenden alle NoSQL auf die eine oder andere Weise. Lassen Sie uns NoSQL aufschlüsseln, damit Sie es Ihrem CIO oder sogar Ihren Kollegen erklären können.

Image
Image

NoSQL entstand aus einer Notwendigkeit

Datenspeicherung: Die weltweit gespeicherten digitalen Daten werden in Exabyte gemessen. Ein Exabyte entspricht einer Milliarde Gigabyte (GB) an Daten. Laut Internet.com betrug die Menge der gespeicherten Daten, die 2006 hinzugefügt wurden, 161 Exabyte. Nur 4 Jahre später, im Jahr 2010, wird die gespeicherte Datenmenge fast 1.000 ExaBytes betragen, was einer Steigerung von über 500 % entspricht. Mit anderen Worten, es werden viele Daten auf der Welt gespeichert und sie werden einfach weiter wachsen.

Vernetzte Daten: Daten werden immer stärker vernetzt. Die Erstellung des Webs wird durch Hyperlinks gefördert, Blogs haben Pingbacks und jedes größere soziale Netzwerksystem hat Tags, die Dinge miteinander verbinden. Große Systeme sind so gebaut, dass sie miteinander verbunden werden können.

Komplexe Datenstruktur: NoSQL kann problemlos mit hierarchisch verschachtelten Datenstrukturen umgehen. Um dasselbe in SQL zu erreichen, bräuchten Sie mehrere relationale Tabellen mit allen Arten von Schlüsseln. Darüber hinaus besteht ein Zusammenhang zwischen Leistung und Datenkomplexität. Die Leistung eines herkömmlichen RDBMS kann sich verschlechtern, da wir die enormen Datenmengen speichern, die in Anwendungen für soziale Netzwerke und im semantischen Web erforderlich sind.

Was ist NoSQL?

Ich denke, eine Möglichkeit, NoSQL zu definieren, besteht darin, zu überlegen, was es nicht ist. Es ist nicht SQL und es ist nicht relational. Wie der Name schon sagt, ist es kein Ersatz für ein RDBMS, sondern ergänzt es. NoSQL wurde für verteilte Datenspeicher für sehr große Datenanforderungen entwickelt. Denken Sie an Facebook mit seinen 500.000.000 Nutzern oder an Twitter, das jeden Tag Terabit an Daten ansammelt.

In einer NoSQL-Datenbank gibt es kein festes Schema und keine Joins. Ein RDBMS „skaliert“, indem es immer schnellere Hardware erhält und Speicher hinzufügt. NoSQL hingegen kann die Vorteile des „Scale Out“nutzen. Scale-out bezieht sich auf die Verteilung der Last auf viele Commodity-Systeme. Dies ist die Komponente von NoSQL, die es zu einer kostengünstigen Lösung für große Datensätze macht.

NoSQL-Kategorien

Die aktuelle NoSQL-Welt lässt sich in 4 grundlegende Kategorien einteilen.

  1. Key-values Stores basieren hauptsächlich auf Dynamo Paper von Amazon, das 2007 geschrieben wurde. Die Hauptidee ist die Existenz einer Hash-Tabelle, in der es einen eindeutigen Schlüssel und einen Zeiger auf ein bestimmtes Datenelement gibt. Diese Zuordnungen werden normalerweise von Cache-Mechanismen begleitet, um die Leistung zu maximieren.
  2. Column Family Stores wurden erstellt, um sehr große Datenmengen zu speichern und zu verarbeiten, die über viele Maschinen verteilt sind. Es gibt immer noch Schlüssel, aber sie zeigen auf mehrere Sp alten. Im Fall von BigTable (Googles Column Family NoSQL-Modell) werden Zeilen durch einen Zeilenschlüssel identifiziert, wobei die Daten nach diesem Schlüssel sortiert und gespeichert werden. Die Sp alten sind nach Sp altenfamilie angeordnet.

  3. Dokumentendatenbanken wurden von Lotus Notes inspiriert und ähneln Schlüsselwertspeichern. Das Modell besteht im Grunde aus versionierten Dokumenten, die Sammlungen anderer Schlüsselwertsammlungen sind. Die halbstrukturierten Dokumente werden in Formaten wie JSON gespeichert.
  4. Graph Databases werden mit Knoten, Beziehungen zwischen Notizen und den Eigenschaften von Knoten aufgebaut. Anstelle von Zeilen- und Sp altentabellen und der starren Struktur von SQL wird ein flexibles Diagrammmodell verwendet, das über viele Maschinen hinweg skaliert werden kann.

Große NoSQL-Spieler

Die Hauptakteure von NoSQL sind in erster Linie aufgrund der Organisationen entstanden, die sie übernommen haben. Zu den größten NoSQL-Technologien gehören:

  • Dynamo: Dynamo wurde von Amazon.com entwickelt und ist die bekannteste Schlüsselwert-NoSQL-Datenbank. Amazon benötigte eine hochskalierbare verteilte Plattform für seine E-Commerce-Geschäfte und entwickelte Dynamo. Amazon S3 verwendet Dynamo als Speichermechanismus.
  • Cassandra: Cassandra wurde von Facebook als Open Source bereitgestellt und ist eine sp altenorientierte NoSQL-Datenbank.
  • BigTable: BigTable ist Googles eigene sp altenorientierte Datenbank. Google gestattet die Verwendung von BigTable, jedoch nur für die Google App Engine.
  • SimpleDB: SimpleDB ist eine weitere Amazon-Datenbank. Wird für Amazon EC2 und S3 verwendet und ist Teil von Amazon Web Services, die je nach Nutzung Gebühren erheben.
  • CouchDB: CouchDB und MongoDB sind dokumentenorientierte Open-Source-NoSQL-Datenbanken.
  • Neo4J: Neo4j ist eine Open-Source-Grafikdatenbank.

NoSQL-Abfrage

Die Frage, wie man eine NoSQL-Datenbank abfragt, interessiert die meisten Entwickler. Schließlich nützen Daten, die in einer riesigen Datenbank gespeichert sind, niemandem etwas, wenn man sie nicht abrufen und Endbenutzern zeigen kann oder Webservices. NoSQL-Datenbanken bieten keine deklarative Abfragesprache auf hoher Ebene wie SQL. Stattdessen lautet die Abfrage dieser Datenbanken> PREFIX foaf:

SELECT ?url

FROM

WHERE {

?contributor foaf:name "Jon Foobar".

?contributor foaf:weblog ?url.

}

Zukunft von NoSQL

Organisationen mit massivem Bedarf an Datenspeicherung beschäftigen sich ernsthaft mit NoSQL. Anscheinend findet das Konzept in kleineren Organisationen nicht so viel Anklang. In einer von Information Week durchgeführten Umfrage haben 44 % der IT-Experten in Unternehmen noch nie von NoSQL gehört. Darüber hinaus gaben nur 1 % der Befragten an, dass NoSQL Teil ihrer strategischen Ausrichtung ist. NoSQL hat eindeutig seinen Platz in unserer vernetzten Welt, muss sich aber weiterentwickeln, um die Massenattraktivität zu erreichen, die viele für möglich h alten.

Empfohlen: