bulk/batch 将数据加载到 Apache Geode(Gemfire) 的选项有哪些?

What are the options to bulk/batch load data into Apache Geode(Gemfire)?

我们需要将数百万个 key/values 加载到 Apache Geode 中,我们想知道有哪些可用选项。我们的值恰好在 256kb 范围内。

根据您的应用requirements/SLAs或您是否需要执行转换或其他转换等,有多种选择

  1. Apache Geode 提供开箱即用的 Cache & Region Snapshot Service。例如,当您想要将数据从 1 个现有的 Apache Geode 集群迁移到另一个集群时,这很有用。如果您的数据来自外部源(例如 RDBMS),则用处不大。

  2. 另一种选择是根据需要延迟加载数据。这可以通过使用区域实现 CacheLoader interface and registeringCacheLoader 来实现。显然,您可以创建一个 CacheLoader 实现,它除了根据当前请求加载和返回单个兴趣值之外,还可以根据一些 rules/criteria 智能地加载数据块。

  3. 很多时候,用户创建一个外部的、自定义的转换过程或工具来提取、转换和批量加载 (ETL) 一堆数据到 Apache Geode 中。这在复杂的用例或需求中很典型。但是,强烈建议使用 framework/tool 之类的...

  4. Spring XD (now Spring Cloud Data Flow on Pivotal's Cloud Foundry (PCF)) is great ETL tool and pipeline for creating stream-based applications. Spring XD / SCDF provides many different options for "sources" and "sinks" (e.g. GemFire Server). In addition to sources & sinks, you can even "tap" the stream to process the data with "Processors”。所以不管你是做实时流还是面向批处理的数据操作(例如批量加载),Spring XD 是个不错的选择。

  5. 我相信 Google 可能会提供有关如何使用 Apache Geode 等键值存储执行 ETL 的其他答案。

希望这对您有所帮助。

干杯, 约翰

我们加载 Gemfire 区域的选项非常有限。

1) Spring 批次:

  • 为加载数据和移除数据创建 Gemfire writer
  • 创建批量配置并提交

2) 阿帕奇火花