向量检索版-单表离线数据同步

方案概览

方案介绍:

  • OpenSearch向量检索版:大规模分布式公有云向量检索解决方案,支持多种向量检索算法,高精度下性能表现优异,能完成大规模高性价比的索引构建和检索,索引实现水平拓展与合并,并支持索引流式构建、即增即查、数据实时动态更新。

  • 数据集成Data Integration:数据集成 Data Integration是阿里云对外提供的安全、低成本、稳定高效、弹性伸缩的数据同步平台,属于DataWorks的核心能力之一,致力于提供复杂网络环境下、丰富的异构数据源之间高速稳定的数据移动及同步能力。

如果您想将现有的数据传输到向量检索版中,可以借助数据集成Data Integration进行数据的传输,完成数据的传输只需3步:

  1. 创建实例并完成初始化配置:

    1. 创建OpenSearch-向量检索版实例,并完成表的配置。

    2. 购买Data Integration数据集成资源组,并将资源组绑定到工作空间。

  2. 配置数据同步任务:新增OpenSearch数据源,确认网络可连通,在数据集成控制台配置数据同步任务,将数据源数据同步到OpenSearch。

  3. 问答测试:返回到OpenSearch-向量检索版控制台,对传输的数据进行查询测试。

配置说明:

  • 使用限制:由于OpenSearch网络架构的限制,一个资源组只能同时同步到一个opensearch实例,因此请将向量检索版实例和数据集成Data Integration配置为同一地域。

  • 数据源支持情况:数据集成目前支持40种以上的数据源类型(包括关系型数据库、非结构化存储、大数据存储、消息队列等),通过定义来源与去向数据源,并使用数据集成提供的数据抽取插件(Reader)、数据写入插件(Writer),实现任意结构化、半结构化数据源之间的数据传输。

实例配置

1.创建和配置向量检索版

1.1.创建向量检索版实例

创建OpenSearch向量检索版实例,购买实例可参考购买OpenSearch向量检索版实例

1.2.配置向量检索版实例

新购实例其状态为“待配置”,需要为该实例配置一张表,在操作栏中点击配置,就可以进行表配置的流程。

image

  1. 填写表基础信息,完成后点击下一步

image

配置说明:

  • 表名称:可自定义

  • 数据分片数:分片数设置时,请填写不超过256的正整数,用于提升全量构建速度、单次查询性能。(部分存量实例,仍需各索引表分片数保持一致,或至少一个索引表分片数为1,其余索引表分片数一致)

  • 数据更新资源数:数据更新所用资源数,每个索引默认免费提供248G的更新资源,超出免费额度的资源将产生费用,详情可参考向量检索版计费概述

  • 场景模板:选择“通用模板”

  1. 数据同步,配置数据源,需要选择API的方式进行数据来源的传输,完成后点击下一步

image.png

  1. 字段配置,数据源中哪些字段需要构建索引或参与检索,请配置在下方,建议字段名称与原始数据表中名称一致,便于后续在DataWorks中配置字段映射关系。

image

配置说明:在字段配置时,至少需要定义主键字段向量字段(向量字段需要设置为多值float类型)。

  1. 索引结构,此处主要针对向量索引进行配置,客户需要根据实际的向量数据维度、向量算法进行配置,设置完毕后点击下一步。

image

配置说明:

  • 索引名称可自定义。

  • 主键字段已自动填写完成

  • 勾选好创建的向量字段

  • 向量维度、实时索引、距离类型、向量索引算法可以根据业务情况填写。

  1. 表配置完成后,点击确认创建:待表状态变为「使用中」后,可前往DataWorks界面进行后续同步任务配置。

image.png

2.购买数据集成Data Integration资源组和资源组绑定

2.1.购买数据集成Data Integration资源组

进入数据集成Data Integration售卖页,可以按需求创建实例,但需要注意地域的选择需与向量检索版实例一致。

2.2.资源组绑定

登录DataWorks控制台,需要将已购买的DataWorks资源组绑定到工作空间中,可以选择绑定到默认工作空间,或者创建一个新的工作空间。

image.png

image.png

新增数据源

DataWorks的数据源用于连接不同的数据存储服务,在配置数据集成同步任务之前,需要先定义好同步任务的来源端去向端数据源信息,以便在配置同步任务时,能够通过选择数据源名称来确定数据的读取和写入数据库。

  1. 返回到DataWorks工作空间列表页面,找到创建好的工作空间,在操作栏中选择快速进入数据集成进入DataWorks管理中心,在左侧导航栏选择数据源新增数据源,进行新增数据源的创建。

image.png

image.png

  1. 在新增数据源的搜索栏中找到OpenSearch的数据源,进入新增OpenSearch数据源页面后,先进行向量检索版基础信息的设置,完成后在连接配置中单击测试连通性,如测试资源组连通性状态为可连通,即完成新增数据源的创建。

  • 如果显示无法连通,表示资源组与数据源无法连通,后续相应数据源任务将无法正常执行,此时您需要根据右侧弹出的连通性诊断工具窗口,自助解决连通性问题,连通性诊断工具会提示目前连通失败的原因,请根据提示进行修改调整(例如检查设置的账号、密码、连接地址、创建的实例状态是否异常等)。

image.png

image

配置同步任务

  1. 在左侧导航栏中选择同步任务,对同步任务的来源去向进行设置,然后单击新建同步任务

  • DataWorks支持众多数据源作为数据集成的输入与输出数据源,可通过数据集成模块的数据源为数据集成任务创建数据源,本次演示的数据来源Elasticsearch为例(数据源已提前创建完毕),去向选择OpenSearch。

image.png

进入到新建同步任务页面,在同步类型项中选择单表离线后,就可以前往DataStudio页进行数据传输设置。

image.png

image.png

  1. 新建节点,进入到DataStudio页面后会出现新建节点的弹窗,节点类型选择离线同步,路径可以根据个人情况设置,配置完毕后点击确认。

image.png

  1. 网络与资源配置,分别对数据来源我的资源组数据去向3部分内容进行设置,设置完成后点击下一步。

image.png

  1. 配置任务,需要对数据来源与去向字段映射通道控制3部分内容进行设置,完成后就可开启左上角的运行,进行离线数据同步。

  • 字段映射中的来源字段目标字段需要一致,并且同行相对应,如需改变映射顺序,请手动编辑字段映射。如果字段本身在表中没有(或不支持)默认值填充,则同步会出错。

image.png

image.png

opensearch数据同步规则:

源端数据example

OpenSearch可选类型

0.123

FLOAT/DOUBLE

123

INT8/INT32等其他int类型

"0.1,0.2,0.3"

MULTI_FLOAT/MULTI_DOUBLE(多值类型,一般向量字段才这样设置)

[0.1,0.2,0.3]

MULTI_FLOAT/MULTI_DOUBLE(多值类型,一般向量字段才这样设置)

["abc","defg"]

STRING/MULTI_STRING(单值、多值都可以接受,具体看用户业务场景选择)

string数组元素如[{"a":b},{"c":d}]

STRING/TEXT/RAW等(多层object结构,只支持单值推送)

  • 对于多值类型的数据,在DataWorks的页面上都展示为"MULTI_"前缀,例如MULTI_FLOAT。

  1. 运行结果,在最下方的结果栏中可以看到运行结果是否成功。

image.png

查询测试

返回到OpenSearch-向量检索版控制台,单击查询测试进入查询测试界面,就可以查看已导入的数据结果了。

image.png

image