Ich kann nicht helfen zu glauben, dass es nicht viele Anwendungsfälle gibt, die Cassandra besser als Druid bedienen kann. Als Zeitserienspeicher oder Schlüsselwert können Abfragen in Druid geschrieben werden, um die benötigten Daten zu extrahieren. Das Argument hier dient eher der Rechtfertigung von Druiden als von Cassandra.
Gibt es außer dem Fast in Cassandra wirklich noch etwas? Esp, angesichts der Echtzeit-Aggregationen / und Abfrage-Fähigkeiten von Druid, überwiegt es nicht Cassandra.
Für eine geradlinigere Frage, die beantwortet werden kann - stellt Druide nicht eine Obermenge von Features zur Verfügung, die im Vergleich zu Cassandra stehen, und wäre es nicht besser, Druiden gleich einzusetzen? Für alle Anwendungsfälle?
Für eine geradlinigere Frage, die beantwortet werden kann - stellt Druide nicht eine Obermenge von Features zur Verfügung, die mit Cassandra vergleichbar sind, und wäre es nicht besser, Druiden gleich zu verwenden? Für alle Anwendungsfälle?
Überhaupt nicht, sie sind nicht vergleichbar. Wir sprechen hier über zwei sehr unterschiedliche Technologien. Ein einfacher Weg ist, Cassandra als eine verteilte Speicherlösung zu sehen, aber Druid als einen verteilten Aggregator (dh ein großartiges Open-Source-OLAP-ähnliches Tool (:)). Der Beitrag, auf den du dich beziehst, ist meiner Meinung nach ein bisschen irreführend dass es die beiden Projekte in der Welt des Data Mining vergleicht, was nicht Cassandras Fokus ist.
Druide ist überhaupt nicht gut in der Punktsuche. Es liebt Zeitreihen und seine Partitionierung basiert hauptsächlich auf datumsbasierten Segmenten (z. B. stündliche / monatliche usw. Segmente, die basierend auf der Größe erweitert werden können).
Druid aggregiert Ihre Daten basierend auf vordefinierten Aggregatoren - Zahlen (z. B. Summe der Klickereignisse in Ihrer Website mit täglicher Granularität usw.). Wenn man eine Schlüsselsuche von einer Zeichenkette speichern möchte, um eine andere Zeichenkette oder eine genaue Zahl zu sagen, ist Druid die schlechteste Lösung, nach der er suchen kann.
Nicht sicher, das ist wirklich eine Art SO Frage, aber die einfache Antwort ist, dass es eine Frage des Anwendungsfalls ist. Einfach gesagt, Druid glänzt, wenn es sehr schnelle Ad-hoc-Abfragen an Daten ermöglicht, die in Echtzeit aufgenommen wurden. Es ist jetzt konsistent gelesen und Sie sind nicht durch vorberechnete Abfragen beschränkt, um Geschwindigkeit zu erhalten. Auf der anderen Seite können Sie nicht in die Daten schreiben, die es enthält, Sie können nur überschreiben.
Cassandra (von dem, was ich gelesen habe; habe es nicht benutzt) ist eher ein schließlich konsistenter Datenspeicher, der Schreibvorgänge unterstützt und sehr gut mit Pre-Compute funktioniert. Es ist nicht beabsichtigt, Daten kontinuierlich aufzunehmen, während Echtzeitzugriff auf Ad-hoc-Abfragen für dieselben Daten bereitgestellt wird.
Tatsächlich könnten die beiden zusammenarbeiten, wie es auf planetcassandra.org in " Cassandra als Deep Storage Mechanismus für Druid Real-Time Analytics Engine! ".
Das hängt vom Anwendungsfall ab. Zum Beispiel benutzte ich Cassandra für Aggregationszwecke, d. H. Statistiken wie die aggregierte Anzahl von Domänen w.r.t. Benutzer, Abteilungen usw. Ereignistrends (Bandbreite, Benutzer, Apps usw.) mit konfigurierbaren Zeitfenstern. Cassandra mit Druid zu ersetzen, hat sich für mich sehr bewährt, da druid sehr effizient mit Aggregationen arbeitet. Andererseits, wenn du Zeitreihendaten mit eventueller Konsistenz benötigst, ist Cassandra besser, wo du Details über die Ereignisse bekommen kannst.
Die Kombination von Druiden und Elasticsearch hat sehr gut dazu beigetragen, Cassandra aus unserer Big Dada-Infrastruktur zu entfernen .