Modul 162: Unterschied zwischen den Versionen

Aus TBZ_-_Wiki
Wechseln zu:Navigation, Suche
Zeile 1: Zeile 1:
 
== NoSQL Datenbanken ==
 
== NoSQL Datenbanken ==
  
::NoSQL ist eine nicht-relationale Datenbank und erlaubt daher andere Organisationsstrukturen als eine SQL-Datenbank (keine Spalten und Lücken) und mehr Flexibilität bei der Auswahl ::eines Formats, das am besten zu den Daten passt. Der Begriff "NoSQL" wurde erst in den frühen 2000er Jahren populär. Er bedeutet nicht, dass die Systeme keine SQL-Anweisungen ::verwenden, denn NoSQL-Datenbanken unterstützen gelegentlich auch einige In anderen Worten, "NoSQL" wird manchmal als "nicht nur SQL" definiert.
+
::NoSQL ist ein nicht-relationales Datenmodell und erlaubt Datenbanksystemen andere Organisationsstrukturen, als eine SQL-Datenbank (keine Spalten und Lücken) und mehr Flexibilität bei der Auswahl eines Formats, das am besten zu den Daten passt. Der Begriff "NoSQL" wurde erst in den frühen 2000er Jahren populär. Er bedeutet nicht, dass die Systeme keine SQL-Anweisungen verwenden, denn NoSQL-Datenbanken unterstützen gelegentlich auch einige In anderen Worten, "NoSQL" wird manchmal als "nicht nur SQL" definiert.
  
 
=== Zusammenfassung SQL Datenbanken ===
 
=== Zusammenfassung SQL Datenbanken ===
Zeile 26: Zeile 26:
 
==== Weitere ====
 
==== Weitere ====
  
* MongoDb (mongo abgeleitet vom engl. "humonhous", "gigantisch")
+
::* MongoDb (mongo abgeleitet vom engl. "humonhous", "gigantisch")
* Neo4j  
+
::* Neo4j  
* CouchDb
+
::* CouchDb
  
  
Zeile 36: Zeile 36:
  
 
::Dokumentenorientierte Datenbanken
 
::Dokumentenorientierte Datenbanken
 +
:::* Dokumente bilden die Grundeinheit zur Speicherung von Daten
 +
:::* Ein Dokument entspricht einer Zeile in einer Tabelle
 +
:::* Die Dokumente sind schemafrei und bekommen einen eindeutigen Identifikator zugewiesen
  
 
::Graphdatenbanken
 
::Graphdatenbanken
::* Generisch
+
:::* Fokus auf die Beziehung zwischen den Daten
::* RDF-Zentriert
+
:::* Speichert und bildet Graphen ab, mit gegeben Daten
 +
:::* Ein Graph besteht aus Knoten und Kanten (die Verbindung zwischen Knoten) [https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Netz.svg/1920px-Netz.svg.png Bildliche Darstellung]
 +
:::* Ermöglicht die Abfrage von komplexen Muster, die Ermittlung des kürzestens Weg zwischen Knoten
  
 
::Verteilte ACID-Datenbanken
 
::Verteilte ACID-Datenbanken

Version vom 29. Januar 2023, 19:50 Uhr

NoSQL Datenbanken

NoSQL ist ein nicht-relationales Datenmodell und erlaubt Datenbanksystemen andere Organisationsstrukturen, als eine SQL-Datenbank (keine Spalten und Lücken) und mehr Flexibilität bei der Auswahl eines Formats, das am besten zu den Daten passt. Der Begriff "NoSQL" wurde erst in den frühen 2000er Jahren populär. Er bedeutet nicht, dass die Systeme keine SQL-Anweisungen verwenden, denn NoSQL-Datenbanken unterstützen gelegentlich auch einige In anderen Worten, "NoSQL" wird manchmal als "nicht nur SQL" definiert.

Zusammenfassung SQL Datenbanken

SQL steht für "Structured Query Language" (strukturierte Abfragesprache) und ist die Programmiersprache, die seit den 1970er Jahren häufig für die Verwaltung von Daten in ::relationalen Datenbankmanagementsystemen (RDBMS) verwendet wird. Als Speicherplatz noch teuer war, konzentrierten sich SQL-Datenbanken auf die Reduzierung von Datenduplikaten. In ::relationalen Datenbanken, die Daten in Tabellen und Zeilen speichern, die auf verschiedene Weise miteinander verbunden sind, wird SQL immer noch häufig zur Abfrage dieser Datenbanken ::verwendet. Die Datensätze einer Tabelle können miteinander oder mit einer großen Anzahl anderer Tabellen verknüpft werden, oder die Datensätze vieler Tabellen können mit einer großen ::Anzahl von Tabellen in einer anderen Tabelle verknüpft werden. Diese relationalen Datenbanken können dank ihrer schnellen Datenspeicherung und -erstellung große Datenmengen und ::komplexe SQL-Abfragen bewältigen.
SQL-Datenbanken sind gut geeignet für die Verarbeitung von strukturierten Daten oder Daten, die Beziehungen zwischen ihren Variablen und Entitäten aufweisen.

NoSQL vs SQL Datenbanken

Im Gegensatz zu SQL können Sie bei NoSQL-Systemen mit unterschiedlichen Datenstrukturen innerhalb einer Datenbank arbeiten. Es ist weniger notwendig, Daten im Voraus zu planen und zu ::organisieren, und Änderungen sind einfacher, da sie ein dynamisches Schema für unstrukturierte Daten erlauben. NoSQL-Datenbanken erlauben das Hinzufügen von neuen Attributen und ::Feldern sowie die Verwendung verschiedener Syntaxen in verschiedenen Datenbanken.


Bekannte NoSQL Datenbanken

Rangliste von Datenbankmanagementsystemen: DB-Engines Ranking (wird monatlich überarbeitet)

Apache Cassandra

Cassandra arbeitet mit dem Datenmodell der Schlüssel-Wert-Relationen. Dieses Datenverwaltungssystem wurde 2008 wegen eines Inbox-Search Problem entwickelt und hat eine hohe Skalierbarkeit (beschreibt meistens die Fähigkeit des Wachstums eines Systems), wie auch eine hohe Ausfallssicherheit (die Sicherheit gegen eines Ausfalls, durch zum Beispiel das Einsetzen von Redundanzen) .


Weitere

  • MongoDb (mongo abgeleitet vom engl. "humonhous", "gigantisch")
  • Neo4j
  • CouchDb


Datenmodelle

Dokumentenorientierte Datenbanken
  • Dokumente bilden die Grundeinheit zur Speicherung von Daten
  • Ein Dokument entspricht einer Zeile in einer Tabelle
  • Die Dokumente sind schemafrei und bekommen einen eindeutigen Identifikator zugewiesen
Graphdatenbanken
  • Fokus auf die Beziehung zwischen den Daten
  • Speichert und bildet Graphen ab, mit gegeben Daten
  • Ein Graph besteht aus Knoten und Kanten (die Verbindung zwischen Knoten) Bildliche Darstellung
  • Ermöglicht die Abfrage von komplexen Muster, die Ermittlung des kürzestens Weg zwischen Knoten
Verteilte ACID-Datenbanken
Key-Value-Datenbanken
  • Festplattenspeicher
  • Caches im RAM
  • Eventually-consistente Speicher
  • Sortierte Key-Value-Speicher
Multivalue-Datenbanken
Objektdatenbanken
Spaltenorientierte Datenbanken
Datenstrom

Replikation

Die Replikation, im Bezug auf die Datenverarbeitung, dient dazu Daten an verschiedenen Orten zugänglich zu machen. Wir sind uns zum Beispiel der Replikation bewusst, durch eine Kopie unserer Projekte oder Bilder, welche wir nicht verlieren möchten.


Indexierung

Um die Indexierung einem näher bringen zu können, kann man sich verschiedene Szenarien ausdenken. Wie zum Beispiel das Auffinden eines Hot Dog Standes in einer Mall. Entweder man irrt durch die verschiedene Stockwerke, oder man wendet sich an die Orientierungstafeln, welche einem durch beispielsweise Buchstaben und Zahlen vermitteln kann, auf welcher Ebene man sich selbst und auf welcher Ebene sich der Hotdog Stand befindet.
Oder um es weiter vereinfachen, ein Buchinhaltsverzeichnis, welches man überfliegt, um ein bestimmtes Kapitel auf einer bestimmten Seite zu finden.
Datenbanken selbst haben verschiedene Arten, um so eine Indexierung zu ermöglichen. Denn auch die Datenbank selbst, versucht auf die schnellstmögliche Weise die angefragten Daten zu suchen.

Datenmanipulation

Die Datenmanipulation beschreibt das verändern, aktualisieren oder löschen von Daten, welche in einer Datenbank gespeichert sind.

Ressourcen

Wikipedia NoSQL

Wikipedia Indexierung Wikipedia Replikation

Kurunterlagen aus dem Modul 162 geleitet von Gerd Gesell