2

我正在浏览GeoMesa 的文档,目录公开了许多可以使用的受支持的数据存储:

具体的后端实现在以下章节中描述:

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

虽然 Accumulo 和 Kafka 数据存储文档有很多内容,但 HBase、Bigtable 和 Cassandra 并非如此。它没有列出缺失的功能,并说明数据存储是否适合在生产中使用。

我找不到这些数据存储的实现级别(如支持/缺少的功能、稳定性等)的比较。

我的问题:

  1. 例如,使用 Accumulo 而不是 Cassandra 作为 GeoMesa 的数据存储时,我会有什么好处?
  2. 所有的数据存储都在同一个实现级别上吗?
4

1 回答 1

3

好问题;最近刚刚出现在GeoMesa 用户列表中

在高层次上,所有 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 适合您。其他数据存储用于长期持久性、查询和批处理分析。

于 2017-03-15T12:55:34.843 回答