19.1. 架构

GeoMesa文件系统数据存储区(GeoMesa FSD)利用现代云本地和分布式文件系统的性能特征来扩展批量分析查询。对于使用Spark SQL和MapReduce等框架执行批量出口查询或大型分析作业而言,FSD是一个不错的选择。FSD与其他数据存储区的不同之处在于,接收和点查询延迟是以高吞吐量查询性能为代价的。FSD可与低延迟接收和基于缓存的数据存储系统(如HBase或Kafka)很好地配合使用,从而提供最佳的热存储和热存储选项组合。这种配对通常称为Lambda架构。

GeoMesa FSD由几个主要组件组成:

  • FileSystem -实施GeoMesa文件系统API的单独管理的存储系统

  • Partition Scheme -在文件系统上布局数据的策略

  • Storage Format -定义的格式或编码,用于在文件中存储数据

  • Query Engine -用于执行查询和运行分析作业的查询引擎或客户端

19.1.1. FileSystem

GeoMesa FSD可以利用任何实现Hadoop文件系统API的文件系统。与GeoMesa FSD配合使用的最常见文件系统包括:

  • HDFS -Hadoop分布式文件系统

  • S3 -Amazon Simple Storage

  • GCS -谷歌云存储

  • WASB -Windows Azure Blob存储

  • Local -本地挂载的文件系统(例如本地磁盘或NFS)

选择文件系统通常取决于成本和性能要求。需要注意的一点是,S3、GCS和WASB都是“本地云”存储,这意味着它们内置于Amazon、Google和Microsoft Azure云平台中。这些云本地文件系统可独立于计算节点进行扩展,这通常会提供更具成本效益的存储解决方案。与HDFS相比,它们的每GB存储价格更低,但延迟更高。它们还能够在您关闭所有计算节点后保存数据。

文中提到的任何文件系统都是FSD的不错选择。如果您有更多关于选择的问题,请联系 GeoMesa team

19.1.2. 分区方案

分区方案定义了数据在文件系统上的存储方式。该方案很重要,因为它决定了如何查询数据。在评估查询筛选器时,将利用分区方案来清理与筛选器不匹配的数据文件。有关详细信息,请参阅 分区方案

19.1.3. 元数据

FSD存储有关分区和数据文件的元数据,以避免重复询问文件系统。默认情况下,元数据信息作为更改日志存储在文件系统中。对于更高级的用例,FSD还支持使用关系数据库。有关详细信息,请参阅 文件系统元数据

19.1.4. 存储格式

  • Apache Parquet -ApacheParquet是Hadoop生态系统中领先的可互操作的柱状格式。它提供了结构化数据的高效压缩、存储和查询。

  • Apache ORC --ApacheORC是一种自我描述的类型感知列文件格式,专为Hadoop工作负载设计。它针对大型流读取进行了优化,但集成了对快速查找所需行的支持。

  • Converter Storage -转换器存储格式是一种合成格式,允许您使用定义的分区方案将GeoMesa转换器覆盖在文件系统之上。这允许您利用以JSON、CSV、TSV、AVRO或其他格式存储的现有数据。转换器是可扩展的,允许用户根据需要公开他们自己的定制存储格式。有关转换器的更多详细信息,请参见 GeoMesa转换器 。转换器存储是只读格式。