百度智能云发布专用向量数据库 VDB 1.0,全新设计内核开启性能狂飙

news2024/10/5 16:28:15

1    专用向量数据库应对未来业务挑战

向量数据库 = 向量检索 + 数据库

向量数据库大致可以分为 2 部分:向量数据的检索,以及向量数据的存储和管理。

向量数据库的性能,比如高 QPS、低延时等,使得业务能够更快的响应用户的查询请求,提供更流畅的使用体验。想要提高向量数据库的性能,首先可以采用更新的向量检索算法,其中各类优异的向量检索算法,通常能够通过各类插件被快速应用。想要进一步提升业务性能,则只有回到数据库的架构和核心层面,设计一款专门为向量数据设计的数据库产品。

同时,随着大模型在业务应用范围不断扩大,向量数据库将从支持业务创新,转变为企业成熟业务体系中的一部分。这对向量数据库的企业级能力要求会越来越全面,比如权限管理、数据加密、备份与恢复、异地多活等。另外,数据规模在不断增长,数据类型日益复杂,这将对以单体数据库为支撑的技术架构提出挑战。

面向向量数据设计、支持大规模弹性扩展、提供企业级能力……这些都意味着我们需要设计一款专用的向量数据库,以便应对 AI 原生应用不断发展带来的挑战。

2    从数据库内核开始设计,为向量数据而生

今年 2 月底,百度智能云推出了一款专用的向量数据库产品 VDB。

在 VDB 1.0 版本中,我们全新设计了数据库内核,使得产品的性能更好,资源开销更低,支持百亿级别的弹性伸缩。相比同类开源产品,VDB 1.0 的 QPS 在不同线程下平均时延最低,性能提升 40~60%。

VDB 1.0 的数据库内核的技术特点如下:

  • 分布式架构:基于 bRaft 协议库构建,通过了 TLA+ 形式化验证和混沌测试,支持快速故障切换,具备高可靠和高可用的特性;
  • 存储引擎:针对向量数据特性设计的列存引擎。对于一行具有多个向量字段的场景,不同的向量字段的数据能够进行有效地隔离,各自进行存储和索引,能够更精细地管理各自的资源开销。对于标量字段,可通过列式压缩进一步降低存储开销;
  • 编程框架:基于现代 C++ 语言编写,使用 bRPC 和 bthread 协程等编程框架构建,充分应用 GCC 编译器优化和 CPU 指令集优化,能够提供更高的性能和内存管理能力。

在产品功能层面,VDB 1.0 支持向量和标量混合检索,提供丰富的标量过滤条件。基于 VDB 1.0 丰富的检索方式,用户可以方便地引入更多场景。同时,VDB 1.0 支持各种数据类型,以及任意数据类型的混合,用户可以设计出更加紧凑的业务数据库表模型,简化业务架构。

如果您正在进行以下几类应用或业务的开发,比如基于大模型的知识处理、基于特性的相似性检索、NoSQL 类数据库应用等,可以尝试使用百度智能云 VDB,体验不一样的速度,以及丰富的企业级能力。

3    第一时间体验 VDB 性能狂飙

接下来,我们展示一个 VDB 1.0 在知识库场景的示例。通过「千帆大模型平台 + LangChain + VDB」的组合搭建 RAG 应用,第一时间体验 VDB 带来的业务性能提升。以下是一个 RAG 应用的典型方案架构图:

图片

百度智能云全新设计的内核,为 VDB 的后续进化提供了一个良好的底座。在 VDB 后续版本更新中,我们将提供更全面的数据库企业级能力,集成更多的 AI 生态,成为一款为向量数据而生的专业向量数据库。

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

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

相关文章

【教程】 iOS构建版本无效问题解决方案

引言 在进行iOS应用上架时,有时会遇到构建版本无效的问题,即通过XCode上传成功后,但在App Store Connect的TestFlight中无法显示构建版本,或者显示一会儿后就消失了。本文将介绍可能的原因分析,并提供解决问题的方法。…

Linux中三次握手,四次挥手状态图,端口复用 半关闭状态,心跳包

tcp三次握手和四次挥手状态图: 为什么需要2MSL: 原因1:让四次挥手过程更加可靠,确保最后一个发送给对方的ACK到达;若对方没有收到ACK应答,对方会再次发送FIN请求关闭,此时在2MSL时间内被动关闭…

【uni-app】condition 启动模式配置,生产环境无效,仅开发期间生效

在小程序开发过程中,每次代码修改后,都会启动到首页,有时非常不方便,为了更高效的开发,有时需要模拟直接跳转到指定的页面, 操作方法如下: 在pages.joson里面配置下列代码: "…

C#,煎饼排序问题(Pancake Sorting Problem)算法与源代码

1 煎饼排序问题 给定一个未排序的数组,任务是对给定数组进行排序。您只能在阵列上执行以下操作。 翻转(arr,i):将数组从0反转为i 示例: 输入:arr[]{23、10、20、11、12、6、7} 输出&#xff1a…

Prompt Engineering、Finetune、RAG:OpenAI LLM 应用最佳实践

一、背景 本文介绍了 2023 年 11 月 OpenAI DevDay 中的一个演讲,演讲者为 John Allard 和 Colin Jarvis。演讲中,作者对 LLM 应用落地过程中遇到的问题和相关改进方案进行了总结。虽然其中用到的都是已知的技术,但是进行了很好的总结和串联…

Vue+SpringBoot打造天沐瑜伽馆管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 瑜伽课程模块2.3 课程预约模块2.4 系统公告模块2.5 课程评价模块2.6 瑜伽器械模块 三、系统设计3.1 实体类设计3.1.1 瑜伽课程3.1.2 瑜伽课程预约3.1.3 系统公告3.1.4 瑜伽课程评价 3.2 数据库设计3.2.…

从零开始学习Diffusion Models: Sharon Zhou

How Diffusion Models Work 本文是 https://www.deeplearning.ai/short-courses/how-diffusion-models-work/ 这门课程的学习笔记。 文章目录 How Diffusion Models WorkWhat you’ll learn in this course [1] Intuition[2] SamplingSetting Things UpSamplingDemonstrate i…

SpringBoot第三课-日志

1.日志分类 2.默认使用 默认使用logback与slf4j作为底层默认日志 但是由于日志是系统启动就需要使用,所以与其他的自动配置不同,自动配置是后来使用的,而日志是使用监听器配置好的。 ApplicationListener 3.日志级别 1.级别介绍 SpringB…

【MySQL 系列】在 Windows 上安装 MySQL

在 Windows 平台上安装 MySQL 很简单,并不需要太复杂的步骤。按照本文的步骤操练起来就可以了。 文章目录 1、下载 MySQL 安装程序2、安装 MySQL 数据库2.1、选择安装类型2.2、检查所需组件2.3、安装所选产品组件2.4、产品配置2.5、配置高可用性2.6、配置服务器类型…

正则表达式-分组

1、oracle-正则表达式:将09/29/2008 用正则表达式转换成2008-09-29 select regexp_replace(09/29/2008, ^([0-9]{2})/([0-9]{2})/([0-9]{4})$, \3-\1-\2) replace from dual; 解析:regexp_replace-替换, 第一个参数:需要进行处…

分享7款前端直接使用的项目动画特效(附在线演示)

分享7款非常不错的项目动画特效 其中有jQuery特效、canvas特效、CSS动画等等 下方效果图可能不是特别的生动 那么你可以点击在线预览进行查看相应的动画特效 同时也是可以下载该资源的 图片分割组合特效 首先会把图片分割成均匀的小块 之后又会将这些小块拼接组合起来 以下效…

节日专访|「我」是「我」

又到了 Zilliz 一年一度的特别时刻——三八妇女节专访。按照惯例,我们每年都会选定一个话题进行讨论,今年的主题是「我是我」。 我是我, 是生物学上以性别划分的女性, 是在不同职业领域中绽放光彩的工程师、财务、市场运营…… 是…

数据结构从入门到精通——栈

栈 前言一、栈1.1栈的概念及结构1.2栈的实现1.3栈的面试题 二、栈的具体实现代码栈的初始化栈的销毁入栈出栈返回栈顶元素返回栈中的元素个数检测是否为空Stack.hStack.ctest.c 前言 栈,作为一种后进先出(LIFO)的数据结构,在计算…

力扣大厂热门面试算法题 6-8

6. Z 字形变换,7. 整数反转,8. 字符串转换整数 (atoi),每题做详细思路梳理,配套Python&Java双语代码, 2024.03.08 可通过leetcode所有测试用例。 目录 6. Z 字形变换 解题思路 边界条件 完整代码 Python Ja…

李想已经5天没发微博了

李想的微博已经5天没更新了。 理想MEGA发布之后的第二天,李想在微博转发了一条某汽车自媒体和理想MEGA设计师BenBaum的访谈视频,并配文表示,Ben的访谈非常好。 不过,在之后的5天时间里,李想的微博便悄无声息了。这与“…

yocto本地离线构建时报错

解决方案:在local.conf中添加 BB_NO_NETWORK "1"禁用网络,从本地downloads中fetch源码

【方法】如何打开7Z分卷压缩文件?

什么是7Z分卷压缩文件?就是在压缩文件时,将文件压缩成若干个大小一样、以“文件名.7z.序号”格式命名的7Z压缩包,可以方便存储和传输,如下图所示。 一、7Z分卷压缩文件如何打开? 我们只需要按照普通压缩包的打开方式&…

智慧园区综合运营数字化解决方案

1. 楼栋管理 2. 物业管理 3. 安防管理 4. 门禁管理 5. 停车管理 6. 能源管理 7. 环保管理 8. 园区生活服务 9. 招商管理 10. 收费中心 11. 园区地图 12. 门户网站 智慧园区软件方案:智慧园区软件解决方案,园区运营管理系统(源码)-…

DiT:Scalable Diffusion Models with Transformers

TOC 1 前言2 方法和代码 1 前言 该论文发表之前,市面上几乎都是用卷积网络作为实际意义上的(de-facto)backbone。于是一个想法就来了:为啥不用transformer作为backbone呢? 文章说本论文的意义就在于揭示模型选择对于…

二叉树—层序遍历

102. 二叉树的层序遍历 代码实现: /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ /*** Return an array of arrays of size *returnSize.* The sizes of the arrays …