MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Über MongoDB

MongoDB ist ein Open-Source-Datenbankmanagementsystem (DBMS), das ein dokumentenorientiertes Datenmodell verwendet. Sie wird als NoSQL-Datenbank angesehen, da sie nicht das relationale Modell verwendet und daher SQL nicht als Abfragesprache verwendet.

Das dokumentenorientierte Modell ermöglicht es MongoDB, halbstrukturierte Daten zu speichern, die kein festes Schema erfordern. Dies kann durch die Verwendung von JSON-Dokumenten erreicht werden.

MongoDB wird von einigen der größten Unternehmen der Welt verwendet, darunter Facebook, Google, Nokia, MTV Networks, Cisco, Forbes und viele mehr.

MongoDB ist auch ein plattformübergreifendes DBMS, das derzeit Windows, Mac, Solaris und verschiedene Linux-Distributionen unterstützt.

Eine MongoDB-Datenbank unterscheidet sich von einer relationalen Datenbank dadurch, dass MongoDB ein dokumentenorientiertes Modell zum Speichern von Daten verwendet. Im dokumentenorientierten Modell werden Daten innerhalb von Dokumenten einer Sammlung gespeichert. Im relationalen Modell werden Daten in Zeilen einer Tabelle gespeichert.

Die Sammlungen

In MongoDB ist eine Sammlung eine Gruppe von Dokumenten. Eine Sammlung enthält normalerweise Dokumente, die ein ähnliches Thema haben (wie Benutzer, Produkte, Beiträge usw.).

Sammlungen ähneln daher in vielerlei Hinsicht Tabellen aus dem relationalen Modell.

Die Dokumente

In MongoDB werden Dokumente als JSON gespeichert Unterlagen. JSON (JavaScript Object Notation) ist ein Standard, der den Datenaustausch erleichtert. JSON-Dokumente ähneln XML-Dokumenten darin, dass Daten hierarchisch dargestellt und von Menschen und Computern gleichermaßen gelesen werden können.

Hier ist ein Beispiel für ein JSON-Dokument. So sehen Dokumente in einer MongoDB-Datenbank aus.

{
    artistname : "Deep Purple",
    albums : [
                {
                    album : "Machine Head",
                    year : 1972,
                    genre : "Rock"
                }, 
                {
                    album : "Stormbringer",
                    year : 1974,
                    genre : "Rock"
                }
            ]
}

Die _id Feld ist die eindeutige Kennung für ein Dokument. MongoDB ermöglicht, dass jedes Dokument mit diesem Feld abgerufen/referenziert werden kann. Sie können diese angeben oder von MongoDB generieren lassen.

Durch die Verwendung von JSON können Abfrageergebnisse einfach mit wenig oder keiner Transformation direkt von JavaScript und den gängigsten Programmiersprachen analysiert werden. Dies liegt daran, dass JSON-Dokumente Namens-/Paar- und Array-Konventionen verwenden, die den gängigsten Programmiersprachen wie C, C++, C#, Java, JavaScript, Perl, Python und vielen anderen vertraut sind. Dadurch wird die Menge an Geschäftslogik reduziert, die in Anwendungen integriert werden muss, die MongoDB verwenden.

Hinter den Kulissen speichert MongoDB die JSON-Dokumente tatsächlich in einem binär codierten Format namens BSON. BSON erweitert JSON, indem es zusätzliche Datentypen unterstützt und für die Codierung und Decodierung in verschiedenen Sprachen effizient ist.

Schemalos

Jedes JSON-Dokument in einer Sammlung kann seine eigene Struktur enthalten. Daher gibt es kein festes Schema, das die Art der Daten einschränkt, die in eine MongoDB-Datenbank eingegeben werden können.

Dies steht im Gegensatz zu einer relationalen Datenbank, bei der Sie zuerst das Schema erstellen müssen (d. h. die Tabellen, Spalten, Datentypen usw. definieren), bevor Sie Daten eingeben. Wenn Daten nicht dem Schema entsprechen, werden sie nicht in die Datenbank aufgenommen.

In einer MongoDB-Datenbank gibt es keine Regel, die besagt, welche Felder oder wie viele Felder jedes Dokument haben sollte. Beispielsweise kann ein Dokument aus einer Sammlung Name, Adresse und Telefonnummer enthalten, während ein anderes Dokument Name und E-Mail-Adresse enthalten kann.