ModaHub魔搭社区:详解向量数据库Milvus的Mishards:集群分片中间件(一)

news2024/12/23 16:43:48

目录

Mishards:集群分片中间件

Mishards 是什么

Mishards 简单工作原理

Mishards 目标场景

基于 Mishards 的集群方案

总体架构

主要构件

Mishards 配置

全局配置


Mishards:集群分片中间件

Mishards 是什么

Mishards 是一个用 Python 开发的 Milvus 集群分片中间件,其内部处理请求转发、读写分离、水平扩展和动态扩容,为用户提供内存和算力可以扩容的 Milvus 实例。

Mishards 简单工作原理

 

Mishards 负责将上游请求拆分,并路由到内部各细分子服务,最后将子服务结果汇总,返回给上游。

Mishards 目标场景

场景分类

并发度

延迟

数据规模

是否适合 Mishards

1

中等、小

2

中等、小

3

4

5

Mishards 适合大数据规模下的搜索场景。那么,怎么判断数据规模的大小呢?这个问题没有标准答案,因为这取决于实际生产环境中使用的硬件资源。这里提供一个简单的判断数据规模的思路:

  1. 如果你不在意延迟,当数据规模大于单台服务器上硬盘的可用容量时,你可以认为这种场景具有大的数据规模。例如,每次批处理 5000 条查询请求,服务端计算时间已经大于数据从硬盘到内存的加载时间,此时将硬盘的可用容量作为判断数据规模的标准。
  2. 如果你在意延迟,当数据规模大于单台服务器上的可用内存时,你也可以认为这种场景具有大的数据规模。

基于 Mishards 的集群方案

总体架构

主要构件

  • 服务发现:获取读写节点的服务地址。
  • 负载均衡器
  • Mishards 节点:无状态, 可扩容。
  • Milvus 写节点:单节点,不可扩容。为避免单点故障,需为该节点部署高可用 HA 方案。
  • Milvus 读节点:有状态,可扩容。
  • 共享存储服务:Milvus 读写节点通过共享存储服务共享数据,可选择 NAS 或 NFS。
  • 元数据服务:目前只支持 MySQL。生产环境下需要部署 MySQL 高可用方案。

Mishards 配置

全局配置

参数

是否必填

类型

默认值

说明

Debug

Boolean

True

选择是否启用 Debug 工作模式。目前 Debug 模式只会影响日志级别。

  • True:启用 Debug 工作模式。
  • False:不启用 Debug 工作模式。

TIMEZONE

String

UTC

时区

SERVER_PORT

Integer

19530

定义 Mishards 的服务端口。

WOSERVER

String

Milvus 写节点地址,参考格式:tcp://127.0.0.1:19530

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2020年全国硕士研究生入学统一考试管理类专业学位联考数学试题——纯题目版

2020 级考研管理类联考数学真题 一、问题求解(本大题共 15 小题,每小题 3 分,共 45 分)下列每题给出 5 个选项中,只有一个是符合要求的,请在答题卡上将所选择的字母涂黑。 1、某产品去年涨价 10%&#xf…

野蛮扩张结束,研发效能提升这场“仗”如何布局?

引言 从第一块石头被打磨成石器,到青铜铸造术被发明;从蒸汽机的改良与广泛应用,到交流电和发电机的问世,纵观人类发展史,人类文明的发展始终依托于生产力与生产效率的不断提升。 身处软件“吞噬”世界的数字化时代&am…

【软考网络管理员】2023年软考网管初级常见知识考点(28)-系统开发和项目管理

涉及知识点 软件生命周期,软件生命周期概念,软件开发模型,瀑布模型,演化、增量模型,喷泉模型,程序控制结构,控制结构种类,软考网络管理员常考知识点,软考网络管理员网络…

jmeter之对常数吞吐量定时器的理解与使用

详细看这个文章:jmeter之对吞吐量定时器的理解与使用_常数吞吐量定时器_xiaokanfuchen86的博客-CSDN博客 下面是我自己的进行的一点补充:如下图,两个请求中,一个下买单一个下卖单,在【下买单-buy】请求下的常数吞吐量…

略读 # SourcererCC: Scaling Code Clone Detection to Big Code

《SourcererCC: Scaling Code Clone Detection to Big Code》代码克隆检测基线方法之一; ABSTRACT 面向的问题:代码克隆检测在海量源码的场景下的扩展性问题; 提出的解决方案:SourcererCC,a token-based clone detec…

Java面试题【1】

Java面试题 文章目录 Java面试题Java基础以及api程序题1.下面sum的值是( D )2.下面程序的运行结果( A )3.若x是float类型变量,x10/4; 则x的值是( B )4.以下程序的输出结果是(x 99 , …

Redis 缓存数据库双写不一致怎么处理?

一、概述: Redis 缓存数据库可能会出现双写不一致的情况,这是因为在进行缓存更新时,同时有多个线程或进程对同一个缓存键进行读写操作,导致了数据的不一致性。 具体来说,假设有两个线程 A 和 B 都要对同一个缓存键进…

【C语言】常用的字符串函数使用 模拟实现

前言字符串的组成 strlen模拟实现stlen strcpy模拟实现strcpy strcmp模拟实现strcmp strcat模拟实现strcat 前言 在使用下面介绍的库函数时声明以下头文件 #include <string.h>字符串的组成 如下字符数组 str 看似只包含abcde五个字符&#xff0c;实际上由6个字符组成…

随着人工智能时代的到来,算力需求的成倍增长成为新的趋势

方向一&#xff1a;AI与算力相辅相成 人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是新一轮科技革命和产业变革的重要驱动力量。…

python 时间操作

写代码的时候&#xff0c;我建议还是要使用准确的时间刊一下这个结果&#xff0c;然后再减去开始的计数操作 我之前的操作是 time package from time import sleep from time import time import sys t0 time() sleep(3) t1 time()print(" cost {} s".format(…

如何使用Fiddler对手机进行弱网测试?(干货教程)

1.首先&#xff0c;fiddler连接手机 1)Tools->Options->Connections->设置端口8888&#xff0c;勾选Allow remote computers to connect 2)配置手机 注&#xff1a;手机和电脑需要在同一局域网下 手机进入网络详情&#xff0c;将代理改为手动 设置主机名、端口 主机…

python 多任务详解

1、线程① 函数方式创建线程② 自定义类创建线程 2、队列① 普通队列 Queue② 堆栈 LifoQueue③ 优先级 PriorityQueue 3、互斥锁4、进程① 函数方式创建进程② 类方式创建进程③ 进程中的队列④ 进程间通信 5、 线程与进程区别① 线程共享全局变量&#xff0c;进程不共享② 所…

Tomcat部署相关问题汇总

一.Jar包冲突 由于项目当中依赖了一些框架&#xff0c;而这些框架无法直接修改时&#xff0c;就直接本地代码写了一个同名同包路径的类&#xff0c;可以直接覆盖框架的类,但是心里不免有疑问&#xff0c;为啥本地写的同名同路径的类&#xff0c;可以覆盖三方框架的类呢&#x…

分层解耦相关知识点

这里写目录标题 三层架构简介具体案例原始代码DAO层代码service层controller层总结 分层解耦思想IOC&DI 入门简介控制反转依赖注入 IOC详解详细种类 DI详解 三层架构 简介 具体案例 原始代码 DAO层代码 分别是一个接口实现类以及一个接口&#xff0c;用接口是为了提高程…

Python pyqt5 qss美化窗口

效果 QSS QWidget#widget{background-color:#eef0f6;border-left:0.5px solid lightgray;border-right:0.5px solid lightgray;border-top:0.5px solid lightgray;border-bottom:0.5px solid #e5e5e5;border-top-left-radius: 5px;border-top-right-radius: 5px;}QWidget#widge…

Google测试之道丨如何从角色出发谈谈漫游测试?

谈到“漫游测试”&#xff0c;想必大多数人想起的都是James A.whittaker提出的全局探索性测试方法。他将软件测试比如为城市旅游&#xff0c;并划分了不同的区域&#xff08;如&#xff1a;商业区、历史区、娱乐区等等&#xff09;&#xff0c;将测试人员比喻为旅游者进行城市旅…

vue3组件通信之pinia

简述 在vue3&#xff0c;vue的状态管理也迎来了新的变更&#xff0c;在vue3使用新的组件pinia来代理原有的vuex。pinia相比vuex&#xff0c;功能收敛了不少&#xff0c;比如不直接暴露setter方式&#xff0c;外部直接修改数据 两者的概念区别 vuex:集中式管理状态容器,可以实…

java之路—— Spring IOC 的详解与基本应用

创作不易&#xff0c;给个小支持一下呗 文章目录 前言一、IOC 基本概念二、理解IOC三、基本步骤 前言 首先在了解ioc之前&#xff0c;我们要先了解Spring的基本概念。 Spring是一个开源的Java应用程序开发框架&#xff0c;它提供了一套全面的解决方案&#xff0c;用于开发企业…

从此告别网速慢,轻松掌握浏览器缓存知识点!

文章目录 I. 介绍浏览器缓存的作用提高网页加载速度减少网络带宽消耗优化用户体验 II. 浏览器缓存的原理缓存机制缓存分类1. 强缓存2. 协商缓存 III. 强缓存缓存操作流程缓存过期机制如何设置强缓存 IV. 协商缓存304 Not Modified状态码缓存操作流程如何设置协商缓存 V. 缓存失…

kubernetes核心概念 Pod

Kubernetes集群核心概念 Pod 一、工作负载(workloads) 参考链接&#xff1a;https://kubernetes.io/zh/docs/concepts/workloads/ 工作负载&#xff08;workload&#xff09;是在kubernetes集群中运行的应用程序。无论你的工作负载是单一服务还是多个一同工作的服务构成&…