数据库管理-第149期 Oracle Vector DB AI-01(20240210)

数据库管理149期 2024-02-10

  • 数据库管理-第149期 Oracle Vector DB & AI-01(20240210)
    • 1 机器学习
    • 2 向量
    • 3 向量嵌入
    • 4 向量检索
    • 5 向量数据库
    • 5 专用向量数据库的问题
    • 总结

数据库管理-第149期 Oracle Vector DB & AI-01(20240210)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Associate: Database(Oracle与MySQL)
网思科技 DBA总监
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、认证技术专家,ITPUB认证专家,OCM讲师
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭。

在龙年到来之际,祝大家龙行龘龘,前程朤朤,生活鱻鱻。新的一年开始新的系列,来探索一下Oracle Vector DB(向量数据库)以及AI Vector Search(AI向量搜索)。本系列内容在Oracle DB 23c正式发布前仍可能出现变化,最终以Oracle DB 23c正式发布内容为准。

1 机器学习

首先,机器学习根据不同事物的特征来区分不同的事务。
例如:区分不同种类的狗,就可以通过体型大小、毛发长度、鼻子长短等特征来区分。如下面这张照片按照体型排序,可以看到体型越大的狗越靠近坐标轴右边,这样就能得到一个体型特征的一维坐标和对应的数值,从 0 到 1 的数字中得到每只狗在坐标系中的位置。
然而单靠一个体型大小的特征并不够,像图中哈士奇、金毛和拉布拉多的体型就非常接近,我们无法区分。
image.png
继续观察其它的特征,例如毛发的长短。这样每只狗对应一个二维坐标点,我们就能轻易的将哈士奇、金毛和拉布拉多区分开来。
image.png
只要维度够多,我们就能够将所有的事物区分开来,世间万物都可以用一个多维坐标系来表示,它们都在一个高维的特征空间中对应着一个坐标点。

2 向量

Vector,向量(也称为欧几里得向量、几何向量),指具有大小和方向的量。可以使用带箭头的线段表示,箭头指向即为向量的方向,线段的长度表示向量的大小。两个向量的距离或者相似性可以通过汉明距离、欧式距离或者余弦距离得到。

3 向量嵌入

Vector Embedding,一种自动化提取事物特征值的方法,用来生成高纬度的向量数据;图像、文本和音视频这种非结构化数据都可以通过某种变换或者嵌入学习转化为向量数据;使用深度学习嵌入模型来生成向量数据。

4 向量检索

图片、文本、视频和语音等非结构化数据,通过人工智能技术提取出特征向量,然后通过对这些特征向量的计算和检索来实现对非结构化数据的分析和检索。向量检索通常是近似查找,要权衡搜索精度和速度。
对比第一个节中的例子,不同种类的狗就会有有一系列诸如体型大小、毛发长度、鼻子长短等特组成的向量,首先我们会建立一个向量数据库用于存放各种狗的基础向量信息,由于狗存在变异的情况,那么一种狗可能存在多条向量条目。而当我们需要通过图像去判断狗的种类时,就需要通过与基础向量生产方式一样的算法来将图像内容嵌入成向量信息,并与向量数据库中的向量信息进行匹配,得到最接近的向量,对比对应的狗信息得到结果。

5 向量数据库

向量数据库是一种专门用于存储、索引和查询向量数据的数据库系统。
向量数据库能够将向量存储为高维点并进行检索。可以高效、快速地查找N维空间中的最近邻。
这些功能通常由 近似最近邻(ANN)索引提供支持,构建索引的算法有:分层可导航小世界(HNSW)和倒排文件索引(IVF)算法等。
向量数据库提供了其他功能,例如数据管理、容错、身份验证、访问控制以及查询引擎等。

与传统关系型数据库相比:

  • 数据类型:向量数据库专门用于存储和管理向量数据,而传统数据库则可以存储各种标量类型的数据,例如文本、数字、日期等。
  • 数据规模:通常向量数据库数据量比较大,一般要考虑可线性扩展的系统。
  • 查询方式:传统的数据库查询通常是一种精确查找,即查询得到的结果要么符合条件要么不符合条件;而向量数据库的向量查询通常是近似查找,即查询得到的结果是与输入条件最相似的,而近似比较对计算能力要求非常高。向量查询通常是计算密集型的。

image.png
下面是一些比较常见向量数据库及其对比(这里是从群聊聊天记录抽取,冯若航发的):
ca6a2798730489caf53f25cb716ba50.jpg

5 专用向量数据库的问题

其实在去年SACC上海站,我也大概讲过Oracle Vector DB的相关内容,业余国内外大型互联网公司深入探讨过向量数据库。专用的向量数据库确实可以针对AI向量检索场景提供非常好的功能与性能;但是当场景中需要对向量进行调整(即update)的时候,专用向量数据库就会出现无法更新的情况,只能标记并将修改内容新增至向量数据库中。这就造成了,需要调整向量的场景需要预留一定空间用于“更新”操作,另一方面向量数据库中会存在无效数据,不仅增大了空间占用也增加了性能损耗。
那么Oracle Vector DB是如何解决这些问题的呢,后面会深入讲解。

总结

本期简单讲解了机器学习、向量、向量数据库的基本概念,下一期将针对LLM进行简单介绍。
老规矩,知道写了些啥。

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

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

相关文章

BKP寄存器与RTC实时时钟

BKP寄存器 BKP寄存器简介 BKP(Backup Registers)备份寄存器 BKP可用于存储用户应用程序数据。当VDD(2.03.6V)电源被切断,他们仍然由VBAT(1.83.6V)维持供电。当系统在待机模式下被唤醒&#xf…

烹饪第一个U-Net进行图像分割

今天我们将学习如何准备计算机视觉中最重要的网络之一:U-Net。如果你没有代码和数据集也没关系,可以分别通过下面两个链接进行访问: 代码: https://www.kaggle.com/datasets/mateuszbuda/lgg-mri-segmentation?sourcepost_page--…

知识价值2-什么是IDE?新手用哪个IDE比较好?

IDE是集成开发环境(Integrated Development Environment)的缩写,是一种软件应用程序,旨在提供集成的工具集,以方便开发人员进行软件开发。IDE通常包括代码编辑器、编译器、调试器和其他工具,以支持软件开发…

使用R语言fifer包进行分层采样

使用R语言fifer包中的stratified()函数用来进行分层采样非常方便,但fifer包已经从CRAN存储库中删除,需要从存档中下载可用的历史版本,下载链接:Index of /src/contrib/Archive/fifer (r-project.org)https://cran.r-project.org/s…

浅谈路由器交换结构

一、路由器技术概述 路由器(Router)是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用的以太网协议…

【算法】排序详解(快速排序,堆排序,归并排序,插入排序,希尔排序,选择排序,冒泡排序)

目录 排序的概念: 排序算法的实现: 插入排序: 希尔排序: 选择排序: 堆排序: 冒泡排序: 快速排序: 快速排序的基本框架: 1.Hoare法 2. 挖坑法 3.前后指针法 快…

口腔助手|口腔挂号预约小程序|基于微信小程序的口腔门诊预约系统的设计与实现(源码+数据库+文档)

口腔小程序目录 目录 基于微信小程序的口腔门诊预约系统的设计与实现 一、前言 二、系统功能设计 三、系统实现 1、小程序前台界面实现 2、后台管理员模块实现 四、数据库设计 1、实体ER图 2、具体的表设计如下所示: 五、核心代码 六、论文参考 七、最新…

ASP.NET Core Web API 流式返回,实现ChatGPT逐字显示

🏆作者:科技、互联网行业优质创作者 🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造 🏆欢迎关注我(Net数字智慧化基地),里面…

关于创建vue项目报错command failed: npm install --loglevel error

一、首先 在这个目录下有个文件叫.vuerc 二、其次 进去之后把里面的"useTaobaoRegistry": false,修改下,我之前是true,后来改成了false才成功。

Linux下的多用户管理和认证:从入门到精通(附实例)

Linux操作系统以其强大的多用户管理和认证机制而著称。这种机制不仅允许多个用户同时登录并执行各种任务,还能确保每个用户的数据安全和隐私。本文将通过一系列实例,带你逐步掌握Linux下的多用户管理和认证。 一、Linux多用户管理的基础知识 在Linux中&…

EasyCaptcha,开源图形验证码新标杆!

引言: 随着互联网的普及,验证码已成为网站和应用程序中不可或缺的安全组件。它能够有效地防止自动化攻击、垃圾邮件和机器人活动。在众多验证码解决方案中,Easy-captcha以其简单易用和高度可定制的特点受到了开发者的青睐。本文将指导读者如…

推荐系统|召回05_矩阵补充、最近邻查找

文章目录 矩阵补充Matrix Completion模型结构模型训练模型存储 矩阵补充Matrix Completion 模型结构 通过用户ID和物品ID分别找到对应的向量,然后去做内积,内积的数值可以去衡量匹配的程度。 不共享参数的意思是指用户ID和物品ID使用不同的Embedding L…

【计算几何】给定一组点的多边形面积

目录 一、说明二、有序顶点集三、无序顶点集3.1 凸多边形3.2 非凸多边形 四、结论 ​ 一、说明 计算多边形面积的方法有很多种。众所周知的多边形(如三角形、矩形、正方形、梯形等)的面积可以使用简单的数学公式计算。在这篇文章中,我将讨论…

《UE5_C++多人TPS完整教程》学习笔记2 ——《P3 多人游戏概念(Multiplayer Concept)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P3 多人游戏概念(Multiplayer Concept)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译…

图灵日记--MapSet字符串常量池反射枚举Lambda表达式泛型

目录 搜索树概念实现性能分析和 java 类集的关系 搜索概念及场景模型 Map的使用Map常用方法 Set的说明常见方法说明 哈希表冲突-避免-负载因子调节冲突-解决-闭散列冲突-解决-开散列/哈希桶冲突严重时的解决办法 实现和 java 类集的关系 字符串常量池String对象创建intern方法 …

SpringCloud-Eureka服务注册中心测试实践

5. Eureka服务注册中心 5.1 什么是Eureka Netflix在涉及Eureka时,遵循的就是API原则.Eureka是Netflix的有个子模块,也是核心模块之一。Eureka是基于REST的服务,用于定位服务,以实现云端中间件层服务发现和故障转移,服…

Junit5基础教程

文章目录 一,导入依赖二,基本功能一、常用断言二、执行顺序和常用注解1、通过BeforeAll类的注解来保证顺序2、通过order注解来保证执行顺序 三、依赖测试四、参数化测试五、测试套件SelectPackages、IncludePackages、SelectClasses、IncludeTags等注解的…

C语言printf函数详解..

1.printf函数解析 前面我们有讲过printf函数的格式为: printf(“占位1 占位2 占位3……”, 替代1, 替代2, 替代3……); 今天我们进一步深入的解析一下这个函数 2.printf函数的特点 1.printf函数是一个变参函数(即参数的数量和类型都不确定) 2.printf函数的第一个…

【MySQL】——数值函数的学习

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-Z1fAnfrxGD7I5gqp {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

bugku 1

Flask_FileUpload 文件上传 先随便传个一句话木马 看看回显 果然不符合规定 而且发现改成图片什么的都不行 查看页面源代码,发现提示 那应该就要用python命令才行 试试ls 类型要改成图片 cat /flag 好像需要密码 bp爆破 根据提示,我们先抓包 爆破 …