Ich suche nach der Datenbank / dem Mechanismus zum Speichern der Daten, wo ich die Daten schreiben und die Daten mit hoher Leistung lesen kann.
Dieser Speicher wird verwendet, um die Protokollierung wie wichtige Informationen über mehrere Systeme hinweg zu speichern. Since it's critical data which will be logged, read performance should be pretty fast as these data will be used to show history. Since we never do update on them/delete on them/or do any kinda joins, I am looking for right solution.
Wahrscheinlich archivieren wir die Daten sehr lange, aber das ist in Ordnung.
Ich habe versucht, verschiedene Quellen zu betrachten, um verschiedene NoSql-Datenbanken zu verstehen, Expertenmeinung ist immer besser:)
%Vor%Bezogen: Ссылка
Achten Sie darauf Aerospike ; Aerospike dominiert im Adtech-Bereich, wo hoher Durchsatz Lese- und Schreibvorgänge erforderlich sind. Aerospike wird häufig als "die Geschwindigkeit von Redis mit der Skalierbarkeit von Cassandra" angepriesen. Informationen zum Suchen / Abfragen finden Sie in der Aerospike-Dokumentation Sekundärindex .
Weitere Informationen finden Sie in der folgenden Diskussion / Artikeln:
Überprüfen Sie die Leistung schließlich selbst mit der 1 Million TPS in den EC2-Anweisungen .
>Lass mich der Cassandra Sponsor sein.
Haftungsausschluss : Ich sage nicht, dass Cassandra besser ist als die anderen, weil ich nicht einmal so viel Ahnung von Mongo / Redis / was weiß, und ich möchte nicht einmal in solche Sachen kommen .
Der Grund, warum ich Cassandra vorschlage, ist, weil Ihre Bedürfnisse genau mit dem, was Cassandra anbietet, übereinstimmen und Ihre "nicht benötigte Liste" eine Reihe von Funktionen ist, die in Cassandra nicht unterstützt werden (Joins für Instanzen) oder ein Anti-Pattern (löscht und in einigen Situationen Updates).
Von Ihrer "Muss" -Liste, Punkt für Punkt
Schnelles Lesen ohne Fehler : Unterstützt. Sie können die Konsistenzstufe jeder Leseoperation wählen, die entscheidet, wie wichtig es ist, die frischesten Informationen abzurufen und wie wichtig die Geschwindigkeit ist
Schnelles Schreiben ohne Fehler : Wie Punkt 1
Zufälliger Zugriff Leistung : Wenn Sie in der Cassandra-Welt sind, müssen Sie viele Parameter berücksichtigen, um eine zufällige Zugriffsleistung zu erhalten, aber die wichtigste, die in meine kommt mind ist das Datenmodell - wenn Sie ein horizontal skalierbares Datenmodell erstellen ( werfen Sie einen Blick hier ) und Sie vermeiden Hotspots Sie bekommen, was Sie brauchen. Wenn Sie Ihre DB auf eine gute Weise modellieren, sollten Sie O (1) für jede Operation haben, da die Daten strukturiert sind, um abgefragt zu werden
Replikation : In diesem Fall ist Cassandra sogar besser als das, was Sie vielleicht denken. Wenn ein Knoten ausfällt, ändert sich nichts am Cluster und alles (*) funktioniert einwandfrei. Cassandra sieht keinen einzigen Fehlerpunkt. Ich kann Ihnen mit der älteren Cassandra-Version sagen, dass ich eine Betriebszeit von mehr als 3 Jahren hatte
Gleichzeitiges Schreiben / Lesen von Daten : Cassandra verwendet die lww-Richtlinie (last-write-wins), um gleichzeitige Schreibvorgänge auf demselben Schlüssel zu verarbeiten. Das System unterstützt mehrere Lese- / Schreibvorgänge und bei neueren Protokollen auch asynchrone Operationen.
Es gibt viele andere interessante Funktionen, die Cassandra anbietet: Die lineare horizontale Skalierung ist die, die ich mehr schätze, aber es gibt auch die Tatsache, dass Sie den Moment wissen können, in dem alle Daten aktualisiert wurden (der Zeitstempel von lww). Leistungsmerkmale und so weiter.
(*) - wenn Sie nicht die Konsistenzstufe Alle verwenden, die imho, sollte NIEMALS in einem solchen System verwendet werden.
Achten Sie darauf Aerospike ; Aerospike dominiert im Adtech-Bereich, wo hoher Durchsatz Lese- und Schreibvorgänge erforderlich sind. Aerospike wird häufig als "die Geschwindigkeit von Redis mit der Skalierbarkeit von Cassandra" angepriesen. Informationen zum Suchen / Abfragen finden Sie in der Aerospike-Dokumentation Sekundärindex .
Weitere Informationen finden Sie in der folgenden Diskussion / Artikeln:
Überprüfen Sie die Leistung schließlich selbst mit der 1 Million TPS in den EC2-Anweisungen .
>Ich suche nach der Datenbank / dem Mechanismus zum Speichern der Daten, wo ich die Daten schreiben und die Daten mit hoher Leistung lesen kann.
Dieser Speicher wird verwendet, um die Protokollierung wie wichtige Informationen über mehrere Systeme hinweg zu speichern. %code% Wahrscheinlich archivieren wir die Daten sehr lange, aber das ist in Ordnung.
Ich habe versucht, verschiedene Quellen zu betrachten, um verschiedene NoSql-Datenbanken zu verstehen, Expertenmeinung ist immer besser:)
%Vor%Bezogen: Ссылка
Lass mich der Cassandra Sponsor sein.
Haftungsausschluss : Ich sage nicht, dass Cassandra besser ist als die anderen, weil ich nicht einmal so viel Ahnung von Mongo / Redis / was weiß, und ich möchte nicht einmal in solche Sachen kommen .
Der Grund, warum ich Cassandra vorschlage, ist, weil Ihre Bedürfnisse genau mit dem, was Cassandra anbietet, übereinstimmen und Ihre "nicht benötigte Liste" eine Reihe von Funktionen ist, die in Cassandra nicht unterstützt werden (Joins für Instanzen) oder ein Anti-Pattern (löscht und in einigen Situationen Updates).
Von Ihrer "Muss" -Liste, Punkt für Punkt
Schnelles Lesen ohne Fehler : Unterstützt. Sie können die Konsistenzstufe jeder Leseoperation wählen, die entscheidet, wie wichtig es ist, die frischesten Informationen abzurufen und wie wichtig die Geschwindigkeit ist
Schnelles Schreiben ohne Fehler : Wie Punkt 1
Zufälliger Zugriff Leistung : Wenn Sie in der Cassandra-Welt sind, müssen Sie viele Parameter berücksichtigen, um eine zufällige Zugriffsleistung zu erhalten, aber die wichtigste, die in meine kommt mind ist das Datenmodell - wenn Sie ein horizontal skalierbares Datenmodell erstellen ( werfen Sie einen Blick hier ) und Sie vermeiden Hotspots Sie bekommen, was Sie brauchen. Wenn Sie Ihre DB auf eine gute Weise modellieren, sollten Sie O (1) für jede Operation haben, da die Daten strukturiert sind, um abgefragt zu werden
Replikation : In diesem Fall ist Cassandra sogar besser als das, was Sie vielleicht denken. Wenn ein Knoten ausfällt, ändert sich nichts am Cluster und alles (*) funktioniert einwandfrei. Cassandra sieht keinen einzigen Fehlerpunkt. Ich kann Ihnen mit der älteren Cassandra-Version sagen, dass ich eine Betriebszeit von mehr als 3 Jahren hatte
Gleichzeitiges Schreiben / Lesen von Daten : Cassandra verwendet die lww-Richtlinie (last-write-wins), um gleichzeitige Schreibvorgänge auf demselben Schlüssel zu verarbeiten. Das System unterstützt mehrere Lese- / Schreibvorgänge und bei neueren Protokollen auch asynchrone Operationen.
Es gibt viele andere interessante Funktionen, die Cassandra anbietet: Die lineare horizontale Skalierung ist die, die ich mehr schätze, aber es gibt auch die Tatsache, dass Sie den Moment wissen können, in dem alle Daten aktualisiert wurden (der Zeitstempel von lww). Leistungsmerkmale und so weiter.
(*) - wenn Sie nicht die Konsistenzstufe Alle verwenden, die imho, sollte NIEMALS in einem solchen System verwendet werden.
Tags und Links database performance nosql aerospike