NoSQL-Datenbanken, die jeder Data Scientist kennen sollte! 2020!

Teilen auf Facebook
Teilen auf twittern
Teilen auf verlinktin
Teilen auf Telegramm
Teilen auf WhatsApp

Inhalt

Überblick

  • NoSQL-Datenbanken sind in der Branche allgegenwärtig: von einem Data Scientist wird erwartet, dass er mit diesen Datenbanken vertraut ist
  • Hier sehen wir, was eine NoSQL-Datenbank ist und warum Sie sich darüber informieren sollten.
  • Wir werden auch die Eigenschaften von . sehen 5 verschiedene NoSQL-Datenbanken.

Einführung

Hier sind einige Ratschläge, die ich mir gewünscht hätte, als ich mit Data Science angefangen habe: Erfahren Sie alles über die Arbeit mit Datenbanken.

Hier ist ein kurzer Blick darauf, wo Ihr Datenbankwissen ins Spiel kommt:

  • Sie werden in Ihrem Data Science-Interview mit Datenbankfragen konfrontiert.
  • In Ihrer Rolle als Data Scientist arbeiten Sie intensiv mit Datenbanken, Daten Analyst, Business Analyst, etc.
  • Sie nutzen Ihr Wissen über Datenbanken, um Daten für Ihr Data-Science-Projekt zu sammeln und zu sammeln.

Und vieles mehr!

Die unbestreitbare Wahrheit ist, dass wir derzeit Daten in einer beispiellosen Geschwindigkeit und Größenordnung generieren.. Die einfache Tatsache, dass mehr als 8.500 twittert dich 900 Fotos auf Instagram in nur einer Sekunde bläst mich um. Halluziniere den Geist: Wie kommen heutige Datenbanken mit solchen Datenmengen zurecht??

different-nosql-databases-6197427

Um diese große Datenmenge zu handhaben, wir brauchen ein verteiltes Datenbanksystem, das mehrere Knoten ausführen kann und außerdem partitionstolerant ist. Dies bedeutet, dass selbst wenn einer der Knoten aus irgendeinem Grund ausfällt, das System sollte ohne Probleme funktionieren. Partitionstoleranz ist also ein Muss. Jetzt, nach dem CAP-Theorem, wir können keine Partitionstoleranz haben, Verfügbarkeit und Konsistenz alle drei gleichzeitig.

Wir müssen zwischen Verfügbarkeit und Konsistenz verhandeln. Zum Beispiel, in einer Banking-App, ein Kunde sollte den korrekten Saldo sehen, unabhängig davon, von wo aus er darauf zugreift. Ergebnisse können sich um einige Sekunden verzögern, aber sie müssen sehr konsequent sein.

In diesem Artikel, Wir werden verschiedene Arten von NoSQL-Datenbanken sehen, seine Eigenschaften und wann jeder Datenbanktyp verwendet werden sollte.

Inhaltsverzeichnis

  1. Was ist eine NoSQL-Datenbank??
  2. NoSQL-Datenbanktypen
    1. Dokumentenbasierte Datenbank
    2. Schlüsselwertdatenbank
    3. Breite spaltenbasierte Datenbank
    4. Graphbasierte Datenbank
  3. Verschiedene NoSQL-Datenbanken
    1. MongoDB
    2. Kassandra
    3. ElasticSearch
    4. Amazon DynamoDB
    5. HBase

Was ist eine NoSQL-Datenbank??

Dann, Was ist eine NoSQL-Datenbank??

Sie haben vielleicht gehört, dass eine NoSQL-Datenbank jede nicht relationale Datenbank ist, die keine Beziehung zwischen den Daten hat. Gut, Das stimmt überhaupt nicht. Sie können auch die Beziehung zwischen den Daten speichern, jedoch auf andere Weise.

Wir können das sagen “NoSQL” es bedeutet “Kein Solo-SQL”. Hier, Daten werden nicht auf mehrere Tabellen aufgeteilt, da sie alle Daten zulassen, die in irgendeiner Weise zusammenhängen, in einer einzigen Datenstruktur. Wenn Sie mit großen Datenmengen arbeiten, Sie müssen sich keine Sorgen über Leistungsverzögerungen bei der Abfrage einer NoSQL-Datenbank machen. Keine teuren Fugen erforderlich! Sie sind hoch skalierbar und zuverlässig und für den Betrieb in einer verteilten Umgebung ausgelegt..

NoSQL-Datenbanktypen

Jetzt wissen wir, was eine NoSQL-Datenbank ist, Lassen Sie uns die verschiedenen Arten von NoSQL-Datenbanken in diesem Abschnitt untersuchen.

1. Dokumentbasierte NoSQL-Datenbanken

Dokumentbasierte Datenbanken speichern Daten in JSON-Objekten. Jedes Dokument hat Schlüssel-Wert-Paare als Strukturen:

screenshot-from-2020-09-09-15-19-30-9737840

Dokumentbasierte Datenbanken sind für Entwickler einfach, da das Dokument direkt auf die Objekte abgebildet wird, da JSON ein sehr verbreitetes Datenformat ist, das von Webentwicklern verwendet wird. Sie sind sehr flexibel und erlauben uns, die Struktur jederzeit zu ändern.

screenshot-from-2020-09-13-12-55-46-2909824

Einige Beispiele für dokumentenbasierte Datenbanken sind MongoDB, Orient DB und BaseX.

2. Schlüsselwertdatenbanken

Wie der Name schon sagt, speichert Daten als Schlüssel-Wert-Paare. Hier, Schlüssel und Werte können alles sein, wie Ketten, ganze Zahlen oder sogar komplexe Objekte. Sie sind hoch teilbar und sind die besten im horizontalen Maßstab. Sie können in sitzungsorientierten Anwendungen sehr nützlich sein, bei denen wir versuchen, das Clientverhalten in einer bestimmten Sitzung zu erfassen..

Einige der Beispiele sind DynamoDB, Redis y Aerospike.

3. Umfangreiche spaltenbasierte Datenbanken

Diese Datenbank speichert Daten in Datensätzen, die jeder relationalen Datenbank ähnlich sind, aber es hat die Fähigkeit, eine große Anzahl dynamischer Spalten zu speichern. Gruppiert Spalten logisch in Spaltenfamilien.

Zum Beispiel, in einer relationalen Datenbank, hat mehrere Tabellen, aber in einer breiten spaltenbasierten Datenbank, anstatt mehrere Tabellen zu haben, wir haben mehrere Spaltenfamilien.

Hier ist eine gute Ressource für weitere Informationen zu spaltenbasierten Datenbanken:

Beliebte Beispiele für diese Art von Datenbank sind Cassandra und HBase.

4. Graphbasierte Datenbanken

Sie speichern die Daten in Form von Knoten und Kanten. Der Knotenteil der Datenbank speichert Informationen über die Hauptentitäten als Personen, setzt, Produkte, etc., und der Kantenteil speichert die Beziehungen zwischen ihnen. Diese funktionieren am besten, wenn Sie die Beziehung oder das Muster zwischen Ihren Datenpunkten herausfinden müssen, wie ein soziales Netzwerk, Empfehlungs-Engines, etc.

Einige der Beispiele sind Neo4j, Amazon Neptun, etc.

Jetzt, Werfen wir einen Blick auf einige der NoSQL-Datenbanken und ihre Funktionen.

Liste der verschiedenen NoSQL-Datenbanken

1. MongoDB

MongoDB ist die am weitesten verbreitete dokumentenbasierte Datenbank. Dokumente in JSON-Objekten speichern.

mongo-db-logo-7843472

Laut der Website stackshare.io, mehr von 3400 Unternehmen verwenden MongoDB in ihrem Tech-Stack. Über, Google, Ebay, Nokia, Coinbase sind einige davon.

Wann sollte MongoDB verwendet werden??

  1. Falls Sie planen, Hunderte verschiedener Datenquellen zu integrieren, Das dokumentenbasierte Modell von MongoDB ist eine ausgezeichnete Wahl, da es eine einzige einheitliche Ansicht der Daten bietet.
  2. Wenn Sie von Ihrer Anwendung viele Lese- und Schreibvorgänge erwarten, aber es macht dir nicht viel aus, dass ein Teil der Daten beim Serverabsturz verloren geht
  3. Sie können damit Clickstream-Daten speichern und für die Analyse des Kundenverhaltens verwenden

Wenn Sie mit MongoDB beginnen möchten, Ich empfehle Ihnen, die folgenden Artikel zu lesen:

2. Kassandra

Cassandra ist ein verteiltes Open-Source-Datenbanksystem, das ursprünglich von Facebook entwickelt wurde (und motiviert von Googles Big Table). Es ist weit verbreitet und ziemlich skalierbar. Kann Petabyte an Informationen und Tausende gleichzeitiger Anfragen pro Sekunde verarbeiten.

279px-cassandra_logo-svg_-2992395

Ein Mal noch, laut stackshare.io, mehr von 400 Unternehmen verwenden Cassandra in ihrem Tech-Stack. Facebook, Instagram, Netflix, Spotify, Coursera sind einige davon.

Wann ist Cassandra . anzuwenden??

  1. Wenn Ihr Anwendungsfall mehr Schreib- als Lesevorgänge erfordert
  2. In Situationen, in denen Sie mehr Verfügbarkeit als Konsistenz benötigen. Zum Beispiel, Sie können es für Social-Media-Websites verwenden, aber Sie können es nicht für Bankzwecke verwenden.
  3. Sie benötigen weniger Joins und Aggregationen in Ihren Datenbankabfragen
  4. Gesundheitstracker, meteorologische Daten, Auftragsverfolgung und Zeitreihendaten sind einige gute Anwendungsfälle, in denen Sie Cassandra-Datenbanken verwenden können.

3. ElasticSearch

Dies ist auch ein verteiltes Open-Source-NoSQL-Datenbanksystem. Es ist hoch skalierbar und konsistent. Sie können es auch nennen als Analytische Engine. Kann analysieren, große Datenmengen einfach speichern und durchsuchen.

Wenn die Volltextsuche Teil Ihres Anwendungsfalls ist, ElasticSearch ist die beste Option für Ihren Technologie-Stack. Es ermöglicht sogar eine Fuzzy-Match-Suche.

1280px-elasticsearch_logo-svg_-7590200

Mehr von 3000 Unternehmen verwenden Elasticsearch in ihrem Technologie-Stack, inklusive Slack, Udemy, Mittel y Stackoverflow.

Wann Sie ElasticSearch verwenden sollten?

  1. Wenn Ihr Anwendungsfall eine Volltextsuche erfordert, Elasticsearch ist die beste Option
  2. Wenn Ihr Anwendungsfall Chatbots umfasst, bei denen diese Bots die meisten Anfragen lösen, wie wenn eine Person etwas schreibt, Es besteht eine hohe Wahrscheinlichkeit von Rechtschreibfehlern. Sie können die integrierten Fuzzy-Matching-Praktiken von ElasticSearch nutzen
  3. Was ist mehr, ElasticSearch ist nützlich, um Protokolldaten zu speichern und zu analysieren.

4. Amazon DynamoDB

Es ist ein verteiltes Datenbanksystem, das auf von Amazon erstellten Schlüssel-Wert-Paaren basiert und hochgradig skalierbar ist. Aber, Leider, nicht Open Source. Kann leicht handhaben 10 Billionen Anfragen pro Tag, damit Sie sehen können, warum.

amazon-dynamodb-logo-300x150-1-4826258

Mehr von 700 Unternehmen verwenden DynamoDB in ihrem Technologie-Stack, einschließlich Snapchat, Lift y Samsung.

Wann sollte DynamoDB verwendet werden??

    1. Falls Sie eine Datenbank suchen, die einfache Schlüsselwertabfragen verarbeiten kann, aber diese Anfragen sind sehr zahlreich.
    2. Falls Sie mit einem OLTP-Workload arbeiten, wie Online-Ticketbuchung oder Banking, wo die Daten sehr konsistent sein müssen

5. HBase

Es ist auch ein hochskalierbares Open-Source-Distributionsdatenbanksystem. HBase wurde in JAVA geschrieben und läuft auf dem verteilten Hadoop-Dateisystem (HDFS).

apache_hbase-logo-wine_-300x200-9488359

Mehr von 70 Unternehmen verwenden Hbase in ihrem Technologie-Stack, como-Wanderung, Pinterest und HubSpot.

Wann sollte HBase verwendet werden??

  1. Sie müssen über mindestens Petabyte an Daten verfügen, um sie zu verarbeiten. Wenn Ihr Datenvolumen klein ist, Sie werden nicht die gewünschten Ergebnisse erzielen
  2. Wenn Ihr Anwendungsfall Echtzeit- und Direktzugriff auf Daten erfordert, HBase wird die richtige Wahl sein.
  3. Wenn Sie Nachrichten für Milliarden von Menschen einfach in Echtzeit speichern möchten

Abschließende Anmerkungen

Dies ist keineswegs eine vollständige Liste. Es gibt mehr NoSQL-Datenbanken, aber diese werden in der Branche am häufigsten verwendet.

Wenn Sie mit einer dieser Datenbanken oder anderen NoSQL-Datenbanken gearbeitet haben, lass es mich im Kommentarbereich unten wissen. Ich würde gerne von deinen Erfahrungen hören!

Es gibt viele Unterschiede zwischen der Data Science, die wir in Kursen und in der persönlichen Praxis lernen, und der, mit der wir in der Industrie arbeiten. Ich empfehle Ihnen, die kristallklaren kostenlosen Kurse unten zu befolgen, um alles über Analytics zu verstehen, maschinelles Lernen und künstliche Intelligenz:

  1. Einführung in den kostenlosen KI-Kurs / ML | App
  2. Einführung in die KI-Mobile-App / ML für Führungskräfte
  3. Kostenloser Einführungskurs in die Geschäftsanalyse | App

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.