我们需要将数百万个键/值加载到 Apache Geode 中,我们想知道有哪些可用选项。我们的值恰好在 256kb 范围内。
2 回答
根据您的应用程序要求/SLA 或者您是否需要执行转换或其他转换等,有几个选项。
开箱即用的 Apache Geode 提供了缓存和区域快照服务。例如,当您要将数据从 1 个现有 Apache Geode 集群迁移到另一个集群时,这很有用。如果您的数据来自外部源(如 RDBMS),则不是那么有用。
另一种选择是根据需要延迟加载数据。这可以通过实现
CacheLoader
接口并向区域注册来完成CacheLoader
。CacheLoader
显然,除了基于当前请求加载和返回单个兴趣值之外,您还可以创建一个基于某些规则/标准智能加载数据块的实现。很多时候,用户创建一个外部的、自定义的转换过程或工具来提取、转换和批量加载 (ETL) 一堆数据到 Apache Geode。这在复杂的用例或需求中很典型。但是,强烈建议使用框架/工具,例如...
Spring XD(现在是Pivotal Cloud Foundry (PCF)上的Spring Cloud Data Flow )是用于创建基于流的应用程序的出色 ETL 工具和管道。Spring XD / SCDF 为“ sources ”和“ sinks ”(例如GemFire Server)提供了许多不同的选项。除了source & sinks之外,您甚至可以“点击”流以使用“处理器”处理数据。因此,无论您是在进行实时流还是面向批处理的数据操作(例如批量加载), Spring XD都是一个不错的选择。
我确信谷歌可能会提供其他关于如何使用 Apache Geode 等 KeyValue 存储执行 ETL 的答案。
希望这可以帮助您继续前进。
干杯,约翰
我们加载 Gemfire 区域的选项非常有限。
1) 春季批次:
- 为加载数据和删除数据创建 Gemfire 编写器
- 创建批量配置并加载它
2)阿帕奇星火