Ich mag den Namen "NoSQL" wirklich nicht, weil er nicht sehr aussagekräftig ist. Es sagt mir, was die Datenbanken nicht sind, wo ich mehr daran interessiert bin, was die Datenbanken sind . Ich denke wirklich, dass diese Kategorie wirklich mehrere Kategorien von Datenbanken umfasst. Ich versuche nur eine allgemeine Vorstellung davon zu bekommen, für welchen Job die jeweilige Datenbank das beste Tool ist.
Ein paar Annahmen, die ich gerne machen würde (und die Sie bitten würden):
- Angenommen, Sie haben die Möglichkeit, eine beliebige Anzahl brillanter Ingenieure einzustellen, die über die gleiche Erfahrung mit jeder jemals existierenden Datenbanktechnologie verfügen.
- Angenommen, Sie verfügen über die technische Infrastruktur, um eine bestimmte Datenbank zu unterstützen (einschließlich der verfügbaren Server und Sysadmins, die diese Datenbank unterstützen können).
- Angenommen, jede Datenbank bietet den bestmöglichen kostenlosen Support.
- Angenommen, Sie haben 100% Buy-in vom Management.
- Angenommen, Sie haben unendlich viel Geld, um das Problem anzugehen.
Jetzt ist mir klar, dass die oben genannten Annahmen eine Menge gültiger Überlegungen bei der Auswahl einer Datenbank überflüssig machen. Mein Fokus liegt jedoch darauf, herauszufinden, welche Datenbank für den Job auf rein technischer Ebene am besten geeignet ist. Ausgehend von den obigen Annahmen lautet die Frage: Für welche Jobs ist jede Datenbank (einschließlich SQL und NoSQL) das beste Tool und warum?
Antworten:
Relationale Datenbanken (SQL) eignen sich hervorragend für Daten, bei denen das zugrunde liegende Modell stabil bleibt. Viele Implementierungen gibt es schon seit einiger Zeit (Oracle, DB2, SqlServer) und sie sind stabil und sicher. Außerdem ist es sehr einfach, erfahrene Administratoren zu finden - und Datenbankadministratoren sind ein Muss! Die Programmierer sollten sich nicht mit Berechtigungen, Setup und Optimierung befassen müssen. Sie sollten in der Lage sein, sich auf die Programmierung zu konzentrieren, und die Administratoren sollten sich darum kümmern, die Datenbank auf dem neuesten Stand zu halten. Relationale Datenbanken sind auch relativ einfach abzufragen, und es gibt viele Tools, die beim Auffinden von Daten helfen.
quelle
SQL
Relationales Objekt. Stabile Server mit genauer Kontrolle über die Berechtigungen.
NoSQL
Flexible Aufbewahrung. Hohe Skalierbarkeit und Sharding-Fähigkeiten.
quelle
In diesem Artikel gibt es einige sehr gute Informationen dazu: Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j Vergleich :
quelle
Ich denke, das ist keine gute Frage, zum Beispiel, welche Art von Fahrzeugen ist gut? Bugatti, BWM, Automobil, Minimaschine, Zug, Lokomotive, Flugzeug?
es hängt von Ihrer Situation ab,
quelle