Modul 162: Unterschied zwischen den Versionen

Aus TBZ_-_Wiki
Wechseln zu:Navigation, Suche
Zeile 2: Zeile 2:
  
 
::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.
 
::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 8: Zeile 9:
  
 
::SQL-Datenbanken sind gut geeignet für die Verarbeitung von strukturierten Daten oder Daten, die Beziehungen zwischen ihren Variablen und Entitäten aufweisen.
 
::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 ===
 
=== 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.
 
::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.
 
  
  
Zeile 18: Zeile 19:
  
 
::Rangliste von Datenbankmanagementsystemen: [https://db-engines.com/de/ranking DB-Engines Ranking] (wird monatlich überarbeitet)
 
::Rangliste von Datenbankmanagementsystemen: [https://db-engines.com/de/ranking DB-Engines Ranking] (wird monatlich überarbeitet)
 +
  
 
==== Apache Cassandra ====
 
==== Apache Cassandra ====
Zeile 29: Zeile 31:
 
::*  Neo4j  
 
::*  Neo4j  
 
::*  CouchDb
 
::*  CouchDb
 
  
  
 
== Datenmodelle ==
 
== Datenmodelle ==
 
  
 
::Dokumentenorientierte Datenbanken
 
::Dokumentenorientierte Datenbanken
Zeile 45: Zeile 45:
 
:::* 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]
 
:::* 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ürzesten Weg zwischen Knoten und das Traversieren ''("überqueren", in der Graphentheorie das Ermitteln einer Route welche jeden Knoten und jede Kante nur einmal besucht)''
 
:::* Ermöglicht die Abfrage von komplexen Muster, die Ermittlung des kürzesten Weg zwischen Knoten und das Traversieren ''("überqueren", in der Graphentheorie das Ermitteln einer Route welche jeden Knoten und jede Kante nur einmal besucht)''
 
  
 
::Key-Value-Datenbanken
 
::Key-Value-Datenbanken
Zeile 55: Zeile 54:
 
:::* Speicherung eines Objekt mir allen Attributen
 
:::* Speicherung eines Objekt mir allen Attributen
 
:::* Speicherung von Methoden, Beziehungen und Informationen über die Vererbung von Objekten
 
:::* Speicherung von Methoden, Beziehungen und Informationen über die Vererbung von Objekten
 
  
 
::Spaltenorientierte Datenbanken
 
::Spaltenorientierte Datenbanken
Zeile 63: Zeile 61:
 
:::* Kontinuierlicher Datenfluss von Datensätzen - beispielsweise Kommunikation zwischen Prozessen auf einem Rechner
 
:::* Kontinuierlicher Datenfluss von Datensätzen - beispielsweise Kommunikation zwischen Prozessen auf einem Rechner
 
:::* Geordnete und seitliche Reihenfolge  
 
:::* Geordnete und seitliche Reihenfolge  
 +
  
 
== Replikation ==
 
== Replikation ==
Zeile 77: Zeile 76:
  
 
::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.
 
::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 ==
 
== Datenmanipulation ==
  
 
::Die Datenmanipulation beschreibt das verändern, aktualisieren oder löschen von Daten, welche in einer Datenbank gespeichert sind ''(insert, delete, update)''
 
::Die Datenmanipulation beschreibt das verändern, aktualisieren oder löschen von Daten, welche in einer Datenbank gespeichert sind ''(insert, delete, update)''
 +
  
 
== Ressourcen & Quellenverzeichnis ==
 
== Ressourcen & Quellenverzeichnis ==

Version vom 29. Januar 2023, 20:12 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ürzesten Weg zwischen Knoten und das Traversieren ("überqueren", in der Graphentheorie das Ermitteln einer Route welche jeden Knoten und jede Kante nur einmal besucht)
Key-Value-Datenbanken
  • Sammlung von Schlüssel-Wert-Paaren
  • Schlüssel und Werte können beliebige Elemente (einfache, wie auch komplexe Objekte) sein
Objektdatenbanken
  • Fokus auf die Softwareentwicklung:
  • Speicherung eines Objekt mir allen Attributen
  • Speicherung von Methoden, Beziehungen und Informationen über die Vererbung von Objekten
Spaltenorientierte Datenbanken
  • Speicherung der Inhalte spaltenweise, anstatt zeilenweise
Datenstrom
  • Kontinuierlicher Datenfluss von Datensätzen - beispielsweise Kommunikation zwischen Prozessen auf einem Rechner
  • Geordnete und seitliche Reihenfolge


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 (insert, delete, update)


Ressourcen & Quellenverzeichnis

Wikipedia NoSQL

Wikipedia Indexierung Wikipedia Replikation


Kurunterlagen aus dem Modul 162 geleitet von Gerd Gesell