写点什么

Milvus 2.0 GA 版本发布:专为 AI 打造,具备支持大规模生产环境能力

  • 2022-02-10
  • 本文字数:2421 字

    阅读完需:约 8 分钟

Milvus 2.0 GA版本发布:专为AI打造,具备支持大规模生产环境能力

近日,专为 AI 打造的云原生向量数据库 Milvus 2.0 GA 版本正式发布。据悉,全新的 Milvus 向量数据库具备支持大规模生产环境的能力,帮助开发者在构建深度学习、机器视觉、语义学习等大规模系统时,能够快速构建起高可靠、高性能、高检索效率、运维管理友好的向量数据(embedding vector)处理平台。

全面重构


Milvus 向量数据库于 2019 年开源,能够管理大量非结构化数据集,并在新药发现、推荐系统、聊天机器人等方面具有广泛的应用。2021 年 6 月,Milvus 从顶级开源基金会 Linux 基金会旗下 Al 子基金 LF AI & DATA 毕业。目前,Milvus GitHub star 数逾 9000。


对于本次 Milvus 2.0 GA 版本的发布,Milvus 工程总监栾小凡表示,“这不是一次简单的版本升级,而是一次全面重构,也是我们过去三年在向量数据库领域探索之后的集大成之作。在经过对架构进行全面重新设计,及 9 个 RC 版本的迭代后,我们正式宣布 Milvus 2.0 的 GA。 Milvus 的用户将由此能够获得生产级可用的开源向量数据库系统,它可以部署在任意云基础设施上,使用更加便利,性能更加强大,整体成本也更为优化。”


据悉,Milvus 在迭代了 19 个版本后正式发布了 1.0 版本,并获得了全球近 1000 家用户的实践验证。但 Milvus 1.0 仍然存在诸多局限性,比如实时性与效率的冲突,成本的高昂,可扩展性和弹性的不足。


这些局限充分说明目前 AI 系统开发者在面对生产落地时,在算法和模型之外,也同样面临更为切实的权衡:


  • 非结构化数据相比传统结构化数据,已经占据压倒性地位;

  • 数据新鲜度非常重要,数据科学家们更希望能够拥有实时处理能力,而非忍受对 T+1 的妥协;

  • 面对生产实践环境,数据处理的成本和性能更加重要,但现有的方案却仍然与需求存在距离;

  • 数据平台能够自如的部署在各种云基础设施之上,全面云原生化势在必行。


随着 AI 应用的大规模快速普及,一套 AI 系统需要应对的业务数据量呈几何级数增长。这其中以图形、视频、音频为代表的非结构化数据为主。目前业务处理这类非结构化数据的主流的做法是将数据通过算法先转化成向量(embedding vector),之后通过向量数据库平台进行向量近似性搜索,以实现对这些数据的搜索查询等需求。


在最近的人工智能顶会 NeurIPS 上,Google、Facebook 及 Microsoft 的 AI 团队向业界公开了数个全新的 10 亿级向量数据包,而这些数据全部基于真实的业务场景产生。


面对这些这些真正意义上的“大规模”并且仍在高速增长的海量数据,是否有更好的向量数据库解决方案,能在更高的效率、更好的成本收益比,更稳定可靠的平台支持,更方便的运维管理之间取得取舍均衡,是业界的焦点所在。


Milvus 2.0 正是为应对这种大规模生产级场景而设计的向量数据库系统,综合考虑了架构稳定性、工程可靠性、性能、成本、功能、用户体验等多种因素,并全面拥抱云原生技术。

理念及架构设计


据介绍,Milvus 2.0 围绕以下三个理念:


1.云原生优先:存储计算分离的架构更能发挥云的弹性,以实现按需扩容的模式。 而 Milvus 2.0 采取了读写分离、实时离线分离、计算瓶颈/内存瓶颈/IO 瓶颈分离的微服务化设计模式,这有助于面对复杂的工作负载选择最佳的资源配比。


2.日志即数据:Milvus 2.0 引入消息存储作为系统的骨架,数据的插入修改只通过消息存储交互,执行节点通过订阅消息流来执行数据库的增删改查操作。这一设计的优势在于降低了系统的复杂度,将数据库关键的持久化和闪回等能力都下钻到存储层;另一方面,日志订阅机制提供了极大的灵活性,为系统未来的拓展奠定了基础。


3.批流一体:Milvus 2.0 实现了 unified Lambda 流式处理架构,增量数据和离线数据一体化处理。相比 Kappa 架构,Milvus 引入对日志流的批量计算将日志快照和构建索引存入对象存储,这大大提高了故障恢复速度和查询效率。为了将无界的流式数据拆分成有界的窗口,Milvus 采用 watermark 机制,通过写入时间(也可以是事件发生时间)将数据切分为多个小的处理单元,并维护了一条时间轴便于用户基于某个时间点进行查询。


Milvus 2.0 架构概览:



基于上述理念及架构设计,Milvus 2.0 可以支持: 


  • 百亿规模的向量数据扩展能力,增量数据毫秒级实时可见的数据可见性,存储计算的秒级扩缩容能力,10 毫秒级查询延时性能,分钟级的故障恢复能力,动态负载均衡能力;

  • 提供完善的面向向量数据的增删改查功能,数据压缩压缩功能,动态加载索引功能,及图形化 GUI 及命令行管理工具,提供 PyMilvus、Node.js、Java and Go 等多语言语言 SDK。


“基于大数据 + AI 的应用架构依然过于复杂,简化非结构化数据处理一直是 Milvus 社区努力的方向。” 谈及 Milvus 项目未来的发展路线图时,栾小凡这样表示。接下来的 Milvus 项目会重点关注以下几个方向:


  • DB for AI:作为一款数据库,除了基本的 CRUD 功能之外,Milvus 必然还需要更强大的数据查询能力、更智能的查询优化器、更全的数据管理功能等。下一阶段将重点补齐 Milvus 2.0 目前还不支持的 DML 功能和数据类型,比如删除、更新操作和支持 string 数据类型。

  • AI for DB:向量索引类型、索引参数、用户工作负载、硬件类型、成本性能等的约束构成了一个非常庞大的 tradeoff,尽可能避免手动调优有助于降低使用复杂度。我们已经着手分析系统负载,收集访问热度的数据,后续将引入自动参数调优工作以降低用户的理解成本。

  • 成本优化:向量召回的最大挑战是需要在限定时间内处理海量数据,这项工作既是计算密集型,也是访存密集型。在物理执行层引入 GPU、FPGA 等异构硬件加速可以大幅降低 CPU 开销。我们正在开发磁盘内存混合的 ANN 索引算法,可以在有限的内存下实现海量向量的高性能查询。于此同时,我们也在评估开源的 ScaNN、NGT 等向量索引算法的性能。

  • 易用性:Milvus 易用性的提升体现在集群管理工具、多语言 SDK、部署工具、运维工具等许多方面,Milvus 将在这些方向持续迭代完善。同时,Milvus 的设计理念是可以在任何平台运行,在接下来的几个版本更新中, Milvus 将支持 MacOS 系统(M1 芯片及 x86 芯片)以及 ARM 架构。

2022-02-10 14:454458

评论

发布
暂无评论
发现更多内容

恒源云(GPUSHARE)_分享一个技巧!CV训练时容易忽视的数据标签问题

恒源云

深度学习 算法 CV

12 月亚马逊云科技培训与认证课程,精彩不容错过!

亚马逊云科技 (Amazon Web Services)

架构师 培训 认证

Linux一学就会之Centos8用户管理

学神来啦

Linux centos 运维 linux云计算

如何在Flutter应用程序中创建不同的渐变 【Flutter专题14】

坚果

flutter 28天写作 12月日更

Selenium之css怎么实现元素定位?

六十七点五

大前端 软件测试 自动化测试 接口测试 selenium

vCenter管理软件用什么牌子好?有哪些用处?

行云管家

虚拟化 vcenter

PackML从会到不会——命令标签(4)

陈的错题集

标准化 PackML

常用项目部署方案和区别

进击的梦清

DevOps 运维 项目 部署与维护

MySQL探秘(二):SQL语句执行过程详解

程序员历小冰

MySQL 28天写作 12月日更

初识JVM的内存结构

Ayue、

技术专题合集

恒源云(GPUSHARE)_CIFAR-10数据集实战:构建ResNet18神经网络

恒源云

深度学习 算法

云智慧正式开源运维管理平台(OMP),加速AIOps社区生态建设

云智慧AIOps社区

运维 运维监控 开源软件 运维体系 运维系统

Sinfonia: a new paradigm for building scalable distributed systems--翻译理解【1】

Krysta

分布式 transaction Sinfonia DSM 两阶段提交改进

带你了解Typescript的14个基础语法

华为云开发者联盟

typescript 数组 开发 js 语法

小程序与H5适合的场景应用都有哪些

Speedoooo

ios开发 APP开发 容器安全 Andriod开发 容器应用

Java和ABAP中的几种引用类型的分析和比较

汪子熙

Java 引用 28天写作 abap 12月日更

周边生态|RoP 重磅发布 0.2.0 版本: 架构全新升级,消息准确性达 100%

Apache Pulsar

Java 开源 架构 云原生 Apache Pulsar

☕【并发技术系列】「多线程并发编程」技术体系和并发模型的基础探究(夯实基础)

码界西柚

Java 并发编程 多线程 多进程 12月日更

基于星环科技大数据平台 辽宁城市建设职业技术学院打造智慧校园

星环科技

大数据

等保工作中常见导致测评结论为差的高风险项

行云管家

网络安全 等级保护 等保测评 等保结论

分享一个从源码快速构建应用的小工具

Draven Gorden

开发者工具 开发工具 开源项目

使用工具Source Monitor测量您Java代码的环复杂度

汪子熙

Java 软件工程 28天写作 12月日更 代码复杂度

短视频平台的风控系统设计

Bill Zhang

Cordova插件中JavaScript代码与Java的交互细节介绍

汪子熙

Java JavaScript 移动应用 28天写作 12月日更

一场关于元宇宙公司之死的剧本杀

白洞计划

web技术分享| AudioContext 实现音频可视化

anyRTC开发者

Web 音视频 WebRTC 音频可视化 AudioContext

模块五作业

危险游戏

架构实战营

dart系列之:还在为编码解码而烦恼吗?用dart试试

程序那些事

flutter dart flutter 面向切面 aop 程序那些事 12月日更

我不用“996”,更不用“007”,可我赚的就是比你多

六十七点五

软件测试 自动化测试 接口测试 测试工程师 功能测试

当我们谈论“远程开发”时,我们在谈论什么

Draven Gorden

云原生 开发者工具 开发工具 远程协作 开发环境

Milvus 2.0 GA版本发布:专为AI打造,具备支持大规模生产环境能力_开源_凌敏_InfoQ精选文章