【问题标题】:GeoMesa - Differences between the supported Data Stores?GeoMesa - 支持的数据存储之间的差异?
【发布时间】:2017-08-06 00:15:57
【问题描述】:
我正在浏览documentation of GeoMesa,目录公开了许多可以使用的受支持数据存储:
具体的后端实现如下所述
章节:
Accumulo Data Store
Kafka Data Store
HBase Data Store
Bigtable Data Store
Cassandra Data Store
虽然 Accumulo 和 Kafka 数据存储文档包含大量内容,但 HBase、Bigtable 和 Cassandra 并非如此。它没有列出缺失的功能,并说明数据存储是否适合在生产中使用。
我找不到这些数据存储的实现级别(如支持/缺失的功能、稳定性等)的比较。
我的问题:
- 在使用 Accumulo 而不是 Cassandra 作为 GeoMesa 的数据存储时,我有什么好处?
- 是否所有数据存储都在同一实现级别上?
【问题讨论】:
标签:
geoserver
accumulo
geomesa
【解决方案1】:
好问题;最近刚刚出现在GeoMesa user list 上。
在高层次上,所有 GeoMesa 实现都是 GeoTools 数据存储,共享类似的命令行工具,并与 GeoServer 集成。如果您只需要这样的一般访问权限,那么任何数据存储都应该没问题。
GeoMesa 的 Accumulo 支持时间最长,因此还有一些附加功能,例如将统计数据计算和热图生成推送到数据库服务器。 Accumulo 和 HBase 非常相似,应该可以直接将这些功能转移到 HBase,并且这项工作正在进行中(这发生在 GeoMesa 1.3.x 行中)。
Accumulo、HBase(以及 Google Cloud Bigtable)数据存储支持 Spark / Spark SQL。 (从 GeoMesa 版本 1.3.1 开始。)
对于 C*,也有积极的部署来达到功能平等。从我所见,C* 并没有让添加服务器端查询处理变得那么容易(Accumulo 迭代器很棒;HBase 过滤器和协处理器也很棒)。
Kafka 数据存储用于流数据。如果您的应用程序具有流式地理数据,并且您希望生成它的近实时视图和/或“实时”处理它,那么 Kafka 适合您。其他数据存储用于长期持久性、查询和批处理分析。