Milvus实践 第一章:简介与部署

这篇具有很好参考价值的文章主要介绍了Milvus实践 第一章:简介与部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Milvus简介(V1.1.1)

Milvus 是一款开源的向量数据库,支持针对 TB 级向量的增删改操作和近实时查询,具有高度灵活、稳定可靠以及高速查询等特点。Milvus 集成了 Faiss、NMSLIB、Annoy 等广泛应用的向量索引库,提供了一整套简单直观的 API,让你可以针对不同场景选择不同的索引类型。此外,Milvus 还可以对标量数据进行过滤,进一步提高了召回率,增强了搜索的灵活性。

目前官方发行版本为:V1.1.1,本文将以V1.1.1为基准介绍Milvus。

Milvus 提供两个发行版本:CPU 版本和 GPU 版本。

  • CPU 版 Milvus 仅支持使用 CPU 建索引和搜索。
  • GPU 版 Milvus 在 CPU 版的基础上进行了 GPU 加速:支持同时进行索引创建和搜索计算以提高查询效率。你可以在同一时间内使用 GPU 建索引,使用 CPU 搜索向量。

如果你的计算机上安装了支持 CUDA 功能的 GPU 设备,你可以安装 Milvus 的 GPU 版本以获取针对海量数据的更优的查询性能。

应用场景

Milvus 在全球范围内已被数百家组织和机构所采用,广泛应用于以下场景:

图像、视频、音频等音视频搜索领域
文本搜索、推荐和交互式问答系统等文本搜索领域
新药搜索、基因筛选等生物医药领域

整体架构

Milvus实践 第一章:简介与部署

Milvus 服务器采用主从式架构 (Client-server model)。

  • 在服务端,Milvus 由 Milvus Core 和 Meta Store 两部分组成:
    • Milvus Core 存储与管理向量和标量数据。
    • Meta Store 存储与管理 SQLite 和 MySQL 中的元数据,分别用于测试和生产。
  • 在客户端,Milvus 还提供了基于 Python、Java、Go、C++ 的 SDK 和 RESTful API。

Milvus 的服务器在单节点上运行。对于有更大数据规模或者高并发需求的用户,可以使用目前尚在开发阶段的集群分片中间件 Mishards 进行部署。

主要特性

  • 异构计算
    • 优化了基于 GPU 搜索向量和建立索引的性能。
    • 可以在单台通用服务器上完成对 TB 级数据的毫秒级搜索。
    • 动态数据管理。
  • 支持主流索引库、距离计算方式和监控工具
    • 集成了 Faiss、NMSLIB、Annoy 等向量索引库。
    • 支持基于量化的索引、基于图的索引和基于树的索引。
    • 相似度计算方式包括欧氏距离 (L2)、内积 (IP)、汉明距离、杰卡德距离等。
    • Prometheus 作为监控和性能指标存储方案,Grafana 作为可视化组件进行数据展示。
  • 近实时搜索
    • 插入 Milvus 的数据默认在 1 秒后即可被搜索到。
  • 标量字段过滤 (即将上线)
    • 支持向量和标量数据。
    • 可以对标量数据进行过滤,增强搜索的灵活性。

本地安装

官方提供里docker镜像可直接安装,docker版本需19.03 或以上,由于Milvus的server_config.yaml 文件中设置的 cache.insert_buffer_size 和 cache.cache_size之和(默认5G)为每个docker容器最小内存,所以每个docker容器需分配最少5.5g内存才能正常启动Milvus容器。

Milvus配置下载安装

mkdir -p /home/$USER/milvus/conf

cd /home/$USER/milvus/conf

wget https://raw.githubusercontent.com/milvus-io/milvus/v1.1.1/core/conf/demo/server_config.yaml

启动Milvus

docker run -d --name milvus_cpu_1.1.1 \

-p 19530:19530 \ -p 19121:19121 \

-v /home/$USER/milvus/db:/var/lib/milvus/db \

-v /home/$USER/milvus/conf:/var/lib/milvus/conf \

-v /home/$USER/milvus/logs:/var/lib/milvus/logs \

-v /home/$USER/milvus/wal:/var/lib/milvus/wal \

milvusdb/milvus:1.1.1-cpu-d061621-330cc6

验证Milvus

使用Python sdk进行验证:

下载pymilvus包:pip3 install pymilvus==1.1.2

下载python示例代码:wget https://raw.githubusercontent.com/milvus-io/pymilvus/v1.1.2/examples/example.py

运行示例代码:python3 example.py文章来源地址https://www.toymoban.com/news/detail-458035.html

到了这里,关于Milvus实践 第一章:简介与部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Nginx】第一章 Nginx简介

    1、nginx简介 (1)介绍nginx的应用场景和具体可以做什么事情 (2)介绍什么是 反向代理 (3)介绍什么是 负载均衡 (4)介绍什么是 动静分离 2、nginx安装 3、nginx常用的命令和配置文件 (1)介绍nginx启动、关闭、重新加载命令 (2)介绍nginx的配置文件 4、nginx配置实例-反向代

    2024年02月11日
    浏览(47)
  • 新一代硬件安全:第一章-简介

    Chapter 1 Introduction 1.1 Fundamentals of Hardware Security In our modern age of omnipresent and highly interconnected information technology, cybersecurity becomes ever more challenged. For example, with the rise of the Internet of Things (IoT), most such equipment is connected to the internet in some way, often inscrutable to the regular customers. This f

    2024年02月12日
    浏览(57)
  • 第一章 C++语言简介之——c++语言的特点

    C++是一种 编译式的、通用式、大小写敏感 的编程语言, 完全支持面向对象程序设计 。 C++语言与C语言相比,在求解问题方法上进行的最大改进是 面向对象 Windows环境下,由C++源程序文件编译而成的 目标文件的扩展名是.obj , 源文件的扩展名为.cpp , 所有的obj文件连接成为

    2024年01月16日
    浏览(45)
  • 《语音识别模式、算法设计与实践》——第一章 语音识别概述

    本专栏仅为本人学习研读体会分享,以及实际完成的测试代码。更加详细内容详见该书。 定义: 语音识别是让机器具备自动接收和分析人类的语音,并最终输出对应文本的过程。 目标: 将输入语音转化为文字的输出                  目标实现条件: 提前规定好该系

    2024年04月12日
    浏览(47)
  • 明德扬FPGA至简设计原理与应用 第一篇 FPGA基础知识 第一章 FPGA简介

    FPGA 的全称为 Field-Programmable Gate Array, 即现场可编程门阵列。FPGA 就是一个可以“改变”内部结构的芯片,而让这个芯片来实现怎样的功能,就需要通过编程即设计HDL,经过 EDA工具编译、综合、布局布线成后转换为可烧录的文件,最终加载到 FPGA 器件中去,改变 FPGA 内部的连

    2024年01月16日
    浏览(79)
  • 第一章 SQL Server 数据库部署

     个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。 座右铭:海不辞水,故能成其大;山不辞石,故能成其高。 个人主页: 小李会科技的主页   目录 一 数据库介绍 (1)使用数据库的必要性 (2)数据库的基本概念  1.数

    2024年02月07日
    浏览(48)
  • 《操作系统真象还原》第一章 部署工作环境

    配合视频阅读体验更佳!https://www.bilibili.com/video/BV1kg4y1V7TV/?pop_share=1vd_source=701807c4f8684b13e922d0a8b116af31 环境vmware + deepin-desktop-community-20.8-amd64 (已在纯净ubuntu 22.04上验证过此教程,完全可行!只是需要安装vim 命令: sudo apt install vim ) 先安装其他需要的东西: sudo apt install bui

    2024年02月08日
    浏览(63)
  • 数据库安全-第一章 Mysql 安全基础-【web 环境搭建——LAMP-1】-LAMP & LNMP 简介

    WEB 的本意是蜘蛛网和网,在网页设计中称为网页。现广泛译作网络、互联网等技术领域。日常生活中用户使用浏览器请求一个 URL ,这个 URL 标识着某个特定的服务器的特定资源,服务器接收到请求之后,服务器就把生成的 HTML 网页通过 HTTP 协议发送给浏览器。 早期的 WEB 页

    2024年01月18日
    浏览(52)
  • 开源数据库MYSQL DBA运维实战 第一章 部署

    数据库管理系统  DBMS    SQL(RDS关系型数据库) DBA  工程师 DDL  数据库定义语言:数据库,表,视图,索引,存储过程,函数 DML  数据库操纵语言:插入数据insert,删除数据delete,更新数据update DQL  数据库查询语言:查询数据selete DCL  数据库控制语言:例如控制用户的访

    2024年02月21日
    浏览(59)
  • 前端新手Vue3+Vite+Ts+Pinia+Sass项目指北系列文章 —— 第一章 技术栈简介 (开篇)

    旨在帮助初学者掌握使用现代前端技术栈构建应用的基础知识和技能。在这个系列中,我们将深入探讨如何结合Vue.js、Vite、TypeScript、Pinia和Sass这些强大的工具和框架来开发现代化的前端应用。 通过这个系列,我们将从零开始构建一个完整的前端项目,覆盖项目初始化、组件

    2024年02月05日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包