百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Oracle Database 23ai 正式发布!年近 50 岁的数据库巨头正迈入 AI 时代

mhr18 2025-02-04 15:10 17 浏览 0 评论

作者 | 核子可乐、李冬梅

北京时间 2024 年 5 月 3 日凌晨, Oracle 公司宣布正在为其数据库产品提供最新的长期支持版本 Oracle Database 23ai。值得一提的是,这款数据库的曾用名是 Database 23c,后来由于数据库中添加了一些 AI 功能而变更为现在的名称。


除了 AI 功能外,Oracle Database 23ai 的云版本还提供了 300 多项新功能中,包括 Java Script 存储规程、优先事务、数据用例域、Schema 权限、布尔数据类型、开发者角色、JSON Schema、实时 SQL 规划管理、微服务支持改进、XML 与 JSON 搜索索引增强等。


Oracle 公司在新闻稿中表示,“在过去四年间,Oracle 数据库开发部门一直致力于为 Oracle 数据库打造下一个长期支持版本,且重点关注 AI 与开发者生产力需求。考虑到新版本数据库对于 AI 的高度关注,我们决定将名称从 Oracle Database 23c 更改为 Oracle Database 23ai,以此反映本次发布的重点与当前技术市场的整体背景”。


Oracle Database 23ai 专注于三大关键领域:数据与 AI、数据与开发以及数据与关键任务。

数据与 AI

在这一部分,Oracle Database 23ai 的核心目标有两个:第一,是让应用开发者能够更轻松地将 AI 功能添加至数据驱动的应用程序当中;第二,是将生成式 AI 功能纳入我们的产品,以便 Oracle 数据库的所有用户(从数据分析师到应用程序开发者及 DBA)都能享受到工作效率提升。


而效率提升的具体实现,源自利用 AI 简化 Oracle 数据库的数据管理流程、提供 AI 算法以从数据中发现新见解、促进数据库查询的自然语言交互,以及使用户能够存储 AI 生成的向量以快速实现对各对象的相似性搜索。

增强新一代 AI 模型


过去两年,人们已经感受到了 AI 大语言模型(LLM)带来的影响,ChatGPT、谷歌 Gemini、Cohere 以及 Llama 等产品就是例证。虽然大模型对人们处理日常事务的方式产生了深远影响,但这些引擎也同样面临着一大挑战——它们只能在其创建的特定时间窗口之内回答问题。也就是说,它们并不能有效利用组织之内保存的数据、背景以及更多细节。为了让各类大模型发挥出更加全面的作用,需要结合数据库中的已有数据,帮助并增强大模型对于相关问题的解答能力。


在 Oracle Database 23ai 当中,Oracle 研发团队引入了 AI 向量搜索。这是一项强大的新技术,允许大家利用新一代 AI 模型来生成并存储向量。这些向量(也被称为嵌入)是文档、图像、视频、声音等的多维表示。通过将这些对象编码为向量,可以使用数学计算来查找它们之间的相似性。


Oracle Database 23ai 解决方案的真正强大之处,在于它可以将这些相似性搜索与使用简单 SQL 的业务数据搜索结合起来。也就是说,任何对 SQL 拥有基本了解的人都可以编写出相似性与其他搜索条件相结合的强大语句。这类查询为大模型带来了额外的背景信息,增强了他们的知识也让他们的回答更加准确,并与客户或组织的问题内容息息相关。为了启用此功能,研发人员还添加了新的数据类型、新的向量索引以及 SQL 语言扩展,以便降低 Oracle Database 23ai 中高级分析功能、查询向量以及现有业务数据的操作门槛。



那么,这些功能是如何实现的?


据 Oracle 介绍,为了实现大语言模型的潜在优势,他们首先需要加深对于数据集以及其中对象的理解。对这些对象进行编码的模型,往往是由庞大且复杂的无数代码片段构建而成。因此,组织往往需要将处理工作移交给第三方服务机构。而这种与第三方分享潜在敏感信息的行为,也自然会带来相应风险。

数据安全编码


为了确保对象的安全编码,Oracle Database 23ai 允许用户通过 ONNX 标准支持将自己的可信 AI 模型直接加载至数据库当中。如此一来,Oracle Database 23ai 就能在对象插入数据库时对其进行编码。这不仅让针对对象的近实时安全推理成为可能,同时也避免了从数据库中提取数据并将其移交给第三方服务商的风险环节。

以自然顺畅的方式提出问题


虽然 SQL 是一种非常强大的语言,但其上手难度也着实不低。为了让更多用户能够面向 Oracle 数据库提出各种复杂问题,我们正着手与 Cohere 及 Llama 等大语言模型相集成,以实现提问流程的自然语言支持能力。现在用户可以简单提出问题,比如“显示最近 4 个季度以来,最受年轻一代消费者欢迎的产品销量。”Oracle Database 23ai 将与大模型共享表内元数据以回答用户提问。大模型能够理解“年轻一代”的含义,并将其转换为数据范围以作为 SQL 查询中的过滤条件,将指令返回至数据库。当然,除了查询数据库内的信息以外,Oracle Database 23ai 也允许用户就各个方面的内容提出询问。


自 Oracle Database 9iR2 在 20 多年前发布以来,这款数据库一直内置有机器学习(ML)算法,以帮助用户快速查找表内数据的模式、趋势并预测客户行为。这些机器学习算法允许大家轻松实现各种功能,且无需经历复杂的 ETL 操作来提取数据并写回结果。而在将数据插入或加载至 Oracle 数据库时,这些机器学习模型还可用于分类、聚类及预测,从而提供客户推荐、欺诈检测等一系列切实业务优势。自该版本发布以来,研发团队陆续改进了 Oracle 数据库并添加了更多新的机器学习算法及功能,建立起业界最复杂、功能最强大的数据挖掘平台之一。

适用于所有 Oracle Database 版本


AI 向量搜索作为 Oracle Database 23ai 中的一部分,将在企业版、标准版 2、Database Free 以及所有 Oracle Database 云服务中提供(不额外收费)。


AI 向量搜索在发布之前就引起了广泛关注,许多客户及合作伙伴都热衷于尝试并提供关于 AI 向量搜索等最新功能的反馈。Miracle Finland Oy 公司 CEO Heli Helskyaho 表示:“AI 向量搜索通过将 AI 引入数据的方式,改变了我们对于业务的审视角度:例如,我们可以使用自然语言来查询文档内容,以找到客户所提出问题的答案。这使得为客户提供服务的过程变得更快,服务质量也有所提高。这种将生成式 AI 之力与自有数据相结合的使用方式,必将带来巨大的变化。”

数据与开发

Oracle Database 23ai 专注于消除与数据库交互相关的复杂性,借此简化应用程序开发体验。消除应用程序开发流程中的复杂性,这意味着使用该款数据库产品时,用户能够把更多精力投入到构建更优雅应用程序当中,而不再身陷充斥着种种技术细节的泥潭。此外,降低复杂性还有助于缩短开发周期,帮助用户更好地适应市场需求瞬息万变、开发节奏难以把控的当前数字环境。

JSON 还是关系——一个艰难的选择

Oracle 23ai 引入了多项关键技术以降低开发者面临的复杂性,而其中最具创新意义和功能实效的,当数 JSON-关系二元性的引入。这项技术允许用户在单一应用当中充分利用关系的强大功能与 JSON 开发方法的便利性。JSON 提供一种优雅的数据建模方法,其中回答查询所需要的全部相关数据都将包含在单一对象之内,而无需跨表执行复杂的联接。关系方法提供灵活、存储高效且一致的数据模型,易于使用 SQL 等语言进行查询。从历史角度来看,用户往往需要在应用程序生命周期之初就被迫选择一种数据库建模方法,而随着后续业务需求的变化,早期阶段做出的决策很有可能产生深远影响、甚至阻碍业务的顺畅运行。JSON-关系二元性的优点在于,用户能够同时享受这两种方法的优势,而无需使用复杂且笨重的对象关系映射框架(ORM)。


通过在关系表之上创建简单的 JSON Duality 视图,用户可以构建起用文档来查询并更新基础数据集的应用程序。这不仅避免了文档建模中的一个基本问题——数据重复,甚至能够将数据库级的并发控制复杂性隐藏起来,由 Oracle Database 23ai 代表用户管理文档级可串行性。大家可以继续使用简单的 HTTP PUT、POST 及 GET 操作,或者直接针对 Oracle Database 使用特定语言的 API,例如 Oracle SODA API 甚至 MongoDB API。有了 JSON Duality Views,“鱼与熊掌不可兼得”将彻底成为历史。


让 SQL 更加易用

SQL 仍然是当今应用程序开发者群体中最流行的开发语言之一。这种涵盖从最简单、到最复杂的业务数据查询能力,也使得 SQL 成为数据管理领域的绝对基石。在可预见的未来,SQL 的江湖地位大概率仍不可动摇。当然,其中也仍有可以改进的地方。在 Oracle Database 23ai 中,研发人员听取了大量增强请求,并研究了哪些能够切实简化、或者以更加引人注目的方式实现数据库交互。他们此番针对 SQL 做出的改进包括添加“布尔”与“向量”两种新的数据类型,添加了“数据用例域”以允许用户丰富表定义中所使用数据类型的含义,消除了简单 SQL 语句对于“from Dual”的硬性要求以提高可读性、从而更轻松地聚合“interval”数据类型,同时引入表值构造函数以轻松在 insert select 或 merge 语句中指定多个行。


为复杂关系建立属性图模型

图数据库为现实场景中的各类复杂关系提供全新的建模视角。然而截至目前,开发人员仍然很难解决专有语言带来的问题,不得不将数据发送至专门用于管理这些关系的数据库,因此阻碍了这项突破性技术得到广泛接纳。好在数据库行业尝试以协作方式推动图数据库技术的大众化,并最终建立起相关标准。这些标准使得开发人员能够熟悉并发挥 SQL 的功能广泛性优势,从而建立起更易于访问的环境。Oracle Database 23ai 就是采用这一新标准建立的开创性商用数据库。通过这些进步,预计图数据库在企业生态系统中的集成将迎来大幅增长。


与 JSON 二元视图一样,用户可以通过属性图视图来表达希望如何使用现有关系表,或者如何使用 JSON 集群中已经保存的数据。通过简单视图,用户可以充实数据以对数据内包含的潜在复杂关系进行建模。新的 SQL 扩展也简化了编写强大查询的流程,方便用户更深入地理解那些以往标准 SQL 所难以描述的信息。研发人员还添加了一组新的复杂图形算法(最短路径、分类、连接等),这些算法将在 GA 版本发布后尽快推出。



Property Graph 属性图将在 Oracle Database 23ai 的所有版本中向用户开放。

数据与关键任务

Oracle Database 长期以来,一直在为全球各类最重要的应用场景提供支持,其功能和使用范围异常广泛,且擅长保护关键系统免遭意外停机。其中一个典型用例就是 Oracle Real Applications Clusters(RAC),这是一项支持全活、共享磁盘数据库的前沿技术,适合匹配关键任务场景。Oracle Active DataGuard 与 Oracle GoldenGate 在构建同构与异构数据复制架构方面也能提供独树一帜的灵活性优势。

让分片更好、更快、更简单

对于企业希望在更远距离上分发数据的用例(无论是出于用户数据必须存储在客户所处国家/地区的硬性监管要求,还是为了降低全球分布式应用程序的相关访问延迟),研发人员还引入了来自 Oracle Database 12 的数据库分片机制。分片是指将数据集分布在多个 Oracle 数据库当中,但统一作为单个逻辑数据集进行管理。这种分片架构允许通过添加及删除分片来扩展或收缩数据库,并允许 Oracle 对数据集自动进行重新均衡。Oracle 能够在线完成这项操作,而且由于分片机制直接嵌入数据库之内,因此对业务的正常运行影响很小。


在 Oracle Database 23ai 中,全局分布式数据库技术引入了对 Raft 复制功能的支持。这是一种基于共识的协议,有助于跨所有分片自动配置复制。使用 Raft,复制数据将在所有分片中作为“复制单元”的副本形式进行保存。一旦发生分片故障或者重新配置,Oracle Database 23ai 会自动对数据执行重新均衡。新的 Raft 协议还支持亚秒级故障转移,能够有力保障业务连续性。



Oracle 23ai 还为高可用性产品带来了一系列全面改进,例如新的“本地滚动数据库维护”,通过在接收补丁的同一节点上建立另一实例,以简化集群中滚动补丁的影响。Oracle 还引入了新的 Data Guard Per Pluggable Database(PDB)支持,允许在两个容器数据库(CDB)之间提供可插拔的数据库级灾难保护功能,且每个 CDB 都运行活动工作负载。我们还改进了 Oracle Clusterware 中的 PDB 集成与管理。

让数据缓存更简单

在应用程序层缓存数据能带来诸多好处,包括提高应用程序的响应速度并减少数据库负载,这是因为查询会被转移至与代码距离更近的缓存当中。但为了实现这些好处,开发人员往往面临着诸多挑战,其中最大的问题之一就是确保缓存与后端数据库中保存数据的一致性,否则可能引发提供过时/潜在错误数据的风险。以往,开发人员会被迫编写复杂的代码来管理这些场景,且常常需要求助于“存活时间”之类的设计模式,其中数据会定期在缓存内刷新并重新加载。种种复杂挑战的存在,意味着缓存的维护将相当困难且昂贵。在某些情况下,维护成本往往要比设计成本更高、也更令用户头痛。


在 Oracle Database 23c 中,开发人员希望通过名为“True Cache”的新功能解决 Oracle Database 中的缓存问题。True Cache 是在主数据库之前运行的非磁盘 Oracle 实例,该实例利用 Active Data Guard 技术确保其随着主数据库实例中的数据变更而自动更新。这种新型缓存技术最重要的功能之一,就是在简单配置与最低程度代码更改需求的前提下即可发挥作用。


让 SQL 执行更安全

组织面临的一大挑战,就是恶意攻击者不断尝试窃取数据并破坏其日常运营。在 Oracle Database 23ai 中,为了防止执行未经授权的 SQL(包括 SQL 注入攻击以及未经授权人员的执行操作),研发人员引入了 SQL 防火墙。SQL 防火墙允许用户利用允许执行的 SQL 来训练数据库。之后,SQL 的“获准列表”会记录未经授权的 SQL 或者其执行情况。用户还能添加其他条件,以明确列出 IP 范围或授权调用程序中的例外情况。SQL 防火墙之所以如此强大,是因为它属于 Oracle Database 的组成部分,因此对于 SQL 执行造成的额外开销非常有限。SQL 防火墙的设置和训练都非常简单,可以通过 GUI 或者对存储过程的简单调用轻松完成。



事实上,Oracle Database 23ai 的发布之所以会引发如此大的关注,最主要的原因是由于其引入了 Oracle AI 向量检索功能。此功能允许客户根据概念内容(而不是特定的单词、像素或数据值)轻松搜索文档、图像和其他非结构化数据。


通过安全地结合对非结构化数据和私有业务数据的搜索,Oracle Database 23ai 能够在不移动和复制数据的情况下就可以轻松完成该任务,这样的操作在数据安全领域尤为重要。


与需要将数据移动到算法所在位置的传统 AI 算法不同,Oracle Database 23ai 将 AI 算法带到数据所在位置。这使得人工智能能够在 Oracle 数据库中实时运行,从而提高人工智能应用程序的有效性、效率和安全性。

原文链接:新增300多项功能,Oracle Database 23ai正式发布!年近50岁的数据库巨头正迈入AI时代_数据湖仓_核子可乐_InfoQ精选文章

相关推荐

一文读懂Prometheus架构监控(prometheus监控哪些指标)

介绍Prometheus是一个系统监控和警报工具包。它是用Go编写的,由Soundcloud构建,并于2016年作为继Kubernetes之后的第二个托管项目加入云原生计算基金会(C...

Spring Boot 3.x 新特性详解:从基础到高级实战

1.SpringBoot3.x简介与核心特性1.1SpringBoot3.x新特性概览SpringBoot3.x是建立在SpringFramework6.0基础上的重大版...

「技术分享」猪八戒基于Quartz分布式调度平台实践

点击原文:【技术分享】猪八戒基于Quartz分布式调度平台实践点击关注“八戒技术团队”,阅读更多技术干货1.背景介绍1.1业务场景调度任务是我们日常开发中非常经典的一个场景,我们时常会需要用到一些不...

14. 常用框架与工具(使用的框架)

本章深入解析Go生态中的核心开发框架与工具链,结合性能调优与工程化实践,提供高效开发方案。14.1Web框架(Gin,Echo)14.1.1Gin高性能实践//中间件链优化router:=...

SpringBoot整合MyBatis-Plus:从入门到精通

一、MyBatis-Plus基础介绍1.1MyBatis-Plus核心概念MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提...

Seata源码—5.全局事务的创建与返回处理

大纲1.Seata开启分布式事务的流程总结2.Seata生成全局事务ID的雪花算法源码3.生成xid以及对全局事务会话进行持久化的源码4.全局事务会话数据持久化的实现源码5.SeataServer创...

Java开发200+个学习知识路线-史上最全(框架篇)

1.Spring框架深入SpringIOC容器:BeanFactory与ApplicationContextBean生命周期:实例化、属性填充、初始化、销毁依赖注入方式:构造器注入、Setter注...

OpenResty 入门指南:从基础到动态路由实战

一、引言1.1OpenResty简介OpenResty是一款基于Nginx的高性能Web平台,通过集成Lua脚本和丰富的模块,将Nginx从静态反向代理转变为可动态编程的应用平台...

你还在为 Spring Boot3 分布式锁实现发愁?一文教你轻松搞定!

作为互联网大厂后端开发人员,在项目开发过程中,你有没有遇到过这样的问题:多个服务实例同时访问共享资源,导致数据不一致、业务逻辑混乱?没错,这就是分布式环境下常见的并发问题,而分布式锁就是解决这类问题的...

近2万字详解JAVA NIO2文件操作,过瘾

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。从classpath中读取过文件的人,都知道需要写一些读取流的方法,很是繁琐。最近使用IDEA在打出.这个符号的时候,一行代...

学习MVC之租房网站(十二)-缓存和静态页面

在上一篇<学习MVC之租房网站(十一)-定时任务和云存储>学习了Quartz的使用、发邮件,并将通过UEditor上传的图片保存到云存储。在项目的最后,再学习优化网站性能的一些技术:缓存和...

Linux系统下运行c++程序(linux怎么运行c++文件)

引言为什么要在Linux下写程序?需要更多关于Linux下c++开发的资料请后台私信【架构】获取分享资料包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdf...

2022正确的java学习顺序(文末送java福利)

对于刚学习java的人来说,可能最大的问题是不知道学习方向,每天学了什么第二天就忘了,而课堂的讲解也是很片面的。今天我结合我的学习路线为大家讲解下最基础的学习路线,真心希望能帮到迷茫的小伙伴。(有很多...

一个 3 年 Java 程序员 5 家大厂的面试总结(已拿Offer)

前言15年毕业到现在也近三年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中...最终有幸去了网易。但是要...

多商户商城系统开发全流程解析(多商户商城源码免费下载)

在数字化商业浪潮中,多商户商城系统成为众多企业拓展电商业务的关键选择。这类系统允许众多商家在同一平台销售商品,不仅丰富了商品种类,还为消费者带来更多样的购物体验。不过,开发一个多商户商城系统是个复杂的...

取消回复欢迎 发表评论: