VTS:根据Apache SeaTunnel的开源向量数据搬迁东西
导言
VTS(Vector Transport Service),全称向量传输服务,是一个由Zilliz开发的专心于向量和非结构化数据搬迁的开源东西。VTS的中心特色在于其根据Apache SeaTunnel开发,这一现实使其在数据处理和搬迁方面具有明显的优势。Apache SeaTunnel作为一个分布式数据集成渠道,以其丰厚的连接器体系和多引擎支撑而出名,VTS正是在此基础上,进一步扩展了其在向量数据库搬迁和非结构化数据处理的才能。
VTS:根据Apache SeaTunnel的开源向量数据搬迁东西
什么是向量数据库
向量数据库是一种专门用于存储和检索向量数据的
数据库体系:
• 它能够高效处理高维向量数据,支撑类似性查找
• 支撑KNN(K-近邻)查找
• 核算向量间的间隔(欧氏间隔、余弦类似度等)
• 快速检索最类似的向量
• 首要用于AI和机器学习运用场景
• 图画检索体系
• 引荐体系
• 自然语言处理
• 人脸辨认
• 类似产品查找
开发动力和布景
作为抢先的向量数据库服务供给商,Zilliz 深知开发超卓的 AI 运用离不开数据自身。但是,在有用处理 AI 运用中的非结构化数据时,咱们常常会面临以下应战:
-
数据碎片化:用户数据涣散在多个渠道中,如 S3、HDFS、Kafka、数仓和数据湖。
-
多样的数据格局:非结构化数据以各种格局存在,包含 JSON、CSV、Parquet、JPEG 等。
-
缺少完好的处理计划:现在没有一款产品能够彻底满意跨体系高效传输非结构化数据和向量数据的杂乱需求。
在上述这些应战中,最杰出的便是,如何将转化来自各种数据源和以各种格局存在的非结构化数据,并导入向量数据库中。这一进程比处理传统的 SQL 联系型数据要杂乱得多,大部分公司或安排都轻视了这一点。
因而,许多公司或安排在建立自定义的非结构化数据流水线(Pipeline)时,通常会面临功用、可扩展性和保护本钱的问题。这些问题或许会影响数据质量和准确性,然后或许削弱运用的数据剖析才能。
更糟糕的是,许多公司在挑选向量数据库时都忽视或许轻视了供货商确定和数据容灾等要素。
供货商确定带来的影响
供货商确定是指一个安排过度依靠单一供货商的专有技能。在这种情况下,该安排会难以切换到另一种处理计划,或许切换计划的本钱非常昂扬。这个问题在向量数据库范畴尤为重要,由于向量数据的特性和缺少规范化数据格局或许使得跨体系数据搬迁变得极具应战性。
供货商确定的影响远不止于此。它还约束了安排在面临事务需求变化时的灵敏性,乃至或许跟着时刻的推移会进一步添加安排运营本钱。此外,确定单一供货商的生态体系还会约束技能创新。假如所选处理计划无法很好地跟着安排需求的增加而扩展,还会影响运用体系的功用。
在挑选向量数据库时,安排应优先考虑敞开规范(open standards)和互通性,然后下降上述危险。在拟定明晰的数据管理战略进程中,规划数据的可移植性至关重要。定时评价对供货商特定功用的依靠程度,能够协助安排坚持体系灵敏性。
非结构化数据搬迁的应战
但是,即便有了上述预防措施,安排也有必要准备好面临向量数据库带来的共同应战。咱们发现,向量数据库之间的数据搬迁比传统的联系型数据库之间的数据搬迁要杂乱得多。这种杂乱性凸显了挑选适宜的向量数据库的重要性,并解说了为什么需求留意防止供货商确定。向量数据库搬迁的首要应战包含:
-
缺少面向向量数据库的 ETL 东西:像 Airbyte 和 Seatunnel 之类的干流东西仅面向传统的联系型数据库,无法有用满意向量数据库之间的数据搬迁需求。
-
向量数据库之间才能差异:
-
许多向量数据库不支撑数据导出。
-
部分向量数据库的增量数据实时处理才能有限。
-
向量数据库之间的数据 Schema 不匹配。
-
为应对这些应战,安排需求构建更具弹性、灵敏性和与时俱进的 AI 运用,充分利用非结构化数据的力气,并坚持习惯未来技能的灵敏性。
为向量数据而生的数据搬迁东西
Zilliz 推出全新搬迁服务(Migration Services)并将其开源,以协助用户应对上述种种应战。Zilliz 搬迁服务是一款根据 Apache SeaTunnel,专为向量数据搬迁规划的东西。
搬迁服务作业原理
- GitHub地址:https://github.com/zilliztech/vts
得到验证测验后,这项服务将会merge到SeaTunnel官方分支中。
总的来说,推进Zilliz开发这款东西的背面原因包含:
-
满意日益增加的数据搬迁需求:用户的需求不断扩展,演变为将数据从不同的向量数据库、传统的查找引擎(如 Elasticsearch 和 Solr)、联系型数据库、数仓、文档数据库,乃至 S3 和数据湖进行搬迁。
-
支撑实时流数据流和离线导入:跟着向量数据库才能的不断扩展,用户需求对实时流数据的支撑和离线批量导入的才能。
-
简化非结构化数据转化流程:与传统 ETL 不同,转化非结构化数据需求凭借 AI 模型的力气。搬迁服务结合了 Zilliz Cloud Pipelines,能够将非结构化数据转化为 Embedding 向量并完结数据符号等使命,明显下降数据清洗本钱和操作难度。
-
保证端到端的数据质量:数据集成和同步进程中简单呈现数据丢失和不一致的问题。搬迁服务经过强壮的监控和告警机制处理了这些或许影响数据质量的问题。
VTS的中心才能
根据Apache SeaTunnel
VTS承继了Apache SeaTunnel的高吞吐量和低推迟特性,一起添加了对向量数据和非结构化数据的支撑。这使得VTS能够作为一个强壮的东西,用于构建AI运用数据Pipeline,完成向量数据的实时同步,以及非结构化数据的转化与加载。
VTS的中心才能包含:
- 向量数据库搬迁
- AI运用数据Pipeline构建
- 向量数据实时同步
- 非结构化数据转化与加载
- 跨渠道数据集成
向量数据库搬迁
VTS的中心才能之一是向量数据库搬迁。它能够处理向量数据的搬迁,这关于AI和机器学习运用来说至关重要,由于这些运用常常需求处理很多的高维向量数据。
跨渠道数据集成
VTS支撑跨渠道数据集成,这意味着它能够将数据从一个体系无缝搬迁到另一个体系,无论是传统的联系型数据库仍是现代的向量数据库。
VTS支撑的Connector和Transform
支撑的Connector
VTS支撑多种Connector,包含但不限于Milvus、Pinecone、Qdrant、Postgres SQL、ElasticSearch、Tencent Vector DB等,这使得VTS能够与多种数据源和存储体系兼容。
支撑的Transform
VTS还支撑多种数据转化操作,如TablePathMapper(更改表名)、FieldMapper(增删列)、Embedding(文本向量化)等,这些转化操作使得VTS在数据处理上愈加灵敏。
支撑的数据类型
VTS支撑包含Float Vector、Sparse Float Vector、多向量列、动态列、数据刺进,包含Upsert和Bulk Insert(离线,大批量)等多种数据类型,这进一步增强了其在处理杂乱数据搬迁使命时的才能。
功用演示
VTS在功用上也表现超卓,例如在Pinecone到Milvus的搬迁Demo中,同步1亿向量的速率为2961/s,大约需求9个半小时(4核/8GB内存)。
Demo见顶部视频。
非结构化数据支撑
此外,VTS还支撑非结构化数据的处理,现在支撑Shopify数据类型,之后将逐渐支撑包含PDF、Google Doc、Slack、Image/Text在内的非结构化数据类型,不断加强其在极其重要的非结构化数据方面的支撑力度。
运用场景
VTS的运用场景广泛,比如在产品引荐场景中,能够从Shopify同步产品和库存数据,调用嵌入服务,将数据存入Milvus,并进行类似度查找,终究回来最类似的产品,极大地优化产品引荐的作用。
未来规划
展望未来,搬迁服务将不断发展。经过VTS开源搬迁服务东西,不只仅能够处理当时向量数据管理中的问题和应战,还在为创新式 AI 运用开发铺平道路。
VTS的未来规划包含支撑更多的数据源,如Chroma DB、DataStax(Astra DB)、DataLake、Mongo DB、Kafka(实时AI)、目标存储导入等。
据悉,VTS直接刺进原始数据和运用原始数据进行查找的功用,估计在Milvus 2.5版别中完成。
别的,在针对GenAI的ETL pipeline方面,VTS也将测验支撑使命流编列、Embedding service,外部API,以及对开源大数据作业流调度渠道Apache DolphinScheduler的支撑。
结语
VTS作为一个根据Apache SeaTunnel开发的向量数据搬迁东西,不只承继了SeaTunnel的强壮数据处理才能,还扩展了对向量数据和非结构化数据的支撑,使其成为AI和机器学习范畴中不可或缺的数据搬迁东西。更多关于VTS的信息和资源能够在其GitHub页面找到。
本文由 白鲸开源 供给发布支撑!