分区Partition

news/2025/1/11 18:43:14/文章来源:https://www.cnblogs.com/DashVector/p/18545630

理解Partition

向量检索服务DashVector的Collection具有分区(Partition)的能力,同一个Collection下的Doc可通过不同的Partition进行物理和逻辑上的分区。各种Doc操作(如插入Doc、检索Doc等。若指定Partition,则该操作将限定在该指定的Paritition内进行。通过合理的Partition设置,可有效提升Doc操作的效率。

  • 同一个Collection下,可以创建若干个Partition,具体限制见约束与限制

  • 每个Partition通过唯一的名称进行标识,同一个Collection下的Partition名称不可重复;

  • 同一个Collection下的所有Partition,具有相同的Schema,如向量维度、向量数据类型、度量方式、Fields定义等;

  • 每个Collection默认自带一个无法删除的Partition,当各种Doc操作(如插入Doc、检索Doc等,不指定Partition时,等价于使用该默认Partition;

  • Partition需通过API调用显示的创建和删除。

Partition使用场景举例

在Collection中使用Partition能显著提高Query的性能,但并非所有场景都建议使用。当数据量较小时,使用Partition收益不明显。当数据量较大、但没有合适的划分字段时,同样不建议使用Partition。例如,如果没有合适的划分字段但又设置了多个Partition时,检索时可能需要跨多个Partition进行多次Query,检索性能将低于单个Partition的一次Query。

下面列举几个典型的适合Partition场景供参考。

电商图搜场景

例如某跨境电商用户,有2000w服装商品图片,需要实现以图搜图业务场景。商品有固定多个分类(鞋子,裙子,裤子等),商品提特征后按类别入库,每个分类对应一个Partition,查询时用户显示指定类别或用户不指定由分类模型确定类别。

视频监控场景

例如某视频监控厂商,需要对一工业园区的1000个摄像头采集的视频进行抽帧,识别提取车辆特征后,导入DashVector向量库用于后续搜索,生成车辆轨迹等业务场景,但数据只需保留30天,按日期每天创建Partition,并定期删除过期的Partition。

商标侵权检测

例如某商标代理商收集了一个5000w规模的商标数据库,需要快速查询相似商标判定是否侵权。按结构分为文本商标、图形商标、数字商标、字母商标等9个分类,每个分类数据入库DashVector时对应一个Partition。查询时指定Partition,只从特定类别中查询。

多语言问答系统

某电商国际化知识库团队,需要根据用户所使用的语言类别来查询对应语言的相似问题,比如要支持中文、英文、法文三种语言。在知识库内容经过Embedding后,分别导入Chinese、English、French三个Partition中,查询时,根据用户所使用的语言类别选择对应的Partition进行查询。

多租户

Partition也可用来支持多租户场景。例如某电商服务商为其下小微电商提供以图搜图能力,可在一个Collection中创建多个Partition对应多个客户,实现了数据的物理隔离、保证安全的同时,又节约了成本。

Partition使用示例

前提条件

  • 已创建Cluster
  • 已获得API-KEY
  • 已安装最新版SDK

代码示例

说明

需要使用您的api-key替换示例中的 YOUR_API_KEY、您的Cluster Endpoint替换示例中的YOUR_CLUSTER_ENDPOINT,代码才能正常运行。

import dashvector# 创建Client
client = dashvector.Client(api_key='YOUR_API_KEY',endpoint='YOUR_CLUSTER_ENDPOINT'
)
assert client# 创建Collection
client.create(name='understand_partition', dimension=4)
collection = client.get('understand_partition')
assert collection# 创建Partition,Partition名称为shoes
collection.create_partition(name='shoes')# 描述Partition
ret = collection.describe_partition('shoes')
print(ret)# 查看Partition列表
partitions = collection.list_partitions()
print(partitions)# 插入Doc至Partition
collection.insert(('1', [0.1,0.1,0.1,0.1]), partition='shoes'
)# 向量相似性检索时指定Partition
docs = collection.query(vector=[0.1, 0.1, 0.2, 0.1],partition='shoes'
)
print(docs)# 从指定Partition中删除Doc
collection.delete(ids=['1'], partition='shoes')# 查看Partition统计数据
ret = collection.stats_partition('shoes')
print(ret)# 删除Partition
collection.delete_partition('shoes')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/833349.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PGsql 大写字段名,flink目前不支持读取

flink1.20 连接 postgres_flink postgresql-CSDN博客[FLINK-23324] Postgres of JDBC Connector enable case-sensitive. - ASF JIRA

成本减半 + 效率翻倍:这家企业用 11 天实现数据处理飞跃

伴随着云计算和数字化浪潮的推进,越来越多行业数据实时性的权重正在被加速提升,对企业而言,如果想要保证业务的持续发展,其底层数据库必须要能满足数据的实时性和高并发要求。 除此之外,在降本增效的大潮下,“高性价比”也成为企业选择一款数仓的重要因素。 那么,企业应…

Windows激活神器HEU KMS Activator v42.3.1

软件介绍 HEU KMS Activator,简洁高效的全能KMS/OEM激活工具,适用所有Windows, Office版本,无需联网即可一键激活,支持UEFI的KMS激活工具。KMS服务是微软对Windows, Office等产品的批量许可服务,利用KMS可以激活局域网内的产品。该工具利用KMS机制在系统搭建KMS服务器,从…

如何远程实时监控员工的电脑屏幕?60教会你,五个妙招轻松搞定!

https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9073269535369745774%22%7D&n_type=1&p_from=4 使用远程桌面协议(RDP)远程桌面协议(RDP)是一种允许用户远程连接到另一台计算机的技术。通过配置RDP,管理员可以实时访问员工的…

终端ssh终端模拟软件:Termius激活安装包

Termius是一款功能强大的跨平台终端管理工具,提供了友好的用户界面,支持SSH、Telnet、SFTP等多种连接协议,方便用户远程连接和管理服务器。此外,Termius还支持多平台同步、文件传输、批量操作、脚本自动化等进阶功能,且具备强大的数据加密和安全性保障。无论是开发人员、系…

解读Karmada多云容器编排技术,加速分布式云原生应用升级

Karmada提供了一个全局的控制面板,使得用户能够像操作单一集群一样管理多云上的Kubernetes集群。本文分享自来源:《华为云DTSE》第五期开源专刊,作者:任洪彩 华为云高级软件工程师,Karmada社区Maintainer。管理和协调跨多个云平台的容器化应用是当前企业面临的复杂性挑战之…

京东零售广告创意:基于人类反馈的可信赖图像生成

作者:京东零售 冯伟ECCV2024: Towards Reliable Advertising Image Generation Using Human Feedback 链接:https://arxiv.org/abs/2408.00418 摘要:在电商领域,吸引顾客注意力的广告图片至关重要。尽管生成模型可以自动生成图像,但它们往往会产生不符合广告标准的图片,可…

如何分发APP供用户使用?

​在移动互联网时代,APP(应用程序)已成为人们日常生活中不可或缺的一部分。无论是购物、社交、娱乐还是工作,APP都提供了极大的便利。然而,开发一款APP只是第一步,如何将其有效地分发到用户手中,让用户能够轻松下载并使用,才是决定APP成功与否的关键。 一、应用商店分发…

当然不是草台班子-冲刺计划

作业所属课程 软件工程2024作业要求 2024秋软工实践团队作业-第三次( Alpha冲刺)作业目标 做出alpha冲刺的计划团队名称 当然不是草台班子团队成员学号 姓名102201427 侯丽珂102201426 郑嘉祺102201241 戴康怡102201218 肖晗涵112200328 谢李东292300304 陈鹭102201242 魏儀阳…

设备管理系统功能拆解——设备档案管理

设备档案管理是设备管理系统中的一个核心组成部分,简单来说,它就是对设备的所有信息进行系统化的记录与管理,包括设备的基本数据、使用情况以及维护历史等。 如果一个工厂里数十台设备同时运转,没有准确的设备档案—— 设备出现故障时,管理者如何能迅速找到相关信息? 当需…

jenkins环境搭建

linux安装maven及环境配置 一、maven下载地址,安装binaries版本 https://dlcdn.apache.org/maven/maven-3/3.8.8/ 或者使用wget命令命令:wget https://https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-src.tar.gz二、解压命令:tar -zxvf apache-…

快速上手 KSQL:轻松与数据库交互的利器

上次我们通过 Docker 安装了 KingbaseES 数据库,今天我们将开始学习并快速上手使用 KSQL。简单来说,KSQL 本质上是一个客户端工具,用于与数据库进行交互。启动后,我们可以像使用普通的 SQL 一样执行查询和操作,这将是一个很好的练习机会。 同时,我们也可以借此机会探索 K…