Ich denke ' Was? hey, dass Sie tatsächlich NoSQL für verwenden, ist eine ausgezeichnete Lese für echte Nutzungsfälle für NoSQL-Datenbanken. Lassen Sie mich einige von ihnen hier zitieren:
Verwalten großer Streams nicht-transaktionaler Daten: Apache-Protokolle, Anwendungsprotokolle, MySQL-Protokolle, Clickstreams usw.
Synchronisierung von Online- und Offline-Daten. Dies ist eine Nische, die CouchDB ins Visier genommen hat. Schnelle Antwortzeiten bei allen Belastungen.
Schwere Joins werden vermieden, wenn die Abfrage für komplexe Joins für ein RDBMS zu groß wird.
Weiche Echtzeitsysteme, bei denen eine niedrige Latenz entscheidend ist. Spiele sind ein Beispiel.
Anwendungen, in denen eine Vielzahl verschiedener Schreib-, Lese-, Abfrage- und Konsistenzmuster unterstützt werden müssen. Es gibt Systeme, die für 50% Lesevorgänge, 50% Schreibvorgänge, 95% Schreibvorgänge oder 95% Lesevorgänge optimiert sind.
Nur-Lese-Anwendungen, die extrem schnell und ausfallsicher sind, einfach Abfragen und können leicht veraltete Daten tolerieren.
Anwendungen, die moderate Leistung, Lese- / Schreibzugriff, einfache Abfragen, vollständig erfordern maßgebliche Daten.
Nur-Lese-Anwendung, die komplexe Abfrageanforderungen.
Laden Sie das Guthaben auf, um Daten und Nutzungskonzentrationen aufzunehmen und Mikroprozessoren beschäftigt zu halten.
Echtzeiteinfügungen, Aktualisierungen und Abfragen.
Hierarchische Daten wie Thread-Diskussionen und Teilexplosion.
Dynamische Tabellenerstellung.
Zweistufige Anwendungen, bei denen Daten mit niedriger Latenz über eine schnelle NoSQL-Schnittstelle zur Verfügung gestellt werden, aber die Daten selbst können von Hadoop-Apps mit hoher Latenz oder anderen Anwendungen mit niedriger Priorität berechnet und aktualisiert werden.
Sequenzielles Datenlesen. Das richtige zugrundeliegende Datenspeichermodell muss ausgewählt werden. Ein B-Baum ist möglicherweise nicht das beste Modell für sequentielle Lesevorgänge.
Abschneiden eines Teils des Dienstes, der möglicherweise eine bessere Leistung / Skalierbarkeit auf dem eigenen System benötigt. Beispielsweise müssen Benutzeranmeldungen eine hohe Leistung aufweisen, und diese Funktion kann einen dedizierten Dienst verwenden, um diese Ziele zu erreichen.
Zwischenspeichern. Eine leistungsstarke Caching-Ebene für Websites und andere Anwendungen. Beispiel ist ein Cache für das vom Large Hadron Collider verwendete Datenaggregationssystem.
Abstimmung.
Echtzeit-Zähler für Seitenaufrufe.
Benutzerregistrierungs-, Profil- und Sitzungsdaten.
Dokument-, Katalogverwaltungs- und Content-Management-Systeme. Diese werden erleichtert, indem die Möglichkeit, komplexe Dokumente zu speichern, eher ein Ganzes als relationale Tabellen organisiert. Eine ähnliche Logik gilt für Inventar, Einkaufswagen und andere strukturierte Datentypen.
Archivierung. Speicherung eines großen kontinuierlichen Datenstroms, auf den noch online zugegriffen werden kann.
Dokumentorientierte Datenbanken mit einem flexiblen Schema, das Schemaänderungen im Laufe der Zeit verarbeiten kann.
Analysen. Verwenden Sie MapReduce, Hive oder Pig, um analytische Abfragen und Scale-out-Systeme durchzuführen, die hohe Schreiblasten unterstützen.
Tags und Links nosql key-value-store