在本文中,我们讨论如何使用 Amazon DynamoDB 和 Amazon OpenSearch 服务的零ETL集成来实现近实时分析。随着 Rockset 被 OpenAI 收购,许多使用 Rockset 进行分析的客户可能需要迁移到其他解决方案。我们将探讨如何有效地从 Rockset 转向 OpenSearch 服务,特别是在游戏公司等场景中应用此技术,以确保用户行为的实时分析和数据处理。
在 2024 年 7 月 19 日,由 Lee Hannigan 和 Praveen Kadipikonda 撰写的文章中,我们提供了有关如何将 Amazon DynamoDB 数据与 Amazon OpenSearch 服务进行零ETL集成的信息。AWS 最近推出了这一集成功能,以便用户能在几乎实时的环境中同步数据,这个完全托管的解决方案免除了传统 ETL 过程中的繁琐步骤。
在这篇文章中,我们将阐述如何成功将现有的 Rockset 使用案例转移到 OpenSearch 服务,以满足对近实时数据分析的需求。我们将通过一个真实的案例进行说明:一家公司用 DynamoDB 跟踪用户的游戏内交互如购买和得分。这些数据需要即时分析,以提供用户行为的见解、检测异常和个性化游戏体验。
DynamoDB 是一个完全托管的 NoSQL 数据库服务,以其低延迟性能和无缝扩展能力而著称。它能高效处理几乎所有结构化和半结构化数据,非常适合需要一致的单毫秒响应时间的应用程序。
OpenSearch 服务是一个托管服务,用户可以轻松执行交互式日志分析、实时搜索和应用监控、网站搜索、语义搜索、模糊全文搜索等。用户可以在 AWS 云中部署、操作和扩展 OpenSearch 集群及 OpenSearch 无服务器集合。OpenSearch Dashboards 是一个集成的可视化工具,它使用户能够实时探索数据。
DynamoDB 的零ETL 集成使您能够通过自动复制和转换 DynamoDB 数据而无需自定义代码或基础设施,就能对数据进行快速搜索。这一集成使用 Amazon OpenSearch Ingestion 将数据在 DynamoDB 和 OpenSearch 服务之间同步。
OpenSearch Ingestion 是一个完全托管的无服务器数据收集器,它可以将实时日志、跟踪和事件数据传送到 OpenSearch 服务域和 OpenSearch 无服务器集合。通过配置数据生产者将数据发送到 OpenSearch Ingestion,您可以自动传送并按照要求转换数据。
零ETL集成使用 DynamoDB 导出到 Amazon Simple Storage Service (S3) 创建初始快照,并利用 Amazon DynamoDB Streams 实现对后续更改的近实时复制,同时确保您的数据始终保持最新状态,随时可供搜索和分析。该集成不会消耗表的读取或写入吞吐量,因此不会影响您的生产流量。
您必须为导出启用 时间点恢复,并使用 NEWANDOLDIMAGES 选项进行持续复制。
零ETL 集成提供简单、可扩展的实时数据处理、索引和基于 SQL 的查询 功能,允许您直接对实时数据流进行操作。
以下图示展示了解决方案架构:
这些服务如何协同工作:
数据导入 零ETL 使用来自 DynamoDB S3 导出的初始快照数据,加载到 OpenSearch 中。随后,利用 DynamoDB Streams 复制进一步的近实时更改并将其索引到 OpenSearch 服务上。通过这一自动化流程,您的数据始终保持最新状态,方便搜索和分析。
实时查询 OpenSearch 服务提供强大的 查询能力,使您能够对数据执行复杂的搜索和聚合分析。不论是分析趋势、检测异常,还是执行搜索查询以获得相关结果,OpenSearch 服务都提供所需的工具。

可视化 使用 OpenSearch Dashboards,您可以创建交互式和实时的 可视化 数据。您可以定制仪表盘以显示关键指标和见解,使您能够快速全面地查看数据。
对于游戏公司的使用案例,该集成使公司能够实时监控玩家活动、识别热门游戏内物品,并根据玩家行为动态优化游戏内经济系统。这种实时洞察力显著提高了用户参与度和满意度。
该服务集成的优势包括:
实时洞察 通过零ETL 实现近实时分析,极低的延迟使您能够进行及时且明智的决策。简化复杂性 零ETL 除去了复杂的 ETL 管道,简化了数据集成并降低了操作开销。可扩展性和可靠性 DynamoDB 和 OpenSearch 服务均为完全托管且可扩展,确保您的应用程序具备高可用性和可靠性。要设置 DynamoDB 和 OpenSearch 服务之间的集成,请按照以下步骤操作:
在 DynamoDB 控制台中,选择导航面板上的 集成。选择要同步的 DynamoDB 表,然后选择 创建。
提供一个唯一的管道名称,并配置管道容量和计算资源,以使您的管道能够根据当前的导入工作负载自动扩展。
输入最小和最大数据导入 OpenSearch 计算单元 (OCUs) 。在这个示例中,我们使用默认的管道容量设置,最小值为 2 个 OCU,最大值为 4 个 OCU 。OCU 是用于数据导入的基本测量单位。每个 OCU 结合约 8 GB 的内存和 2 个虚拟 CPU。OpenSearch Ingestion 支持最多 96 个 OCUs,并且可以根据导入工作负载的需求自动进行扩展。一般来说,一个 OCU 可以处理大约 1000 个 DynamoDB 表的写入请求单位 (WCU)。
在管道配置部分的代码默认为 DynamoDB 蓝图。对于单表设计源,您可以选择使用 ZeroETL with DynamoDB single table template,该模板通过条件路由不同架构的表分区到不同的 OpenSearch 索引来导出单个 DynamoDB 表。
以下图片展示了使用 DynamoDB 模板预配置的管道配置:
您还可以指定索引映射模板,以确保您的 DynamoDB 字段正确映射到 OpenSearch 服务索引中的字段。
一元飞机场官网有关管道配置设置的全面概述,请参阅 OpenSearch Data Prepper 文档。您必须为管道设置 AWS 身份和访问管理 (IAM) 角色。有关说明,请参见 配置管道角色。
几分钟后,您的 OpenSearch Ingestion 管道将处于活动状态,如下面的屏幕截图所示。
有关设置和配置 DynamoDB 与 OpenSearch 服务集成的零ETL 的详细步骤,请参见 入门 Amazon OpenSearch Ingestion。
从 Rockset 的 DynamoDB 集成交迁到 OpenSearch 的过程十分顺利,得益于零ETL 功能。此前依赖 Rockset 进行实时分析的应用程序现在需要重新配置,以便在 OpenSearch 上执行分析。
两个平台都提供强大的分析功能。OpenSearch 提供了一种被称为 查询 DSL 的搜索语言,这是一种灵活且强大的 JSON 基接口,能够 granularity 控制搜索和复杂分析查询的执行。此外,您还可以利用 OpenSearch 的 SQL 插件 使用 SQL 和 PPL 语言来运行搜索和分析查询。SQL 插件支持多种响应格式,诸如 JDBC、CSV 和 JSON,并且提供一个 explain 端点,以将您的查询转换为 OpenSearch DSL 或进行错误排查。
这种灵活性确保了在从 Rockset 迁移到 OpenSearch 的过程中,您可以继续使用熟悉的 SQL 查询,同时利用 OpenSearch 强大的分析能力。有关查询 DSL 的更详细信息以及其功能,请参见 OpenSearch 查询 DSL 文档。
如果您希望实现完全无服务器的架构,可以利用 OpenSearch 服务 提供的无服务器配置。
通过利用 DynamoDB 和 OpenSearch 服务的无服务器能力,您能够建立一个完全托管、可扩展且具有成本效益的实时分析平台,让您的团队将重心放在提供业务价值上,而非管理基础设施。
无论您是从 Rockset 迁移还是构建新应用程序,DynamoDB、零ETL 和 Amazon OpenSearch 服务的结合为您提供了构建可扩展、具有成本效益和高性能的实时分析平台所需的工具。如需入门,请参见 DynamoDB 零ETL 集成与 Amazon OpenSearch 服务 和 AWS reInvent 2023 视频。我们还推荐您尝试工作坊 Amazon DynamoDB 零ETL 集成与 Amazon OpenSearch 服务,该工作坊提供有关设置管道及充分利用集成功能的详细步骤。
Lee Hannigan 是一名高阶 DynamoDB 解决方案架构师,现驻于爱尔兰的 Donegal。他在分布式系统方面具有丰富的专业知识,具备大数据与分析技术的坚实基础。在职期间,Lee 擅长帮助客户设计、评估和优化其工作负载,充分利用 Amazon DynamoDB 的各种能力。
Praveen Kadipikonda 是一名高级 OpenSearch 解决方案架构师,驻扎在达拉斯,他帮助客户构建高效、性能优越且可扩展的分析解决方案。
标签: 零ETL
销售热线
营销一部(传统产品):王部长 15371160678
营销二部(光伏焊带):曹部长 13921871003
电子邮箱
ascorbic@icloud.com
公司地址
陇南市括某之森253号