写点什么

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:453631

评论

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

WorkPlus Meet 视频会议,自主可控,支持私有化部署

WorkPlus

rabbitMQ到底是个啥东西?

程序员万金游

Java 开发 #java Rabbit MQ

TinyEngine 低代码引擎到底是什么?

英勇无比的消炎药

开源 前端 低代码

Generative AI 新世界 | 扩散模型原理的代码实践之采样篇

亚马逊云科技 (Amazon Web Services)

机器学习 #人工智能 生成式人工智能 Amazon SageMaker 大语言模型

大道总是孤独的——查理芒格如是说

少油少糖八分饱

投资 长期主义 能力圈 查理芒格 股东大会

福利贴|这是一个程序员不看一定会后悔的问题

Zilliz

非结构化数据 Milvus Zilliz 向量数据库

彻底告别传统FTP,新的替代FTP产品比你想象的好的多

镭速

传输协议 FTP传输替代方案

上新啦!腾讯云云原生数据湖产品DLC 2.2.5版本发布,来看特性详解

腾讯云大数据

数据湖

WorkPlus私有化部署IM即时通讯平台,构建高效安全的局域网办公环境

WorkPlus

Redis内存碎片:深度解析与优化策略

Java随想录

Java redis

Java训练营毕业总结

jjn0703

火山引擎边缘云:数智化项目管理助力下的业务增长引擎

火山引擎边缘云

数字化 飞书 数智化 #项目管理

IoTDB 在国际数据库性能测试排行榜中位居第一?测试环境复现与流程详解第一弹!

Apache IoTDB

ICCV 2023|小红书 4 篇入选论文亮点解读,「开集视频目标分割」获得 Oral

小红书技术REDtech

算法 ICCV

close()关闭文件方法

芯动大师

为什么要使用zookeeper

Jerry Tse

zookeeper 分布式锁 分布式系统 共识算法 数据强一致性

华为云耀云服务器L实例:带你探索轻量应用服务器的魅力

YG科技

活动预告 | 中国数据库联盟(ACDU)中国行第三站定档成都,邀您探讨数据库前沿技术

墨天轮

MySQL 数据库 oracle postgresql zabbix

用友系列之 YonBuilder 低代码平台概论和基本使用

YonBuilder低代码开发平台

低代码 可视化

HarmonyOS使用多线程并发能力开发

HarmonyOS开发者

HarmonyOS

从技术创新到应用实践,百度智能云发起大模型平台应用开发挑战赛!

不叫猫先生

百度智能云 千帆大模型平台

使用Optional优雅避免空指针异常

Java随想录

Java 异常

Github上线即遭狂转!上百人通过这份算法手抄本成功上岸字节

程序员万金游

#java java 架构 #算法 #数据结构 #java编程

华为智慧屏,吹尽狂沙始到金

脑极体

AI智慧屏

腾讯Java后端社招三面,差点就挂了!

程序员小毕

Java 程序员 面试 程序人生 架构师

开启 Kerberos 安全认证的大数据环境中如何正确指定 HS2 的 jdbc url 地址?

明哥的IT随笔

大数据 hive kerberos

企业内部通讯,WorkPlus助您打造高效沟通平台

WorkPlus

Python 中的数字类型与转换技巧

小万哥

Python 程序员 软件 后端 开发

跨网传输文件时,如何通过日志记录来审计追溯?

镭速

跨网文件传输

Redis类型(Type)与编码(Encoding)

Java随想录

redis

华为阅读“鲁迅专栏”已上线,读国内名家作品就上华为阅读

最新动态

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