数据库管理-第106期 以前版本Oracle数据库中的AI与向量应用(20230912)

2023-09-21 11:23:22

数据库管理-第106期 以前版本Oracle数据库中的AI与向量应用(20230912)

2023年Oracle Cloud World(下简称OCW)大会(以前叫OOW)美国当地时间9月18日-9月21日在美国召开。作为世界领先的数据库,数据库行业从业者都应该关注和学习。在本次OCW中,除了与微软Azure更加深入的合作(即可以在Azure上直接购买使用Oracle数据库)之外,最重要的发布就是23c和vector向量数据库的发布。也许在很多人看来,在ChatGPT流行已经一段时间,国内特别是基于PG vector插件的向量数据库也已经风风火火了一段时间了,Oracle现在提向量数据库是不是已经落后了,甚至有蹭热点的嫌疑,在大模型、向量上,国内已经“遥遥领先”了。本期就来看看Oracle数据库中的AI和向量应用(这里说明一点,向量我不熟,通过vector关键字去匹配的相关内容)。

1 AI

从很早开始Oracle就开始提数据库的自治与自动驾驶,其中就包括自动索引、机器学习、故障自愈等功能。将AI能力赋能给数据库通用能力,提升数据库性能,降低故障概率,减少故障时间。
当然因为硬件水平、基础架构等要素影响其中很多功能只能运用在基于Exadata或者OCI的环境中(其实OCW提供的数据库实例大多数都是从Exadata上分出来的)。以Exadata Storage Software提供的smart scan功能为例,它将数据搜索和检索处理offload到存储单元。Exadata Cell(存储节点)在存储级别评估查询谓词,以优化某些批量数据处理类的性能。该功能会在存储侧对存储数据进行索引处理(这里并不是表索引),通过存储侧预先对数据进行筛选,减少存储到计算节点之间的网络传输压力及内存占用,同时计算所涉及更小的数据量也能加速计算速度并减少CPU使用。在这中间Exadata会利用机器学习根据数据库使用情况去不断地优化存储侧数据索引及存放方式,以达到更快的加速查询。其他功能诸如自动索引已经在19c中在普通数据库可用、故障自愈主要还是在OCI上。

2 Vector

2.1 Inmemory

在Oracle官方文档中,在Database In-Memory Guide有一部分是专门介绍CPU向量的:2.5 CPU Architecture: SIMD Vector Processing

对于IM列存储中填充的数据,数据库使用SIMD(单指令、多数据)处理。
SIMD单元是一种处理器,它使单个指令能够作为一个单元(称为向量)处理数据,而不是在单独的指令中处理数据。例如,SIMD可以将四组数字加载到向量中并执行一次加法运算,而不是使用循环来执行四次加法运算。SIMD处理有时被称为向量化。
IM列存储最大化了CPU可以加载到向量寄存器中并进行评估的列条目的数量。数据库不是一次评估列中的每个条目,而是评估单个CPU指令中的一组列值。SIMD向量处理使数据库能够每秒扫描数十亿行。

2.2 SIMD and Exadata Smart Flash Cache

在同章节中2.5.3 SIMD and Exadata Smart Flash Cache也有Exadata使用SIMD的相关介绍。

除了以混合列压缩格式存储数据外,Exadata Smart Flash Cache还可以以纯列格式存储数据。
Exadata Smart Scan支持SIMD谓词。其优点是内存性能从DRAM存储器扩展到辅助存储器。

当然这里的向量技术使用只是针对Oracle数据库的某些通用类场景加速,并不是现在所说的用于大模型。

3 23c

其实23c Free在4月份就已经发布供大家试玩,加上AI与向量Oracle已经使用了十数年之久,所以我认为Oracle在本次OCW提向量数据库并非是“兴之所至”或是“蹭热度”。本次OCW应该会发布正式版23c,届时随着全功能数据库软件包的可下载以及官方文档的更新,我们能更进一步了解23c的各项新特性。

总结

后面将继续关注Oracle Database 23c的相关信息。
老规矩,知道写了些啥。

更多推荐

Linux多线程【线程控制】

✨个人主页:北海🎉所属专栏:Linux学习之旅🎃操作环境:CentOS7.6阿里云远程服务器文章目录🌇前言🏙️正文1、线程知识补充1.2、线程私有资源1.3、线程共享资源1.4、原生线程库2、线程控制接口2.1、线程创建2.1.1、一批线程2.2、线程等待2.3、线程终止2.4、线程实战2.5、其他接口2.5.

Flutter动态化开发之Fair实战

一、背景目前移动端应用的版本更新,最常见的方式是定期发版,无论是安卓还是iOS,都需要提交新的安装包到应用市场进行审核。审核通过后,用户在应用市场进行App的下载更新。而动态化,就是不依赖更新程序安装包,就能动态实时更新页面的技术。相比动态化技术,定期发版更新应用的方式存在一些问题,比如:审核周期长,且可能审核不通过。

【完全二叉树魔法:顺序结构实现堆的奇象】

本章重点二叉树的顺序结构堆的概念及结构堆的实现堆的调整算法堆的创建堆排序TOP-K问题1.二叉树的顺序结构普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是

PostgreSQL缓存管理

缓冲区管理器、存储和后端进程之间的关系缓存管理结构PostgreSQL缓冲区管理器由buffertable、bufferdescriptors和bufferpool组成。bufferpool层存储表和索引等数据文件页,以及空闲空间映射和可见性映射。bufferpool是一个数组,每个槽存储数据文件的一个页面。缓冲池数组

No suitable driver found for jdbc:mysql://localhost:3306/BookManagement

目录问题背景解决办法问题背景今天遇见一个这个报错,解决后将解决方案分享一下:报错内容如下:“"C:\ProgramFiles\Java\jdk1.8.0_221\bin\java.exe""-javaagent:D:\IDEA2020_1\IntelliJIDEA2020.1\lib\idea_rt.jar=51910

React 全栈体系(六)

第三章:React应用(基于React脚手架)二、组件的组合使用-TodoList3.添加todo3.1App/*src/App.jsx*///创建“外壳”组件AppimportReact,{Component}from'react'importHeaderfrom'./components/Header'import

服务器数据恢复-ESX SERVER常见故障的数据恢复的可能性分析

ESXSERVER常见故障表现:1、因光纤存储设备连接至非ESX环境,共享未互斥,对存储进行的改写操作(如:重装系统,WINDOWS初始化,格式化等)导致存储结构损坏。2、卷升级、变更时分区表或VMFS卷结构异常。3、VMFS存储中VMDK被删除。4、VMFS被格式化。ESXSERVER故障解决方案:1、检测是否存在硬

[X3m]Ubuntu 根文件系统制作

使用ubuntu20.04sudoapt-getinstallwgetca-certificatesdevice-tree-compilerpvbclzopzipbinfmt-support\build-essentialccachedebootstrapntpdategawkgcc-arm-linux-gnueabi

【Django】 rest_framework接口开发流程及接口组成

rest_framework接口开发流程及接口组成使用restframework框架开发接口,方式应该有6、7种,每个人的习惯不同,用的方法也不一样,再次不再一一详述。我比较常用:ModelSerializer+GenericAPIView原因是用视图函数+装饰器、视图类+继承APIView、或者混入Mixin这三种封

React 窗口防抖

假如有这种需求:浏览器的窗口不断缩小变大,此时页面的布局不会自动刷新,需要手动刷新页面才会自适应大小。此时我们立马就会想到使用windows的onresize方法window.onresize=()=>{//重新渲染画面root.render(<App/>)}但是新的问题就会出现这个onresize方法会被调用多次,多

AI实战营第二期 第十节 《MMagic 代码课》——笔记11

AI实战营第二期第十节《MMagic代码课》MMagic(MultimodalAdvanced,Generative,andIntelligentCreation)是一个供专业人工智能研究人员和机器学习工程师去处理、编辑和生成图像与视频的开源AIGC工具箱。MMagic允许研究人员和工程师使用最先进的预训练模型,并且可

热文推荐