作者 | 核子可乐、李冬梅
北京时间 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 数据库中实时运行,从而提高人工智能应用程序的有效性、效率和安全性。
原文链接: