我浏览了documentation of GeoMesa,目录中公开了许多可以使用的支持数据存储:
以下描述了特定的后端实现 章:
Accumulo Data Store Kafka Data Store HBase Data Store Bigtable Data Store Cassandra Data Store
虽然Accumulo和Kafka数据存储文档有很多内容,但HBase,Bigtable和Cassandra并非如此。它没有列出缺少的功能,关于数据存储是否适合在生产中使用的注释。
我找不到这些数据存储的实现级别(如支持/缺失的功能,稳定性等)的比较。
我的问题:
答案 0 :(得分:3)
很棒的问题;这最近出现在GeoMesa user list上。
在高层,所有GeoMesa实现都是GeoTools DataStore,共享类似的命令行工具,并与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就适合您。其他数据存储区用于长期持久性,查询和批处理分析。