GeoMesa - 支持的数据存储之间的差异?

GeoMesa - Differences between the supported Data Stores?

我正在浏览 documentation of GeoMesa 和 table 内容公开了许多可以使用的受支持数据存储:

Specific back-end implementations are described in the following chapters:

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

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

我找不到这些数据存储的实施级别(如 supported/missing 功能、稳定性等)的比较。

我的问题:

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

好问题;这最近才出现在 GeoMesa user list 上。

在高层次上,所有 GeoMesa 实现都是 GeoTools DataStores,共享类似的命令行工具,并与 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 数据存储用于流式数据。如果您的应用程序具有流式地理数据并且您希望生成它的近实时视图 and/or 处理它 'live',那么 Kafka 适合您。其他数据存储用于长期持久化、查询和批量分析。