Wie eine MongoDB-Datenbank Ihre Daten besser organisieren kann

MongoDB (von humongous) ist eine plattformübergreifende, dokumentenorientierte Datenbank, die als Alternative zu MySQL verwendet wird. Aber was heißt das?

MongoDB (von humongous) ist eine plattformübergreifende, dokumentenorientierte Datenbank, die als Alternative zu MySQL verwendet wird.  Aber was heißt das?
Werbung

Jeder, der jemals mit Datenbanken gearbeitet hat, die Daten in Tabellen organisieren, auch relationale Datenbanken genannt, kann wahrscheinlich ausführlich über seine Fehler sprechen. Als ein großartiges System zur Speicherung von Daten mag es sein, dass es nicht ohne Probleme ist und nicht für die Interpretation durch Menschen ausgelegt ist, was das Organisieren mit sich verschränkt, redundant und mit einer steilen Lernkurve macht.

Daher die NoSQL-Bewegung. SQL steht für Structured Query Language und dient zur Kommunikation mit Datenbanken. Aber es ist nicht so groß in einem größeren Maßstab. Wenn beispielsweise Apps viral werden, wird Unterstützung benötigt, damit die Nutzer die App ohne Probleme nutzen können. Aber SQL wird in diesem Umfang komplizierter, als viele Entwickler damit umgehen können.

NoSQL macht das Speichern und Organisieren von Daten einfacher, weil Befürworter der NoSQL-Denkschule eine Datenbank erstellen wollten, die mit großen Datensätzen arbeitete, skaliert und so organisiert war, wie die Leute denken, und die leicht von Menschen gelesen werden konnte. MongoDB ist eine solche Datenbank und verändert die Art und Weise, wie Entwickler Websites erstellen.

Was ist MongoDB?

Connection_to_the_MongoDB_Shell

MongoDB (von "humongous") ist eine plattformübergreifende, dokumentenorientierte Datenbank, die als Alternative zu MySQL verwendet wird. Aber was heißt das? Nun, eine Datenbank ist eine strukturierte Menge von Daten Also, was ist eine Datenbank? [MakeUseOf erklärt] Also, was ist eine Datenbank? [MakeUseOf Explains] Für einen Programmierer oder Technologie-Enthusiasten ist das Konzept einer Datenbank eine Selbstverständlichkeit. Für viele Leute ist das Konzept einer Datenbank selbst jedoch ein bisschen fremd .... Lesen Sie mehr, aber MongoDB unterscheidet sich darin, dass es tendenziell weniger streng ist, wie diese Daten strukturiert sind. Informationen werden gruppiert und nicht in verwandte Dokumente und Tabellen wie MySQL, ein beliebtes RDBMS oder relationales Datenbankmanagementsystem, das SQL verwendet, unterteilt.

Viele Datenbanken, die SQL verwenden, speichern Daten in Tabellen auf Seiten. Stellen Sie sich eine Excel-Tabelle mit Codebits vor. Diese Seiten sind die kleinsten Daten auf einem Server und jede Seite ist einer Tabelle gewidmet. Dies wird im großen Maßstab verschachtelt, während der Entwickler mit MongoDB entscheiden kann, wie die Informationen für ihre Bedürfnisse strukturiert werden sollen.

MongoDB verwendet BSON zum Speichern von Informationen. BSON (eine Kombination aus "binär" und "JSON" oder JavaScript Object Notation) kann als eine binäre oder numerische Darstellung von JSON-Dokumenten betrachtet werden. JSON Was ist JSON? Ein Laien Überblick Was ist JSON? Überblick über Laien Ob Sie ein Webentwickler sein möchten oder nicht, es ist eine gute Idee, zumindest zu wissen, was JSON ist, warum es wichtig ist und warum es überall im Internet verwendet wird. Read More ist ein Open-Standard-Format (wie Open-Source) zum Organisieren von Daten.

Es unterstützt auch bestimmte Datentypen, die in JSON nicht unterstützt werden, wie der Datentyp 'date', der normalerweise nicht unterstützt wird und deshalb vom Entwickler nicht verwendet werden kann. Der Entwickler wäre in diesem Fall nicht in der Lage, irgendeine Art von Datum als Datenelement einzubeziehen.

In der Regel sind diese Daten in Dokumenten organisiert. JSON überträgt Daten unter Verwendung von Dokumenten, die von Menschen leicht gelesen werden können, dies ist jedoch bei BSON nicht der Fall. JSON wird auch häufig verwendet, um Daten zwischen einem Server und einer Anwendung sowie einem allgemeinen Datenspeichermedium zu übertragen.

Dokumente müssen nicht entsprechend der Sammlung oder einer Gruppe zusammengehöriger Objekte, in denen sie organisiert sind, in einer bestimmten Weise strukturiert werden, wodurch es für einen Entwickler sehr einfach ist, MongoDB zu verwenden. Dies hat dazu geführt, dass es eine der populärsten NoSQL-Datenbanken ist.

Was unterscheidet es von MySQL?

Mysql-Bildschirmfoto

Da MySQL vielleicht das am weitesten verbreitete RDBMS ist, ist es natürlich, auch wenn es fehlerhaft ist, nur natürlich, dass Alternativen auftauchen. Da NoSQL eine Alternative zu SQL ist, wird MongoDB als eine Alternative zu MySQL angesehen. MySQL verwendet Tabellen zum Organisieren seiner Daten und basiert auf dem klassischen relationalen Datenmodell des zwanzigsten Jahrhunderts, obwohl es wie MongoDB für verbesserte Funktionalität modifiziert werden kann.

Die beiden sind jedoch sehr unterschiedlich. Sie sind für verschiedene Zwecke gedacht, zum einen. MongoDB ist eher für den größeren (sehr großen) Maßstab gedacht, während es nur so viel gibt, was MySQL bewältigen kann. Wie bereits erwähnt, verwendet MySQL Tabellen, um Daten zu organisieren, die sehr verworren sein können. Sie sind jedoch beide sehr gute Systeme, und tatsächlich werden Hybride auf bestimmten Websites im Internet implementiert. Craigslist ist bekannt dafür, eine der erfolgreichsten Websites zu sein, die eine MongoDB / MySQL-Hybride implementiert.

Wie funktioniert es?

Mongodb Dokument

MongoDB speichert Daten in ähnlichen Dokumenten wie JSON. Diese Dokumente haben ein oder mehrere Felder (Objekte oder Werte, die in einer Klasse oder Struktur enthalten sind), die Arrays (eine Reihe von Objekten gleicher Größe und Art) und Unterdokumente (ein Dokument, das einen Teil eines größeren Dokuments bildet) enthalten. Diese Felder können je nach Bedarf so eingestellt werden, wie es der Entwickler wünscht.

Während das Organisieren normalerweise eine komplizierte Angelegenheit ist, macht es BSON einfach, die Dokumente nach Art und Größe zusammenzufassen, anstatt sie in sehr kleine Teile von Daten wie SQL aufzuteilen und die Daten basierend auf anderen Informationen zu organisieren. Aufgrund dieser Flexibilität können Entwickler die Datensammlung, auch Datenmodell genannt, an ihre Bedürfnisse anpassen.

Entwickler können auf die Dokumente über Treiber zugreifen, die sie lesen und verstehen können, und die Dokumente sind in den beliebtesten modernen Programmiersprachen verfügbar. Mit MongoDB werden die Dokumente auf natürliche Weise den Objekten zugeordnet, so dass keine ORM-Ebene (objektrelationales Mapping) benötigt wird, die Dokumente manuell ihren jeweiligen Objekten zuordnet. Einfach gesagt, die Dokumente sind auf natürliche Weise mit den Objekten verbunden, so dass kein separater Befehl oder Programm benötigt wird, um sie zu verbinden.

MongoDB verwendet eine JavaScript-basierte Shell und unterstützt Entwickler beim Schreiben von benutzerdefiniertem Code mit JavaScript-Funktionen und wird wahrscheinlich weiter verbreitet, wenn JavaScript weiterhin boomt. Was ist JavaScript und kann das Internet ohne es existieren? Was ist JavaScript und kann das Internet ohne es existieren? JavaScript ist eines dieser Dinge, die für viele selbstverständlich sind. Jeder benutzt es. Lesen Sie mehr in der Popularität.

Wer benutzt es?

Obwohl MongoDB noch relativ jung ist, wird es in einigen populären Websites verwendet. Dazu gehören das Wirtschaftsmagazin Forbes sowie gif-tastic Buzzfeed.

Forbes nutzte MongoDB, um schnell ein neues Web- und Mobil-Portfolio zu entwickeln. Dank der Geschwindigkeit und Leistungsfähigkeit von MongoDB konnten sie in zwei Monaten eine Website und in einem Monat eine mobile App einrichten. Dies hatte einen drastischen Einfluss auf die Leserbindung und den Traffic. Laut den MongoDB-Entwicklern:

Über Nacht sprang der mobile Verkehr von 5% auf 15% des gesamten Verkehrs von Forbes.com und stieg schnell auf 50%.

Buzzfeed leidet unter den Herausforderungen, mit denen große Medienunternehmen konfrontiert sind. Ihre verteilten Schreibpersonal veröffentlichen so eine erstaunliche Menge an Inhalten 5 Websites, um letzte Buzz und virale Videos 5 Websites Check Out Neueste Buzz und Viral Videos Lesen Sie mehr, um ein riesiges Publikum. Mit MongoDB kann Buzzfeed schnell skaliert werden, je nachdem, welchen Traffic sie erhalten und welche Art von Inhalt bei den Lesern ankommt.

Wie benutzt man es?

MongoDB ist ein großartiges Werkzeug für Web-, Spiele- und Softwareentwickler. Wir wissen, dass es schnell und skalierbar ist. Und wir wissen, dass es leicht zu lesen und zu lernen ist. Aber wie benutzt du es eigentlich?

Mongodb-Shell im Browser

Die offizielle MongoDB-Website bietet Benutzern die Möglichkeit, eine MongoDB-Shell in ihren Browsern zu testen. TutorialsPoint bietet mehrere sehr detaillierte Tutorials für die Verwendung von MongoDB, vom Anfänger bis zum Fortgeschrittenen. Es gibt auch Projekte auf GitHub nicht nur für Programmierer: 9 Möglichkeiten, GitHub für kreative Arbeit nicht nur für Programmierer zu verwenden: 9 Möglichkeiten, GitHub für kreative Arbeit zu verwenden GitHub ist für die großartigen Eigenschaften bekannt, die es Programmierern anbieten kann, aber es ist nicht nur für sie . Es gibt viele andere kreative Anwendungen für GitHub. Hier sind neun, die du erforschen kannst. Lesen Sie mehr zu MongoDB, einschließlich The Little MongoDB Buch von Karl Seguin, für fast alles, was Sie über MongoDB wissen müssen.

Wenn Sie nur erfahren möchten, wie Sie MongoDB installieren, lesen Sie dieses Tutorial auf der offiziellen MongoDB-Website.

Sollten Sie es verwenden?

Das hängt von Ihrer individuellen Situation ab.

So gut wie MongoDB ist, ist es nicht ohne Fehler. Es ist nicht ACID-konform. ACID steht für Atomity, Consistency, Isolation und Durability und ist eine Reihe von Eigenschaften, die sicherstellen, dass Datenbanktransaktionen oder Arbeiten, die innerhalb einer Datenbank ausgeführt werden, korrekt verarbeitet und ausgeführt werden. NoSQL-Datenbanken sind manchmal nicht ACID-konform, was ihre Produktivität und Zuverlässigkeit einschränkt.

MongoDB nutzt auch den gesamten verfügbaren Speicher als System-Cache. Daher gibt es Leistungsprobleme auf Computern, die auf 32-Bit-Systemen ausgeführt werden, die nur maximal 4 GB Speicher adressieren können. Um mehr über die Verwendung des RAM auf Ihrem Computer zu erfahren, lesen Sie diesen Artikel von Brad Jones. Wie viel RAM brauchen Sie wirklich? Wie viel RAM brauchen Sie wirklich? RAM ist wie Kurzzeitgedächtnis. Je mehr Sie Multitasking, desto mehr brauchen Sie. Finden Sie heraus, wie viel Ihr Computer hat, wie Sie das Beste daraus machen oder wie Sie mehr bekommen. Weiterlesen .

Da für diese Datenbank keine Tabellen erforderlich sind, besteht ein hohes Risiko, dass Entwickler faul sind und schlampigen Code schreiben. Dieses Risiko gilt jedoch für fast alles. Sie erhalten doppelte Daten, da keine Joins innerhalb des Systems möglich sind.

Nichtsdestotrotz ist MongoDB ein unglaublich schnelles und effizientes System, das absolut zur Steigerung der Entwicklerproduktivität beitragen kann

MongoDB ist auch insofern benutzerfreundlich, als es keine einheitliche Datenstruktur für alle Objekte benötigt, obwohl es empfehlenswert ist, eine für die Benutzerfreundlichkeit einzurichten. Die Struktur der Daten muss nicht systemweit gleich sein, so dass eine singuläre Stimme nicht unbedingt notwendig ist.

Schließlich, laut MakeUseOf Schriftsteller Matthew Hughes Ihr Startup sollte einen Blog haben. Hier ist, warum Ihr Startup einen Blog haben sollte. Hier sind einige Gründe, warum Ihr Startup nicht ohne Blog leben kann. Read More, das MongoDB-Team betreibt einen exzellenten Blog, der qualitativ hochwertige, gut geschriebene technische Inhalte für ein technisches Publikum bietet.

Fazit

Wenn Sie kein System mit ausreichend RAM haben, das eine große Datenbank nicht unterstützen kann, oder wenn Sie nicht wirklich nach einer großen Datenbank suchen, ist MongoDB nichts für Sie. Es neigt dazu, sich nur im großen Maßstab zu verkaufen. Bei kleineren Projekten ist die Verwendung von RDBMS wahrscheinlich einfacher. Wenn Sie jedoch Geschwindigkeit und Benutzerfreundlichkeit benötigen und das System unterstützen können, sollten Sie sich vielleicht näher damit befassen.

Haben Sie Erfahrungen mit MongoDB? Neugierig, es auszuprobieren? Hinterlasse einen Kommentar und wir reden!

Bildnachweis: "Verbindung zur MongoDB-Shell" von Ularugeanina über Wikimedia Commons, "Mysql-Screenshot" von Stephantom über Wikimedia Commons

In this article