使用 @AISERVICE 进行外部 AI 嵌入
Oracle GoldenGate 提供了 @AISERVICE 函数,用于直接在复制管道中调用外部 AI 服务。这样可以实现实时扩充(例如嵌入生成、分类或汇总),而不需要定制中间件。通过在复制处理期间调用托管 AI 端点,组织可以将基于云或定制 AI 服务无缝集成到数据移动工作流中。
@AISERVICE 允许 Replicat 调用外部 AI 端点(例如,基于 REST 的嵌入服务),并使用响应来填充目标列。与在数据库内执行逻辑的 @DBFUNCTION 不同,@AISERVICE 将计算分流到外部服务,使其非常适合 GPU 支持的模型或集中式 AI 平台。
以下示例演示了在复制期间使用外部 AI 服务生成嵌入:
MAP cust_addresses, TARGET cust_addresses_vector,
COLMAP (
USEDEFAULTS,
address_vector = @AISERVICE(
SERVICE 'embedding_service_alias',
PARAMS (
'street' = @AFTER.street,
'city' = @AFTER.city,
'zip' = @AFTER.zip
),
RETURN 'vector'
)
);
在此配置中:
embedding_service_alias是 GoldenGate AI 服务端点。Street、City、Zip列作为输入传递到embedding_service_alias- 返回的向量数据存储在目标表中的
address_vector column中。
@AISERVICE 最佳实践
为了在 Oracle GoldenGate 中有效利用 @AISERVICE,企业应遵循一系列优秀实践,确保实时 AI 管道的性能、可靠性和可扩展性。由于 @AISERVICE 在复制路径中引入了外部依赖关系,因此需要仔细设计以避免瓶颈并确保数据处理的一致性。
将 @AISERVICE 用于计算密集型模型,以避免数据库资源过载。
@AISERVICE 应用于计算密集型 AI 工作负载(例如大型语言模型推断或高维嵌入生成),其中,与数据库内执行相比,卸载到 GPU 支持或托管 AI 服务可提供更好的可扩展性。这有助于保留核心事务和查询工作负载的数据库资源。
确保低延迟、高可用性 AI 端点,以防止复制滞后
外部 AI 服务必须具有高可用性和低延迟。由于复制处理取决于服务的响应,因此较慢或不可靠的端点可能会引入复制滞后或后压。在近距离网络(例如,同一区域或 VCN)中部署 AI 服务并使用负载平衡可以显著提高性能。
为服务调用实施超时和重试策略
应实施强大的错误处理和重试机制。瞬态故障(例如网络超时或服务限制)不应中断复制。配置应包括超时、重试策略和回退处理(例如,将失败的记录路由到死信队列供以后处理)。
尽可能缓存或删除重复的请求,以减少外部调用
组织应尽可能减少不必要的外部调用,在适用的情况下实施重复数据删除或缓存策略。例如,相同的输入文本可以重复使用以前生成的嵌入,从而降低成本和延迟。
监视服务延迟和错误率以及 GoldenGate 度量,以确保满足 SLA
全面监测至关重要。团队应跟踪 AI 服务延迟、错误率和吞吐量以及 GoldenGate 复制指标,例如滞后和应用率。关联这些指标可加快故障排除速度,并确保 GoldenGate 与外部 AI 服务之间的集成保持高性能和可靠。