当前位置:首页 > 数据库 > 正文内容

分区Partition

邻居的猫1个月前 (12-09)数据库601

了解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')

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=576

分享给朋友:

“分区Partition” 的相关文章

Docker 中 PostgreSql 主从热备,主从切换计划

Docker 中 PostgreSql 主从热备,主从切换计划

环境阐明 Docker Windows 11 PostgreSql 17 树立进程 0. 宿主机预备: 找个当地创立一个文件夹用来挂载容器中数据库Data文件夹,这儿我用的是:C:\Users\Administrator\docker\Postgresql\replication 1. 主数据库预备...

mysql唯一键,mysql唯一键怎么设置

mysql唯一键,mysql唯一键怎么设置

MySQL 中的唯一键(Unique Key)是一种约束,它确保表中的某个列或某组列中的每个值都是唯一的。这意味着在这些列中,不允许有重复的值。在创建表时,可以通过 `UNIQUE` 关键字来定义唯一键。唯一键可以是单列上的,也可以是多个列的组合。例如,假设你有一个 `users` 表,其中包含 `...

大数据金融的含义,大数据金融的定义与概述

大数据金融的含义,大数据金融的定义与概述

大数据金融,也被称为大数据金融科技或金融科技(FinTech),是一种利用大数据、人工智能、云计算、区块链等先进技术手段,对传统金融业务进行创新和优化,以提高金融服务的效率、降低成本、增强风险管理能力、提升用户体验的金融模式。大数据金融的主要特点包括:1. 数据驱动决策:通过收集和分析大量数据,包括...

mysql查询表,mysql查询表数据

mysql查询表,mysql查询表数据

MySQL 是一个流行的关系型数据库管理系统,它使用 SQL(结构化查询语言)来查询和管理数据。下面是一些基本的 MySQL 查询示例,用于查询表中的数据:1. 查询表中所有数据:```sqlSELECT FROM 表名;```2. 查询表中特定列的数据:```sqlSELECT 列1, 列2,...

澳彩大数据分析软件,助力体育赛事预测与投注决策

澳彩大数据分析软件是一款专门为彩票爱好者设计的预测分析工具,通过深入挖掘历史开奖数据,结合先进的数学模型和算法,提供精准的彩票开奖结果预测,帮助彩民提高中奖概率。以下是该软件的一些主要特点和功能:1. 数据挖掘和机器学习技术: 该软件利用先进的数据挖掘和机器学习技术,对海量数据进行深度分析,为...

mysql数据库文件存放位置,MySQL数据库文件存放位置详解

mysql数据库文件存放位置,MySQL数据库文件存放位置详解

MySQL数据库文件的存放位置取决于你的MySQL安装方式和操作系统。以下是几个常见的存放位置:1. Linux系统: 数据库文件通常存放在 `/var/lib/mysql/` 目录下。 配置文件(如 `my.cnf` 或 `my.ini`)通常存放在 `/etc/mysql/` 目录下...