Wie können NoSQL- Datenbanken wie MongoDB für die Datenanalyse verwendet werden? Welche Funktionen ermöglichen eine schnellere und leistungsfähigere Datenanalyse?
Wie können NoSQL- Datenbanken wie MongoDB für die Datenanalyse verwendet werden? Welche Funktionen ermöglichen eine schnellere und leistungsfähigere Datenanalyse?
Antworten:
Um ganz ehrlich zu sein, sind die meisten NoSQL-Datenbanken nicht sehr gut für Anwendungen in Big Data geeignet. Für die überwiegende Mehrheit aller großen Datenanwendungen, die Leistung von MongoDB im Vergleich zu einer relationalen Datenbank wie MySQL ist deutlich schlecht genug , um zu rechtfertigen ist bleiben weg von so etwas wie MongoDB ganz.
Trotzdem gibt es einige wirklich nützliche Eigenschaften von NoSQL-Datenbanken, die bei der Arbeit mit großen Datenmengen sicherlich zu Ihren Gunsten sind, obwohl die Wahrscheinlichkeit, dass diese Vorteile die im Allgemeinen schlechte Leistung von NoSQL im Vergleich zu SQL für Lesezugriffe überwiegen. Intensive Operationen (die den typischen Big-Data-Anwendungsfällen am ähnlichsten sind) sind gering.
Persönlich könnte ich vorschlagen, dass Sie sich auch Diagrammdatenbanken wie Neo4j ansehen , die für bestimmte Arten von Abfragen eine wirklich gute Leistung zeigen, wenn Sie ein Backend für Ihre Data-Science-Anwendungen heraussuchen möchten.
json
ist völlig strukturierte Daten. Sie können technisch jede Art von Datenanalyse durchführen, wobei die Verwendung einer NOSQL-Datenbank eigentlich nichts miteinander zu tun hat. Es gibt Tools, die auf dem Mongo aufbauen , wie zum Beispiel analytica.
Ein Vorteil des schemafreien NoSQL-Ansatzes besteht darin, dass Sie kein vorzeitiges Commit durchführen und das richtige Schema zur Abfragezeit mit einem geeigneten Tool wie Apache Drill anwenden können . Einzelheiten finden Sie in dieser Präsentation . MySQL wäre in einer Big-Data-Umgebung nicht meine erste Wahl.
Betrachten, versuchen und vielleicht sogar mehrere Datenbanken verwenden. Hier geht es nicht nur um "Leistung". Es wird wirklich auf Ihre Anforderungen ankommen. Von wie vielen Daten sprechen Sie? welche Art von Daten? wie schnell brauchst du es Lesen Sie mehr oder schreiben Sie mehr?
Folgendes können Sie in einer SQL-Datenbank nicht tun: Berechnen Sie die Stimmung. http://www.slideshare.net/shift8/mongodb-machine-learning
Natürlich ist die Geschwindigkeit in diesem Fall möglicherweise nicht schnell genug für Ihre Anforderungen, aber es ist etwas, das möglich ist. Mit einigem Zwischenspeichern bestimmter Aggregatwerte war es sogar durchaus akzeptabel. Wieso würdest du das machen? Bequemlichkeit.
Convenience ist wirklich etwas, von dem Sie überzeugt sein werden. Genau aus diesem Grund wurden (meiner Meinung nach) NoSQL-Datenbanken erstellt. Leistung natürlich auch, aber ich versuche, Benchmarks abzuwerten und mich mehr auf andere Belange zu konzentrieren.
MongoDB (und einige andere NoSQL) -Datenbanken verfügen über einige sehr leistungsstarke Funktionen, z. B. integrierte Map / Reduce-Funktionen. Dies könnte zu Zeit- und Kosteneinsparungen bei der Verwendung von Hadoop führen. Oder es könnte ein Prototyp oder ein MVP bereitgestellt werden, um ein größeres Unternehmen zu gründen.
Was ist mit Graphdatenbanken? Sie sind auch "NoSQL". Schauen Sie sich Datenbanken wie OrientDB an. Wenn Sie über Leistung streiten wollen ... Ich glaube nicht, dass Sie mir eine SQL-Datenbank zeigen werden, die dort schneller ist =) ... und Graphendatenbanken haben eine wirklich erstaunliche Anwendung, die darauf basiert, was Sie tun müssen.
Die Regeln der Technik (und des Internets) fühlen sich mit einer Sache nicht wohl. Du wirst begrenzt sein und dich auf ein Scheitern einstellen.