Dokumenten-orientierte Datenbanken // deutsch

the native web GmbH
23 Feb 202105:57

Summary

TLDRIn diesem Video geht es um dokumentenorientierte Datenbanken, die sich durch die Speicherung von Dokumenten, wie JSON-Objekten, auszeichnen. Diese Datenbanken ermöglichen die Speicherung von unstrukturierten oder halbstrukturierten Daten ohne feste Schemas und unterstützen keine JOIN-Operationen zwischen Dokumenten. Im Gegensatz zu relationalen Datenbanken, die auf SQL basieren, sind dokumentenorientierte Datenbanken flexibler und skalierbarer, was sie ideal für moderne Anwendungen macht. Beispiele für solche Systeme sind MongoDB und CouchDB.

Takeaways

  • 📚 Die heutige Vorlesung konzentriert sich auf dokumentenorientierte Datenbanken.
  • 🔑 In Schlüssel-Wert-Datenbanken wird nur der Schlüssel indiziert, nicht der Wert.
  • 🔍 Dokumentenorientierte Datenbanken ermöglichen die Durchsuchung von Werten und sind besser für komplexe Abfragen geeignet.
  • 💾 Dokumentenorientierte Datenbanken speichern Daten in Form von Dokumenten, normalerweise JSON- oder XML-Objekten.
  • 📝 Es gibt keine Beziehungen zwischen den Dokumenten in dokumentenorientierten Datenbanken, sie sind in sich geschlossen.
  • 🌐 Dokumentenorientierte Datenbanken sind gut in der Lage, horizontal zu skalieren.
  • 🔑 MongoDB ist ein bekanntes Beispiel für eine dokumentenorientierte Datenbank, die ein eindeutiges Feld (ObjectId) als Schlüssel verwendet.
  • 🔍 Felder in dokumentenorientierten Datenbanken sind durchsuchbar und indizierbar, ähnlich wie in Schlüssel-Wert-Datenbanken.
  • 🚫 Dokumentenorientierte Datenbanken benötigen keine Foreign Keys, da die Dokumente selbständig sind.
  • 🔄 Einige dokumentenorientierte Datenbanken unterstützen Transaktionen, wie MongoDB seit Version 4.0.
  • 📅 Die nächste Vorlesung wird sich mit Graphen-Datenbanken befassen.

Q & A

  • Was sind dokumentenorientierte Datenbanken?

    -Dokumentenorientierte Datenbanken speichern Daten in Form von Dokumenten, die oft JSON- oder XML-Objekte sind. Sie sind in der Regel selbstschließend und enthalten keine Beziehungen zu anderen Dokumenten.

  • Wie unterscheidet sich eine dokumentenorientierte Datenbank von einer relationalen Datenbank?

    -In einer dokumentenorientierten Datenbank werden Datenstrukturen gespeichert, ohne dass es Beziehungen zwischen den Dokumenten gibt. Im Gegensatz dazu verwenden relationale Datenbanken Tabellen mit festen Schemas und Beziehungen zwischen ihnen.

  • Was bedeutet 'schimmerlos speichern' in Bezug auf Datenbanken?

    -Schimmerlos speichern bedeutet, dass jeder Datensatz eine andere Form haben kann, da die Struktur der Datensätze nicht 100% gleich ist und kleine Unterschiede in der Struktur auftreten können.

  • Was ist der Hauptvorteil von dokumentenorientierten Datenbanken gegenüber relationalen Datenbanken?

    -Dokumentenorientierte Datenbanken sind besser geeignet für das Speichern von unstrukturierten oder halbstrukturierten Daten und ermöglichen es, Datensätze mit unterschiedlichen Feldern zu speichern, was in relationalen Datenbanken schwieriger zu verwalten ist.

  • Wie werden die Felder in dokumentenorientierten Datenbanken bezeichnet?

    -In dokumentenorientierten Datenbanken werden die Felder oft als 'Felder' oder 'Eigenschaften' bezeichnet, da sie in JSON- oder XML-Objekten organisiert sind, anstatt wie in relationalen Datenbanken in Spalten.

  • Was ist die Bedeutung von 'Indexierung' in dokumentenorientierten Datenbanken?

    -Indexierung in dokumentenorientierten Datenbanken ermöglicht die Durchsuchbarkeit von Feldern, ähnlich wie bei Schlüssel-Wert-Datenbanken. Es ermöglicht schnelle Abfragen und Suche nach Werten innerhalb der Dokumente.

  • Welche bekannte dokumentenorientierte Datenbank wurde im Skript erwähnt?

    -MongoDB ist eine bekannte dokumentenorientierte Datenbank, die im Skript erwähnt wurde.

  • Was ist der Unterschied zwischen der 'ObjectID' in MongoDB und anderen Feldern?

    -Die 'ObjectID' in MongoDB ist ein eindeutiger Schlüssel, der jedem Dokument zugeordnet ist und als Primärschlüssel fungiert. Im Gegensatz dazu sind andere Felder in MongoDB durchsuchbar und indexierbar, aber sie fungieren nicht als eindeutige Identifikation für das Dokument.

  • Wie skalieren dokumentenorientierte Datenbanken?

    -Dokumentenorientierte Datenbanken skalieren gut, insbesondere horizontal, was bedeutet, dass sie durch Hinzufügen von mehr Servern oder Knoten vergrößert werden können, um die Last zu verteilen.

  • Was bedeuten die Abkürzungen 'NoSQL' und 'NewSQL'?

    -NoSQL steht für 'Not Only SQL' und bezeichnet eine Gruppe von Datenbanken, die nicht auf SQL basieren. NewSQL hingegen bezieht sich auf eine neue Generation von Datenbanken, die versuchen, die Vorteile von relationalen und NoSQL-Datenbanken zu kombinieren.

  • Was wird am nächsten Tag im Skript thematisiert?

    -Am nächsten Tag wird im Skript das Thema 'Graphen-Datenbanken' behandelt, einschließlich einer Erklärung, was sie sind und was sie können.

Outlines

00:00

😀 Einführung in dokumentenorientierte Datenbanken

Der erste Absatz des Videos skizziert die Besonderheiten von dokumentenorientierten Datenbanken. Es wird erklärt, dass diese Art von Datenbank Systeme spezielle Anforderungen an die Datenspeicherung erfüllen, insbesondere wenn es um die Speicherung von komplexen Datenstrukturen geht. Die Erklärung beginnt mit einem Rückblick auf gestrige Diskussionen über spalten- und wertorientierte Systeme und stellt dann die Eigenschaften von White-Cullum-Datenbanken, die als spezielle Form von Key-Value-Datenbanken betrachtet werden, dar. Der Schwerpunkt liegt auf der Tatsache, dass in solchen Systemen nur der Schlüssel indiziert wird, nicht jedoch die Werte. Die Diskussion führt dann zu den Herausforderungen, die auftreten, wenn komplexe Abfragen erforderlich sind, die nicht nur auf dem Schlüssel, sondern auch auf den Werten basieren. Als Lösung wird die Verwendung einer klassischen SQL-basierten relationalen Datenbank vorgeschlagen, wobei jedoch die Herausforderungen bei der Speicherung von unstrukturierten oder variabel strukturierten Daten in solchen Systemen hervorgehoben werden. Die Vorteile von dokumentenorientierten Datenbanken werden betont, insbesondere ihre Fähigkeit, Objektstrukturen zu speichern, ohne Beziehungen zwischen den Dokumenten zu erfordern. Die Besonderheiten von MongoDB als bekanntestem Beispiel für eine dokumentenorientierte Datenbank werden kurz erwähnt, einschließlich der Möglichkeit, Objekte in Objekte zu verschachteln und die Fähigkeit, Felder indexierbar und durchsuchbar zu machen.

05:01

😀 NoSQL-Datenbanken und zukünftige Themen

Der zweite Absatz des Videos schließt mit einer Zusammenfassung des heutigen Themas und einer Vorschau auf zukünftige Diskussionen. Es wird betont, dass die bisher besprochenen Datenbanken, obwohl sie nicht SQL verwenden, immer noch als NoSQL-Datenbanken betrachtet werden, was das Akronym 'Not Only SQL' verdeutlicht. Der Sprecher kündigt an, dass das nächste Video sich mit Graph-Datenbanken befassen wird, die eine weitere Art von NoSQL-Datenbank darstellen. Der Abschnitt endet mit einer Dankesaussage an die Zuschauer, einer Aufforderung zur Interaktion durch das Liken des Videos und zur Abonnement des Kanals, sowie einem Hinweis auf die Aktivierung der Glocke, um über neue Videos benachrichtigt zu werden. Der Sprecher wünscht den Zuschauern einen schönen Tag und eine gute Gesundheit und kündigt die nächste Sendung an.

Mindmap

Keywords

💡Dokumenten-orientierte Datenbanken

Dokumenten-orientierte Datenbanken sind ein Spezialtyp von NoSQL-Datenbanken, die Daten in Form von Dokumenten speichern, wie zum Beispiel JSON- oder XML-Objekten. Im Kontext des Videos wird betont, dass diese Datenbanken keine Beziehungen zwischen den Dokumenten pflegen und somit keine Join-Operationen ausführen. Stattdessen sind die Dokumente in sich geschlossen und unabhängig voneinander. Dies ermöglicht es, flexible Datenstrukturen zu verwenden, wobei jeder Datensatz eine andere Form haben kann.

💡Schlüssel-Wert-Datenbanken

Schlüssel-Wert-Datenbanken sind eine Art von Datenbank, bei der Daten in Schlüssel-Wert-Paaren gespeichert werden. Der Hauptvorteil dieser Datenbanken ist ihre einfache Struktur und hohe Leistung bei der Suche und dem Abruf von Daten. Im Video wird darauf hingewiesen, dass auch White-Collar-Datenbanken eine spezielle Form von Schlüssel-Wert-Datenbanken sind, wobei der Schlüssel und der Wert die Hauptkomponenten der Datenstruktur sind.

💡Relationale Datenbanken

Relationale Datenbanken verwenden eine tabellarische Datenstruktur, bei der Daten in Form von Tabellen gespeichert werden, die durch Schlüssel und Beziehungen miteinander verbunden sind. Im Video wird erwähnt, dass relationale Datenbanken für komplexe Abfragen und Datenintegrität gut geeignet sind, aber sie können Schwierigkeiten haben, wenn es um die Speicherung von unstrukturierten oder unterschiedlich strukturierten Datensätzen geht.

💡JSON-Objekte

JSON steht für JavaScript Object Notation und ist ein轻量级 Datenaustauschformat, das in der Webentwicklung weit verbreitet ist. JSON-Objekte werden in dokumentenorientierten Datenbanken häufig als Datenstruktur verwendet, um Daten in einer flexiblen und lesbaren Weise zu speichern. Im Video wird betont, dass JSON-Objekte in solchen Datenbanken gut funktionieren, da sie Objekte in Objekte verschachteln können, was die Speicherung von komplexen Datenstrukturen ermöglicht.

💡Objekt-ID

Die Objekt-ID ist ein eindeutiger Schlüssel, der in vielen dokumentenorientierten Datenbanken verwendet wird, um Dokumente eindeutig zu identifizieren. Im Video wird erwähnt, dass MongoDB, ein bekanntes dokumentenorientiertes Datenbanksystem, die Objekt-ID als einen Schlüssel verwendet, um Dokumente zu identifizieren und zu indexieren.

💡Indexierung

Indexierung ist der Prozess, bei dem Daten in einer Weise organisiert werden, um die Suche und den Zugriff auf diese Daten zu beschleunigen. Im Video wird darauf hingewiesen, dass in dokumentenorientierten Datenbanken die Felder oder Eigenschaften indexiert sind, um die Durchsuchbarkeit und die Leistung von Abfragen zu verbessern.

💡Horizontale Skalierung

Horizontale Skalierung bezieht sich auf das Hinzufügen von mehr Servern oder Knoten zu einem System, um seine Kapazität und Leistung zu erhöhen. Im Video wird betont, dass dokumentenorientierte Datenbanken gut skalieren können, insbesondere horizontal, was bedeutet, dass sie durch das Hinzufügen weiterer Ressourcen anstatt durch das Upgrade von Ressourcen auf einem Server skaliert werden können.

💡Transaktionen

Transaktionen sind eine Gruppe von Operationen, die als eine Einheit behandelt werden müssen, um Datenintegrität und Konsistenz zu gewährleisten. Im Video wird erwähnt, dass einige dokumentenorientierte Datenbanken wie MongoDB Transaktionen unterstützen, um sicherzustellen, dass mehrere Operationen atomar und konsistent sind.

💡NoSQL

NoSQL ist ein Akronym für 'Not only SQL' und bezeichnet eine Gruppe von Datenbanken, die nicht auf der traditionellen relationalen Datenbank-Modell basieren. Im Video wird erklärt, dass NoSQL-Datenbanken wie Schlüssel-Wert-, White-Collar- und Dokumenten-orientierte Datenbanken sind, die alle ohne SQL-Abfragen funktionieren und flexiblere Datenmodelle als relationale Datenbanken bieten.

💡Graf-Datenbanken

Graf-Datenbanken sind ein spezieller Typ von NoSQL-Datenbank, der Daten in Form von Graphen speichert, wobei Knoten und Kanten verwendet werden, um Beziehungen zwischen Daten zu modellieren. Im Video wird erwähnt, dass der nächste Schwerpunkt die Untersuchung von Graf-Datenbanken und ihrer Fähigkeiten sein wird, was auf die Bedeutung von Graph-Strukturen in modernen Datenbanksystemen hinweist.

Highlights

Dokumente orientierte Datenbanken sind spezialisiert auf die Speicherung von Dokumenten, wie JSON-Objekte.

In dokumenten orientierten Datenbanken gibt es keine Beziehungen zwischen den Dokumenten, sie sind in sich geschlossen.

Dokumente in solchen Datenbanken können komplexe Datenstrukturen enthalten, wie JSON-Objekte in JSON-Objekten.

Es gibt keine native Unterstützung für JOIN-Operationen in dokumenten orientierten Datenbanken.

Dokumente orientierte Datenbanken sind gut in der horizontalen Skalierung.

MongoDB ist ein bekanntes Beispiel für eine dokumenten orientierte Datenbank.

MongoDB verwendet eine eindeutige ObjectId als Schlüssel für Dokumente.

Felder in MongoDB werden oft als Eigenschaften oder Felder bezeichnet.

MongoDB unterstützt die Indizierung von Feldern, um die Durchsuchbarkeit zu erhöhen.

Dokumente orientierte Datenbanken sind in der Regel nicht transaktionsorientiert, da Dokumente als Einheiten behandelt werden.

MongoDB unterstützt seit Version 4.0 Multi-Document ACID-Transaktionen.

NOSQL bedeutet 'Not Only SQL' und beinhaltet Datenbanken, die nicht nur SQL verwenden.

Die nächste Sitzung wird sich mit Graph-Datenbanken und deren Funktionsweise beschäftigen.

Die Präsentation betont die Flexibilität von dokumenten orientierten Datenbanken im Vergleich zu relationalen Datenbanken.

Dokumente orientierte Datenbanken sind ideal für Anwendungen, die semi-strukturierte oder unstrukturierte Daten speichern müssen.

Es wird erläutert, wie man in Anwendungen Beziehungen zwischen Dokumenten nachbilden kann, indem man IDs als Referenzen speichert.

Die Vorteile der dokumenten orientierten Datenbanken bei der Speicherung von variabel strukturierten Daten werden diskutiert.

Transcripts

play00:00

hay que sera uns mit calmund mit white

play00:03

cullum datenbanken beschäftigt und heute

play00:05

gucken wir uns dokumenten orientierte

play00:07

datenbanken an

play00:08

gestern haben wir ja festgestellt dass

play00:10

spaltenorientierte systeme also die

play00:12

cullum datenbanken sehr sehr speziell

play00:14

sind und dass die white können

play00:16

datenbanken letztlich nichts anderes

play00:17

sind als eine spezialform der key value

play00:20

datenbank wir hatten gesagt eine white

play00:22

cullum datenbank ist im prinzip nichts

play00:24

anderes als eine zweidimensionale key

play00:26

value datenbank und bei den key value

play00:29

datenbanken und auch bei den white

play00:31

callum datenbanken war die essenz das

play00:32

ist im grunde genommen nur einen index

play00:34

gibt es gibt nur einen wert oder eben

play00:37

den über den ich datensätze abfragen

play00:39

kann über die ich die ermitteln kann

play00:41

über die ich die suchen kann

play00:42

und das ist eben der ki und der wert

play00:44

unterscheidet sich im jeweiligen typ ob

play00:46

der eben eher atomar gelagert ist dass

play00:48

man eher bei einer key value datenbank

play00:50

ob das eher ein komplexerer typ ist dass

play00:52

man eher bei einer weit cullum datenbank

play00:54

aber wir hatten auch gesagt die trennung

play00:56

ist hier relativ unscharf denn auch

play00:58

diverse datenbanken können durchaus mit

play01:01

komplexen typen wie objekten und airways

play01:02

hantieren der springende punkt dabei ist

play01:04

die werte werden nicht indexiert und es

play01:07

wird immer nur der key indexiert aber

play01:09

die frage ist natürlich jetzt was wenn

play01:11

man das braucht also was ist wenn ich

play01:13

zum beispiel komplexe abfragen habe die

play01:15

eben nicht nur auf einer idee abzielen

play01:16

sondern wo ich wirklich die werte

play01:18

durchsuchen will wo ich ab fragen im

play01:20

hinblick auf die werte ausführen möchte

play01:22

und da ist natürlich eine mögliche idee

play01:24

wie man dieses problem lösen könnte dass

play01:26

man eine klassische sql basierte

play01:28

relationale datenbank einsetzt aber das

play01:30

problem bei denen ist häufig zumindest

play01:32

das thema behaftet sind gewünscht ist

play01:35

eben häufig dass man die daten

play01:36

schimmerlos speichern kann also

play01:38

schimmerlos bedeutet ja dass jeder

play01:40

datensatz eine andere form haben kann

play01:43

weil ich zum beispiel unterschiedliche

play01:44

felder in den einzelnen datensätzen drin

play01:47

habe weil die sich in ihrer struktur

play01:48

nicht 100 prozentig gleichen sondern ein

play01:51

bisschen geringfügig anders gelagert

play01:53

sind und so weiter und das wird eben

play01:55

sehr sehr schwer das in der relationalen

play01:56

datenbank sozusagen zu erledigen und

play01:58

dafür ist eine schamlose datenbank sehr

play02:01

viel besser geeignet und genau da setzen

play02:03

die sogenannten dokumenten orientierten

play02:05

datenbanken an

play02:06

eine dokumenten orientierte datenbank

play02:09

speichert wie der name schon nahelegt

play02:10

eben dokumente und mit einem dokument

play02:13

ist in diesem fall in der regel ein

play02:14

jason objekt gespeichert gemeint kann

play02:17

natürlich auch ein xml objekt oder sowas

play02:18

sein aber im prinzip eine solche

play02:20

datenstruktur das heißt diese

play02:21

datenbanken speichern objekt strukturen

play02:24

ganz ganz wichtig dabei ist es gibt

play02:26

keine beziehungen zwischen diesen

play02:28

dokumenten das heißt es werden keine

play02:30

joints oder ähnliches ausgeführt sondern

play02:32

die dokumente sind sozusagen surf

play02:34

contest die sind in sich geschlossen

play02:35

die haben keine abhängigkeiten nach

play02:37

außen die können natürlich unter

play02:39

dokumente enthalten das liegt bei jason

play02:41

ja auch nahe weil ich jason in oder weil

play02:43

in jason objekte in objekte

play02:45

verschachteln kann insofern das geht

play02:46

schon

play02:47

aber ich habe eben keine beziehung von

play02:49

einem dokument also von einem jason

play02:51

objekt auf ein gänzlich anderes jason

play02:53

objekt und natürlich kann ich relationen

play02:55

sozusagen künstlich nachbilden in dem

play02:57

ich an einem jason objekt eine id eines

play03:00

anderen objektes sozusagen als referenz

play03:02

eintragen aber diese idee hat eben

play03:04

keinerlei relevanz für die datenbank das

play03:06

ist etwas was ich auf anwendungsebene

play03:07

auswerten müsste und was ich dann eben

play03:10

in einer anfrage explizit sozusagen

play03:12

abfragen muss das bekannteste dokumenten

play03:15

orientierte datenbanksystem dürfte

play03:18

vermutlich db seien auch hier ist

play03:20

es wieder so wie bei den key value

play03:22

datenbanken dass man zunächst mal einen

play03:23

eindeutigen key hat das ist ein manko db

play03:26

die sogenannte objet id aber ich habe

play03:28

eben zusätzlich felder beziehungsweise

play03:30

spalten offensiven tb nicht

play03:32

spalten heißen weil es ja in den

play03:34

objekten er keine spalten gibt hier

play03:36

spricht man tatsächlich eher von feldern

play03:37

oder von eigenschaften oder das

play03:39

besondere in monk und db speziellen oder

play03:41

in dokumenten orientierten datenbanken

play03:43

im allgemeinen ist eben dass diese

play03:45

felder index ihr war sind dass sie

play03:47

durchsuchbar sind und so weiter genauso

play03:49

wie auch die key value datenbanken

play03:51

skalieren auch die dokumenten

play03:53

orientierten datenbanken sehr sehr gut

play03:55

insbesondere auch horizontal hier spielt

play03:57

natürlich auch das schaden wieder eine

play03:59

große rolle und hier kommt natürlich

play04:00

sehr hilfreich zum tragen dass es eben

play04:03

dieses konzept von foreign relations und

play04:05

eben den jeans und ähnlichem gar nicht

play04:07

erst gibt deswegen sind auch die asset

play04:09

kriterien häufig kein thema in einer

play04:12

dokumenten orientierten datenbank weil

play04:14

die dokumente an sich als elf konnten

play04:16

sind das heißt per definition habe ich

play04:18

eigentlich keine vorgänge die eben

play04:20

mehrere dokumente gleichzeitig in einer

play04:22

transaktion sozusagen betreffen aber

play04:25

manchmal wäre das natürlich schon

play04:26

praktisch weswegen diese dokumenten

play04:28

orientierten datenbanken zumindest

play04:30

einige von denen über kurz oder lang

play04:31

doch auf die idee kommen zumindest

play04:33

transaktionen zu unterstützen

play04:35

london gb kann beispielsweise multi doch

play04:37

jemand transactions seit der version 4.0

play04:40

allerdings wiederum nur wenn ich das

play04:42

ganze im carling betreiber viele denken

play04:45

wenn sie den begriff bombardie b hören

play04:47

oder wenn sie den namen mango db höheren

play04:49

automatisch an sql das ganze greift aber

play04:52

ein bisschen zu kurz denn alles was wir

play04:54

diese woche bislang gesehen haben war no

play04:56

sql neue sql heißt nämlich nicht kein

play04:59

sql sondern es ist eine akronym steht

play05:01

für not only sql das heißt alle diese

play05:04

datenbanken die wir bisher hatten sei es

play05:06

die value sei es weit kam sein

play05:08

die cullum datenbanken oder seien es

play05:09

jetzt eben heute die dokumenten

play05:11

orientierten daten dank daten machen die

play05:13

arbeiten ja alle nicht mit sql und

play05:16

insofern sind das alles eben noch sql

play05:19

datenbanken und ein spezieller typ von

play05:21

no sql-datenbank fehlt uns noch den

play05:23

werden wir uns morgen angucken da

play05:24

beschäftigen wir uns nämlich morgen mal

play05:26

mit den sogenannten graf datenbanken und

play05:28

was sie mit denen machen können wie

play05:30

gesagt das schauen wir uns dann morgen

play05:31

an

play05:32

für heute möchte ich mich bedanken dass

play05:34

wir wieder mit dabei gewesen sein ich

play05:35

hoffe euch hat das video gefallen

play05:37

wenn ja würde ich mich sehr freuen wenn

play05:38

ihr einen daumen nach oben da last und

play05:40

falls ihr den kanal noch nicht abonniert

play05:41

hat aber gerne öfter solche videos sehen

play05:43

wollt abonniert doch den kanal denkt

play05:45

dann daran die glocke zu aktivieren

play05:47

damit ihr von youtube auch über neue

play05:49

videos benachrichtigt werden

play05:50

und ansonsten wünsche ich euch einen

play05:52

schönen mittwoch passt gut auf euch auch

play05:54

bleibt gesund und dann bis morgen

Rate This

5.0 / 5 (0 votes)

Ähnliche Tags
DatenbankenDokumenten-orientiertNoSQLJSONMongoDBDatenspeicherungDatenstrukturDatenmodellDatenabfrageDatenbank-Skalierung