数据库管理-第14期 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进行简单介绍。
老规矩,知道写了些啥。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python中HTTP隧道的基本原理与实现

HTTP隧道是一种允许客户端和服务器之间通过中间代理进行通信的技术。这种隧道技术允许代理服务器转发客户端和服务器之间的所有HTTP请求和响应,而不需要对请求或响应内容进行任何处理或解析。Python提供了强大的网络编程能力,可以使用标准库中的socket和…

波奇学Linux:文件重定向和虚拟文件系统

重定向 文件描述符所对应的分配规则,从0开始,寻找最小没有使用的数组位置。 如图所示,关闭文件描述符的0,新打开的文件描述符为0,而关闭2,文件描述符为2。 重定向:文件输出的对象发生改变 例…

【 buuctf snake 】

需要用到 Serpent 加密,蛇也不一定是 snake,serpent 也是蛇的意思。 binwalk -e /Users/xxx/Downloads/snake/snake.jpgbinwalk 提取 key 中有 base64 编码,解密 图源自BUUCTF:snake_buuctf snake-CSDN博客 结果是 anaconda,还有…

Docker 容器网络:C++ 客户端 — 服务器应用程序。

一、说明 在下面的文章中, 将向您概述 docker 容器之间的通信。docker 通信的验证将通过运行 C 客户端-服务器应用程序和标准“ping”命令来执行。将构建并运行两个单独的 Docker 映像。 由于我会关注 docker 网络方面,因此不会提供 C 详细信息。…

30s学会RecyclerView创建动态列表

详细学习请参考官网 使用 RecyclerView 创建动态列表 | Android 开发者 | Android Developers (google.cn) 1.RecyclerView定义及其构造 少废话,就是一个视图控件,就像你刷小红书,东一块西一块很丝滑地滑动 就是 RecyclerView 如下图&a…

【北邮鲁鹏老师计算机视觉课程笔记】01 introduction

1 生活中的计算机视觉 生活中的各种计算机视觉识别系统已经广泛地应用起来了。 2 计算机视觉与其他学科的关系 认知科学和神经科学是研究人类视觉系统的,如果能把人类视觉系统学习得更好,可以迁移到计算机视觉。是计算机视觉的理论基础。 算法、系统、框…

图形界面基础

X Window System 什么是 X Window System? 最初是1984年麻省理工学院的研究,之后变成UNIX、类UNIX、以及OpenVMS等操作系统所一致适用的标准化软体工具套件及显示架构的运作协定。X Window系统透过软体工具及架构协定来建立操作系统所用的图形用户界面&a…

“智能检测,精准把控。温湿度检测系统,为您的生活带来全方位的健康保障。”#非标协议项目【下】(分文件编程)

“智能检测,精准把控。温湿度检测系统,为您的生活带来全方位的健康保障。”#非标协议项目【下】(分文件编程) 前言预备知识1温湿度检测系统需求2.分文件编程核心思路3.分文件编程操作4利用分文件操作建立uart.c、lcd1602.c、dht11…

git版本回退。git reset参数详解,特殊提交情形下的git push操作(CR等常见场景),git reflog和git log的详解。

切换分支可以使用 git checkout <> 或者git switch ... 创建分支可以使用 git checkout -b <. ...> 或 git branch <...> git checkout <...> git reset --hrad HEAD^ -- 今日份chatgpt git reset --hard HEAD^ 的含义如下&#xff1a; git reset …

HiveSQL——sum(if()) 条件累加

注&#xff1a;参考文章&#xff1a; HiveSql面试题10--sum(if)统计问题_hive sum if-CSDN博客文章浏览阅读5.8k次&#xff0c;点赞6次&#xff0c;收藏19次。0 需求分析t_order表结构字段名含义oid订单编号uid用户idotime订单时间&#xff08;yyyy-MM-dd&#xff09;oamount订…

学习Android的第六天

目录 Android TextView 文本框 TextView 基础属性 范例 带阴影的TextView 范例 带边框的TextView 范例 带图片(drawableXxx)的TextView 范例1 范例2 使用autoLink属性识别链接类型 范例 TextView 显示简单的 HTML 范例1 范例2 SpannableString & Spannable…

【数据结构】链表OJ面试题5(题库+解析)

1.前言 前五题在这http://t.csdnimg.cn/UeggB 后三题在这http://t.csdnimg.cn/gbohQ 给定一个链表&#xff0c;判断链表中是否有环。http://t.csdnimg.cn/Rcdyc 给定一个链表&#xff0c;返回链表开始入环的第一个结点。 如果链表无环&#xff0c;则返回 NULLhttp://t.cs…

随机MM引流源码PHP开源版

引流源码最新随机MM开源版PHP源码&#xff0c;非常简洁好看的单页全解代码没任何加密 直接上传即可用无需数据库支持主机空间

《剑指 Offer》专项突破版 - 面试题 38、39 和 40 : 通过三道面试题详解单调栈(C++ 实现)

目录 面试题 38 : 每日温度 面试题 39 : 直方图最大矩形面积 方法一、暴力求解 方法二、递归求解 方法三、单调栈法 面试题 40 : 矩阵中的最大矩形 面试题 38 : 每日温度 题目&#xff1a; 输入一个数组&#xff0c;它的每个数字是某天的温度。请计算每天需要等几天才会…

290. Word Pattern(单词规律)

题目描述 给定一种规律 pattern 和一个字符串 s &#xff0c;判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配&#xff0c;例如&#xff0c; pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。 提示: 1 < pattern.length < 300 pa…

python+django高校活动报名场地管理系统l1ro4

校园活动管理平台程序的开发&#xff0c;在数据库的选择上面&#xff0c;选择功能强大的MySQL数据库进行数据的存放操作。 技术栈 后端&#xff1a;python 前端&#xff1a;vue.jselementui 框架&#xff1a;django Python版本&#xff1a;python3.7 数据库&#xff1a;mysql5…

tkinter-TinUI-xml实战(10)展示画廊

tkinter-TinUI-xml实战&#xff08;10&#xff09;展示画廊 引言声明文件结构核心代码主界面统一展示控件控件展示界面单一展示已有展示多类展示 最终效果在这里插入图片描述 ![](https://img-blog.csdnimg.cn/direct/286fcaa2fa5648a992a0ac79b4efad82.png) ………… 结语 引言…

大数据Flume--入门

文章目录 FlumeFlume 定义Flume 基础架构AgentSourceSinkChannelEvent Flume 安装部署安装地址安装部署 Flume 入门案例监控端口数据官方案例实时监控单个追加文件实时监控目录下多个新文件实时监控目录下的多个追加文件 Flume Flume 定义 Flume 是 Cloudera 提供的一个高可用…

《CSS 简易速速上手小册》第4章:视觉美学(2024 最新版)

文章目录 4.1 颜色理论在 CSS 设计中的应用&#xff1a;网页的调色盘4.1.1 基础知识4.1.2 重点案例&#xff1a;创建一个具有情感设计的登录页面4.1.3 拓展案例 1&#xff1a;使用颜色增强信息的可视化表示4.1.4 拓展案例 2&#xff1a;利用颜色创建网站的品牌身份 4.2 字体与文…

C#使用哈希表对XML文件进行查询

目录 一、使用的方法 1.Hashtable哈希表 2.Hashtable哈希表的Add方法 &#xff08;1&#xff09;定义 &#xff08;2&#xff09;示例 3.XML文件的使用 二、实例 1.源码 2.生成效果 可以通过使用哈希表可以对XML文件进行查询。 一、使用的方法 1.Hashtable哈希表…