向量数据库,能让AI再次起飞吗?

9月7-8日,深圳国际会展中心18号馆

来了,来了,腾讯面向产业互联网领域规格最高、规模最大、覆盖最广的年度科技盛会 -——- 腾讯全球数字生态大会

9 7 日,我们将聚焦产业未来发展新趋势,针对云计算、大数据、人工智能、安全、SaaS 等核心数字化工具做关键进展发布,并联合生态伙伴推出最新行业场景解决方案。同时,携手全球权威商业杂志榜单,与中国最佳 CEO 探讨数实融合发展趋势,与中国 500 强企业解析产业焕新最佳实践。畅谈国产化、企业出海、行业大模型等应用实例,探讨如何构筑企业安全免疫力,以及如何通过 SaaS 产品组织协同缔造业务新增长等焦点议题。

由于本次大会的信息量太大,西红柿将聚焦向量数据库,为大家带来详细的介绍和评测。

一、什么是向量数据库?

向量数据库是一种专门用于存储和处理向量数据的数据库系统,它通过优化存储结构和查询算法,提供了高效的向量数据存储、相似度搜索、聚类和分类等功能。在图像、音频、文本等领域的应用中,向量数据库发挥着重要的作用。

向量数据库通常提供了丰富的查询接口和功能,如范围查询、k 近邻查询、相似性匹配等。同时,向量数据库还支持高并发和分布式部署,以应对大规模数据和高并发访问的需求。

向量数据库的工作流程包括以下步骤:

  • 1、向量数据的存储:向量数据通常是高维的数值型数据,如图像特征向量、文本词向量等;向量数据库使用基于向量的存储结构,以便快速查询和处理;
  • 2、向量索引:向量数据库使用 PQ、LSH 或 HNSW 等算法为向量编制索引,并将向量映射到数据结构,以便更快地进行搜索;
  • 3、向量查询:向量数据库将查询向量与数据库中的向量进行比较,从而找到最近邻的向量;
  • 4、查询结果的返回:向量数据库返回查询结果,通常包括与给定向量最相似的向量列表、向量之间的相似度得分等信息;该环节可以使用不同的相似性度量对最近邻重新排序。

二、腾讯云向量数据库 - 测试准备

准备工作概述:一台向量数据库 + 一个执行测试代码的客户端 + ann-benchamrk 官方的测试数据集和方法。

2.1 环境准备

  • 1、登录腾讯云:https://console.cloud.tencent.com
  • 2、创建向量数据库:从腾讯云控制台 一键创建 向量数据库实例。

ps.腾讯云向量数据库面向用户提供丰富的实例规格,可按需挑选。

  1. 操作系统选择: 版本建议使用‘TencentOS Server 3.1 (TK4)’, 此版本实测过程中安装 python3 相关的依赖 较顺利;
  2. 磁盘大小选择: 建议预留足够大的磁盘空间,200G 应该能满足实际测试需要,也可参考实际数据集的 大小创建;
  3. 内存大小选择: 因实际测试过程中,每一个进程都需要将被测试数据集全集加载进内存,可参考数据 集大小的 130% * 测试工具进程数 选择机器内存;

稍等几分钟,就建好啦,效果如下:

2.2 数据准备

2.1 上传测试工具及数据集到测试客户端

测试数据来源: ann-benchamrk 官方数据集测试工具可自动从外网官方站点下载。 官网地址:https://ann-benchmarks.com/

2.2 安装测试工具依赖

软件依赖: python 版本大于 3.6.8, 使用建议的操作系统版本上的 python3 即可

2.2.1 安装操作系统依赖包

yum install python3-pillow-devel.x86_64

2.2.2 解决测试工具并安装 python 运行依赖

cd ann-benchmarks
pip3 install -r requirements.txt

2.2.3 需要的依赖包:

ansicolors==1.1.8
docker
h5py
matplotlib
numpy
pyyaml
psutil
scikit-learn
jinja2
pytest
dataclasses-json==0.5.7
dacite
urllib3
enum34
typing
tqdm
threadpool

三、性能测试

3.1 测试 128 维数据在 HNSW 索引下的单核查询性能

从测试数据集说明中,找到 ann-benchamrk 已存在的名为 sift-128-euclidean 的数据集正 好是 128 维度,可使用该数据集做测试。 该数据集命令以 euclidean 结尾,表示使用 L2 相似算法。

执行测试后,看看数据库的资源表现吧。

  • CPU 使用率接近 100%
  • 内存和磁盘使用率较低

请求方面:

  • 请求量 QPS(Count/s) 最大值: 1092.92 最小值: 0.00 平均值: 63.90
  • 请求成功率(%) 最大值: 100.00 最小值: 0.00 平均值: 6.39
  • 请求超时率(%) 最大值: 0.00 最小值: 0.00 平均值: 0.00
  • 请求异常率(%) 最大值: 0.00 最小值: 0.00 平均值: 0.00
  • 失败请求量 QPS(Count/s) 最大值: 0.00 最小值: 0.00 平均值: 0.00
  • 请求平均耗时(ms) 最大值: 0.70 最小值: 0.00 平均值: 0.04

网络方面:在西红柿下载测试结果时,造成了一个峰值的。

向量数据库的单核性能表现令人赞叹。它展现出出色的处理能力和高效的计算速度。无论是在数据存储、索引构建还是查询处理方面,向量数据库都能够快速进行并行计算,并在单个核心上实现卓越的性能。

四、小结

腾讯云向量数据库专注于处理大规模的向量数据,并采用了高效的索引和查询算法,能够快速地进行相似度搜索和高维向量计算。使用户能够轻松地进行复杂的数据分析和机器学习任务。

腾讯云向量数据库还具备出色的可扩展性和稳定性。它支持自动水平扩展,能够根据数据规模和用户需求进行弹性扩容,保证了数据库的高可用性和性能稳定性。同时,腾讯云向量数据库提供了友好的管理界面和灵活的API接口,使得用户可以方便地进行数据操作和管理。

除此之外,腾讯云向量数据库还注重数据安全和隐私保护。它采用了多层次的安全措施,包括数据加密、访问控制和防火墙等,保证了用户数据的安全性和隐私保护。

总之,腾讯云向量数据库以其高性能、可扩展性和数据安全性而备受推崇,为用户提供了强大的数据处理和分析能力,是一项令人印象深刻的云端数据库解决方案。

更多精彩,请关注腾讯全球数字生态大会吧。

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

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

相关文章

滴滴:二季度中国出行营收同比增长57%,6月日均单量超3000万单

9月9日,滴滴在其官网发布2023年第二季度业绩报告,二季度滴滴实现总收入488亿元,同比增长52.6%;归属于滴滴普通股股东的净亏损为3亿元,经调整EBITA亏损1000万元。 分业务来看,二季度滴滴中国出行&#xff0…

fastjson漏洞复现

文章目录 启动环境漏洞复现下载bp插件漏洞扫描dnslog测试是否向外请求资源用工具构造rmi服务器 反弹shell 启动环境 到vulhub目录下 cd vulhub/fastjson/1.2.24-rce安装环境并启动: sudo docker-compose up -d && sudo docker-compose up -d启动成功&…

详解TCP/IP的三次握手和四次挥手

文章目录 前言一、TCP/IP协议的三次握手1.1 三次握手流程 二、TCP/IP的四次挥手2.1 四次挥手流程 三、主要字段3.1、标志位(Flags)3.2、序号(sequence number)3.3、确认号(acknowledgement number) 四、状态…

MySQL——事务

一、事务的开始与结束 一个数据库事务由一条或多条sql语句构成,它们形成一个逻辑的工作单元。这些sql语句要么全部执行成功,要么全部执行失败。 1.1.事物的开始 1.对于DDL(create,alter,drop)和DCL&…

Java 中如何实现序列化?

什么是序列化?Java 中如何实现序列化? 在 Java 编程中,序列化是一种将对象转换为字节流的过程,可以将对象在网络中传输或者保存到磁盘中。序列化可以将对象的状态保存下来,以便在需要时重新创建对象。Java 中提供了一…

Android 10.0 禁用adb shell input输入功能

1.前言 在10.0的产品开发中,在进行一些定制开发中,对于一些adb shell功能需要通过属性来控制禁止使用input 等输入功能,比如adb shell input keyevent 响应输入事件等,所以就需要 熟悉adb shell input的输入事件流程,然后来禁用adb shell input的输入事件功能,接下来分…

【数据结构--顺序表】移除元素

题目描述&#xff1a; 代码实现&#xff1a; 1、指针实现 int removeElement(int* nums, int numsSize, int val) {int* dst nums, * src nums;int n1 0,n20;while (n1n2 < numsSize){if (*src ! val){*dst *src;dst;src;n1;//表示src走的步数}else{src;n2;//表示src走…

【C++心愿便利店】No.5---构造函数和析构函数

文章目录 前言一、类的6个默认成员函数二、构造函数三、析构函数 前言 &#x1f467;个人主页&#xff1a;小沈YO. &#x1f61a;小编介绍&#xff1a;欢迎来到我的乱七八糟小星球&#x1f31d; &#x1f4cb;专栏&#xff1a;C 心愿便利店 &#x1f511;本章内容&#xff1a;类…

GO远程构建并调试

GO远程调试 之前写C&#xff0c;一直习惯了本地IDERemote CMake/GDB编译调试的模式。 因为6.824课程需要用GO&#xff0c;好像没有特别好的支持。记录一下如何配置调试的。 IDE: Goland 操作系统&#xff1a;Windows 远程服务器&#xff1a;Ubuntu 首先配置SSH,让其可以连接到…

source insight keil 中文乱码

1. 乱码的根本原因就是编码的方式太多了&#xff0c;你用这种编码&#xff0c;他用那种编码&#xff0c;就变成鸡同鸭讲了&#xff0c;对牛弹琴就要用牛语&#xff0c;如果全世界只有一种编码方式&#xff0c;就肯定不会有乱码问题&#xff0c;但这是不可能的。keil 设置编码格…

SpringMVC入门篇

目录 1.SpringMVC工作流程 2.SpringMVC核心组件 2.1 DispatcherServlet 2.2 HandlerMapping 2.3 Handler 2.4 HandlerAdapter 2.5 ViewResolver 2.6 View 3.SpringMVC的入门 3.1 添加相关依赖 3.2 创建Spring-mvc.xml 3.3 配置web.xml 3.4 效果演示 4.静态资源处…

二叉搜索树

如何搜索构建一颗二叉搜索树插入删除 如何搜索 在二叉搜索树里搜索值&#xff1b;搜索非常类似于二分查找 //查找key是否存在public TreeNode search(int key) {TreeNode cur root;while(cur ! null) {if(cur.key key) {return cur;}else if(cur.key > key){cur cur.lef…

【Python】Python运算符/部分函数对应的双下划线魔法方法

先说下Python版本&#xff1a;【Python 3.7.8】 以下用图片表格展示&#xff0c;一是防扒&#xff0c;二是没精力改成md格式。 还有就是内容肯定没有完全包含(而且也很难做到)&#xff0c;像是__reduce__与py自带模块pickle有关(pickle用于对象序列化/反序列化)、sys.getsizeo…

SQLAlchemy 封装的工具类,数据库pgsql(数据库连接池)

1.SQLAlchemy是什么&#xff1f; SQLAlchemy 是 Python 著名的 ORM 工具包。通过 ORM&#xff0c;开发者可以用面向对象的方式来操作数据库&#xff0c;不再需要编写 SQL 语句。 SQLAlchemy 支持多种数据库&#xff0c;除 sqlite 外&#xff0c;其它数据库需要安装第三方驱动。…

20230904 QT客户端服务器搭建聊天室

Ser cpp#include "app.h" #include "ui_app.h"APP::APP(QWidget *parent):QWidget(parent),ui(new Ui::APP) {ui->setupUi(this);this->resize(550,400);ui->Line->setAlignment(Qt::AlignCenter);//标签文本对齐方式 居中ui->Line->se…

力扣:83. 删除排序链表中的重复元素(Python3)

题目&#xff1a; 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚…

群晖NAS:通过Docker 部署宝塔面板【注册表:cyberbolt/baota】

群晖NAS&#xff1a;通过 Docker 部署宝塔面板【注册表&#xff1a;pch18/baota】 由于 docker 源地址被墙&#xff0c;在面板里面查询不到注册表&#xff0c;使用 ssh 命令行拉取 1、打开 SSH&#xff0c;链接后打开命令行 这里不赘述&#xff0c;具体自行百度 2、下载 镜像…

origin中optimal cluster安装报错解决

1.在安装之后程序运行出错&#xff0c;报错信息为缺少numpy包。解决办法&#xff1a;打开窗口-脚本窗口&#xff0c;用pip安装numpy&#xff0c;其他缺少的包可用同样方法解决。 2.有的包在外部python中才有&#xff0c;通过origin无法下载。解决办法&#xff1a;在连接-python…

PHP对接阿里云虚拟号的实现(号码隐私保护)

fastadmin 封装框架 实现功能&#xff1a;AXN隐私号绑定、解绑&#xff1b; 场景&#xff1a;为店铺手机号开通虚拟号&#xff0c;用户联系店铺展示虚拟号码&#xff1b; 官方开放文档地址&#xff1a;https://help.aliyun.com/document_detail/59655.html?spma2c4g.111742…

营销邮件主题怎么写?编写邮件主题的技巧?

如何创建营销邮件主题&#xff1f;制作EDM邮件主题的方法策略&#xff1f; 营销邮件主题在整个营销邮件中起着至关重要的作用&#xff0c;它是吸引读者打开邮件的第一步。蜂邮EDM将分享一些关于如何撰写令人惊艳的营销邮件主题的技巧&#xff0c;帮助您吸引更多的目标受众。 …