Ist Cassandra eine gute Alternative für Hadoop als Data Warehouse, wo Daten nur angehängt werden und alle Updates in Quellendatenbanken die vorhandenen Zeilen im Data Warehouse nicht überschreiben sollen, sondern angehängt werden. Ist Cassandra wirklich in der Lage, als Data Warehouse oder einfach als Datenbank zu fungieren, um die Ergebnisse von Batch/Stream-Abfragen zu speichern?Cassandra für Datawarehouse
Antwort
Cassandra kann sowohl als Data Warehouse (Rohdatenspeicher) als auch als Datenbank (für die Enddatenspeicherung) verwendet werden. Es hängt mehr von den Fällen ab, die Sie mit den Daten machen möchten.
Möglicherweise müssen Sie auch Hadoop und Cassandra für verschiedene Zwecke verwenden.
Angenommen, Sie müssen Daten von mehreren mobilen Geräten erfassen und verarbeiten und dem Benutzer einen komplexen Aggregationsbericht bereitstellen. Also zuerst müssen Sie Daten so schnell wie möglich speichern (da neue Teile sehr oft erscheinen), so dass Sie Cassandra hier verwenden. Da Cassandra in Aggregationsfunktionen eingeschränkt ist, laden Sie Daten in HDFS und führen einige Verarbeitungen über HQL-Skripte durch (nehmen Sie an, Sie sind nicht sehr gut im Codieren, aber in komplizierten SQL-Anweisungen sehr gut). Und dann verschieben Sie die Berichtsergebnisse von HDFS nach Cassandra in einer dedizierten Berichtstabelle, die durch die Benutzer-ID partitioniert ist.
Wenn der Benutzer also einen Aggregationsbericht über seine Aktivität im letzten Monat haben möchte, nimmt die Anwendung die ID des aktiven Benutzers und gibt das aggregierte Ergebnis von Cassandra zurück (da es sich um eine einfache Schlüsselwertsuche handelt).
Also für Ihre Frage, ja, es könnte eine Alternative sein, aber die Auswahlstrategie hängt von den Datentypen und Ihren Anwendungsfällen ab.
Sie können mehr Informationen über die Nutzung von Cassandra lesen here
- 1. Kostenlose Datenbank für kleines Datawarehouse
- 2. Umgang mit Nullen in Datawarehouse
- 3. Datawarehouse - So verknüpfen Sie Dimensionen
- 4. Azure SQL Datawarehouse JDBC-Konnektivität
- 5. SQL/SSIS DataWareHouse Faktentabelle laden, Best Practices?
- 6. DataWarehouse - Fact-Tabellen mit unterschiedlicher Granularität/Dimensionsmessungen
- 7. Erstellen Sie einen Zeitplanjob SQL Datawarehouse
- 8. Verwenden von Ansichten in einem Datawarehouse
- 9. Stresstest für Cassandra
- 10. Cassandra + Spark für Echtzeitanalyse
- 11. Query Parser für Cassandra
- 12. Stubbed Cassandra für Datenspeicherung
- 13. Schemadesign für Cassandra
- 14. Golang Client für Cassandra
- 15. Abhängigkeit für cassandra Phantom
- 16. Cassandra Auswahlabfrage für Zeitreihendaten
- 17. Cassandra Fehler für JAVA
- 18. DataStax Java Treiber für Apache Cassandra 3.2 auf Cassandra 3.10
- 19. was empfehlen cassandra GUI-Client für cassandra-1.1.2
- 20. Cassandra Alter Keyspace für Replikation
- 21. Cassandra: Zeitzone für Zeitstempel ignorieren
- 22. Cassandra Modellierung für Date Range
- 23. konfigurieren JMX für Cassandra richtig
- 24. Öffnen Cassandra Stable für Zeilenanzahl
- 25. Geospatial Indizes für Cassandra 3.4
- 26. YCSB für Cassandra 3.0 Benchmarking
- 27. InvalidTypeException für Cassandra benutzerdefinierten Typ
- 28. Beste Java ORM für Cassandra
- 29. Empfohlener AWS-Speichertyp für Cassandra?
- 30. Cassandra als Ersatz für PostgreSQL
Sagen wir, ich will jede Änderung in einer Quelldatenbank protokollieren, um die Änderungen, um es sehen Überstunden dann kann Cassandra dort helfen, da seine in erster Linie eine OLTP-Datenbank es die Aktualisierung könnte bestehende Reihe, anstatt für jede Änderung eine neue hinzuzufügen – guru107
Ja, dies ist mit einigen Einschränkungen sinnvoll. Zum Beispiel entspricht jede Cassandra der RDBMS-Zeile. Im Grunde würde Cassandras Befehl "insert" nur die Zeile mit der neuen Spalte anhängen, und das würde gut funktionieren. Angenommen, Ihre Daten werden häufig geändert. Sie möchten also nur einige Änderungen rückgängig machen, aber Sie haben nur eine Zeile mit 10 Millionen Spalten. Wie würdest du den Rollback finden? Sie können auch erwägen, Änderungen nicht nach Zeilen, sondern nach Zeitmarken zu speichern. Aber dann wäre es schwer, die Zeile in der großen Liste der Zeilen zu ändern. –