2017-03-15 3 views
2

Ich Skimming durch die documentation of GeoMesa und das Inhaltsverzeichnis stellt eine Anzahl von unterstützten Datenspeichern, die verwendet werden können:GeoMesa - Unterschiede zwischen den unterstützten Data Stores?

Spezifische Back-End-Implementierungen sind in den folgenden Kapiteln beschrieben:

Accumulo Data Store 
    Kafka Data Store 
    HBase Data Store 
    Bigtable Data Store 
    Cassandra Data Store 

Während die Accumulo und Kafka Datenspeicherdokumentation sehr viel Inhalt hat, ist dies bei HBase, Bigtable und Cassandra nicht der Fall. Fehlende Features werden nicht aufgelistet. Es werden Hinweise darauf angezeigt, ob der Datenspeicher für die Produktion geeignet ist.

Ich konnte keinen Vergleich der Implementierungsebene (wie in unterstützten/fehlenden Features, Stabilität usw.) dieser Datenspeicher finden.

Meine Fragen:

  1. Welchen Nutzen hätte ich, wenn Accumulo über zum Beispiel Cassandra als Datenspeicher für GeoMesa verwenden?
  2. Sind alle Datenspeicher auf derselben Implementierungsebene?

Antwort

3

Große Frage; Dies kam gerade auf die GeoMesa user list vor kurzem.

Auf einer höheren Ebene sind alle GeoMesa-Implementierungen GeoTools-DataStores, teilen ähnliche Befehlszeilen-Tools und integrieren sich in GeoServer. Wenn Sie nur einen allgemeinen Zugriff wie diesen benötigen, sollten alle Datenspeicher in Ordnung sein.

GeoMesas Accumulo-Unterstützung ist am längsten verfügbar, daher gibt es zusätzliche Funktionen, wie zum Beispiel das Herunterdrücken von Statistikberechnungen und die Heatmap-Generierung für die Datenbankserver. Accumulo und HBase sind ähnlich genug, dass es einfach sein sollte, diese Fähigkeiten auf HBase zu verschieben, und dass gerade gearbeitet wird (dies geschieht in der GeoMesa 1.3.x-Zeile).

Accumulo, HBase (und damit Google Cloud Bigtable) Datenspeicher unterstützen Spark/Spark SQL. (Ab GeoMesa Version 1.3.1.)

Für C * gibt es auch eine aktive Bereitstellung zum Erreichen der Merkmalsparität. Aus dem, was ich gesehen habe, macht C * es nicht so einfach, serverseitige Abfrageverarbeitung hinzuzufügen (Accumulo-Iteratoren sind großartig; HBase-Filter und Co-Prozessoren sind auch ziemlich gut).

Der Kafka Data Store dient zum Streaming von Daten. Wenn Ihre Anwendung Streaming-Geodaten hat und Sie diese in Echtzeit anzeigen und/oder "live" verarbeiten möchten, dann ist Kafka genau das Richtige für Sie. Die anderen Datenspeicher dienen zur langfristigen Persistenz, Abfrage und Stapelanalyse.

Verwandte Themen