queryCoord的balancer分析

简介: queryCoord的balancer分析

queryCoord的balancer分析

milvus版本:v2.3.2

涉及到一个参数设置:

queryCoord.balancer = ScoreBasedBalancer

milvus内置的balancer有3种:

代码位置:internal\querycoordv2\balance\balance.go

var (
    RoundRobinBalancerName    = "RoundRobinBalancer"
    RowCountBasedBalancerName = "RowCountBasedBalancer"
    ScoreBasedBalancerName    = "ScoreBasedBalancer"
)

Balance接口:

type Balance interface {
   
    AssignSegment(collectionID int64, segments []*meta.Segment, nodes []int64) []SegmentAssignPlan
    AssignChannel(channels []*meta.DmChannel, nodes []int64) []ChannelAssignPlan
    BalanceReplica(replica *meta.Replica) ([]SegmentAssignPlan, []ChannelAssignPlan)
}

这个接口有3个实现。

ScoreBasedBalancer、RoundRobinBalancer、RowCountBasedBalancer。

func (controller *CheckerController) check(ctx context.Context, checkerType string) {
   
    checker := controller.checkers[checkerType]
    tasks := checker.Check(ctx)

    for _, task := range tasks {
   
        err := controller.scheduler.Add(task)
        if err != nil {
   
            task.Cancel(err)
            continue
        }
    }
}

checker.Check()有4个实现,会调用AssignSegment、AssignChannel、BalanceReplica方法。

目录
相关文章
|
存储 SQL API
milvus insert api流程源码分析
milvus insert api流程源码分析
667 3
|
人工智能 自然语言处理 API
向量检索服务实践测评
向量检索服务是一种基于阿里云自研的向量引擎 Proxima 内核,提供具备水平拓展、全托管、云原生的高效向量检索服务。向量检索服务将强大的向量管理、查询等能力,通过简洁易用的 SDK/API 接口透出,方便在大模型知识库搭建、多模态 AI 搜索等多种应用场景上集成。
139165 5
|
Go API 数据库
milvus的db和collection信息查询
milvus的db和collection信息查询
1612 0
|
开发工具 Python
milvus的delete操作
milvus的delete操作
1700 0
|
存储 Linux 数据安全/隐私保护
安装部署milvus单机版(快速体验)
安装部署milvus单机版(快速体验)
4296 0
|
9月前
|
存储 搜索推荐 安全
《对话记忆的进化史:智能体大模型如何实现跨轮次的深度交互》
这段内容介绍了智能体大模型在多轮对话中构建长期记忆的技术与应用。通过数据库、向量数据库和知识图谱等工具,智能体能整合用户信息,提供个性化服务。RAG技术连接当前需求与长期记忆,实现精准信息检索与生成。分层记忆架构模仿人类记忆机制,包括工作记忆、短期记忆和长期记忆,确保对话连贯性与准确性。时间感知与情节化管理优化回忆过程,动态参数更新与个性化微调使模型更“聪明”。此外,MemoryBank、记忆变量等设计保障多用户场景下的信息安全。未来,这些技术将在跨语言、情感交互等领域实现更深层次的应用,让智能体成为用户的贴心伙伴。
493 29
|
11月前
|
人工智能 运维 NoSQL
Dify x Tablestore 构建低成本、Serverless 知识库
本文介绍如何基于Dify与阿里云Tablestore构建检索增强生成(RAG)系统,解决大模型知识时效性和领域适配性问题,该方案具备低代码、Serverless免运维、高可靠、弹性扩展及低成本等优势。文章通过答疑助手的案例,详细说明了创建Tablestore实例、配置Dify、构建与验证知识库的步骤。
1321 11
Dify x Tablestore 构建低成本、Serverless 知识库
|
11月前
|
存储 NoSQL Java
Tablestore集成MCP协议: 标量与向量混合检索的新范式
基于表格存储(Tablestore)实现的MCP(Model Context Protocol)服务,支持文档存储与混合检索工具两大功能。通过Cherry-Studio界面和通义千问qwen-max模型进行演示,展示了文本数据上传、向量嵌入及查询过程。此外,详细说明了Python和Java版本的本地运行步骤、环境配置及二次开发方法,并提供了集成三方工具如Cherry Studio的应用示例。Tablestore凭借混合查询、Serverless低成本、弹性扩展等优势,为MCP场景提供高效解决方案。
1012 3
|
存储 算法 数据挖掘
向量数据库技术分享
向量数据库主要用于支持高效的向量检索场景(以图搜图、以文搜图等),通过本次培训可以掌握向量数据库的核心理论以及两种向量索引技术的特点、场景与算法原理,并通过实战案例掌握向量数据库的应用与性能优化策略。
1964 3
|
Cloud Native 关系型数据库 新能源