天天看點

Oracle Database 23ai 正式釋出!年近 50 歲的資料庫巨頭正邁入 AI 時代

作者:InfoQ

作者 | 核子可樂、李冬梅

中原標準時間 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 Database 23ai 正式釋出!年近 50 歲的資料庫巨頭正邁入 AI 時代

那麼,這些功能是如何實作的?

據 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,“魚與熊掌不可兼得”将徹底成為曆史。

Oracle Database 23ai 正式釋出!年近 50 歲的資料庫巨頭正邁入 AI 時代

讓 SQL 更加易用

SQL 仍然是當今應用程式開發者群體中最流行的開發語言之一。這種涵蓋從最簡單、到最複雜的業務資料查詢能力,也使得 SQL 成為資料管理領域的絕對基石。在可預見的未來,SQL 的江湖地位大機率仍不可動搖。當然,其中也仍有可以改進的地方。在 Oracle Database 23ai 中,研發人員聽取了大量增強請求,并研究了哪些能夠切實簡化、或者以更加引人注目的方式實作資料庫互動。他們此番針對 SQL 做出的改進包括添加“布爾”與“向量”兩種新的資料類型,添加了“資料用例域”以允許使用者豐富表定義中所使用資料類型的含義,消除了簡單 SQL 語句對于“from Dual”的硬性要求以提高可讀性、進而更輕松地聚合“interval”資料類型,同時引入表值構造函數以輕松在 insert select 或 merge 語句中指定多個行。

為複雜關系建立屬性圖模型

圖資料庫為現實場景中的各類複雜關系提供全新的模組化視角。然而截至目前,開發人員仍然很難解決專有語言帶來的問題,不得不将資料發送至專門用于管理這些關系的資料庫,是以阻礙了這項突破性技術得到廣泛接納。好在資料庫行業嘗試以協作方式推動圖資料庫技術的大衆化,并最終建立起相關标準。這些标準使得開發人員能夠熟悉并發揮 SQL 的功能廣泛性優勢,進而建立起更易于通路的環境。Oracle Database 23ai 就是采用這一新标準建立的開創性商用資料庫。通過這些進步,預計圖資料庫在企業生态系統中的內建将迎來大幅增長。

與 JSON 二進制視圖一樣,使用者可以通過屬性圖視圖來表達希望如何使用現有關系表,或者如何使用 JSON 叢集中已經儲存的資料。通過簡單視圖,使用者可以充實資料以對資料内包含的潛在複雜關系進行模組化。新的 SQL 擴充也簡化了編寫強大查詢的流程,友善使用者更深入地了解那些以往标準 SQL 所難以描述的資訊。研發人員還添加了一組新的複雜圖形算法(最短路徑、分類、連接配接等),這些算法将在 GA 版本釋出後盡快推出。

Oracle Database 23ai 正式釋出!年近 50 歲的資料庫巨頭正邁入 AI 時代

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 Database 23ai 正式釋出!年近 50 歲的資料庫巨頭正邁入 AI 時代

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 技術確定其随着主資料庫執行個體中的資料變更而自動更新。這種新型緩存技術最重要的功能之一,就是在簡單配置與最低程度代碼更改需求的前提下即可發揮作用。

Oracle Database 23ai 正式釋出!年近 50 歲的資料庫巨頭正邁入 AI 時代

讓 SQL 執行更安全

組織面臨的一大挑戰,就是惡意攻擊者不斷嘗試竊取資料并破壞其日常營運。在 Oracle Database 23ai 中,為了防止執行未經授權的 SQL(包括 SQL 注入攻擊以及未經授權人員的執行操作),研發人員引入了 SQL 防火牆。SQL 防火牆允許使用者利用允許執行的 SQL 來訓練資料庫。之後,SQL 的“獲準清單”會記錄未經授權的 SQL 或者其執行情況。使用者還能添加其他條件,以明确列出 IP 範圍或授權調用程式中的例外情況。SQL 防火牆之是以如此強大,是因為它屬于 Oracle Database 的組成部分,是以對于 SQL 執行造成的額外開銷非常有限。SQL 防火牆的設定和訓練都非常簡單,可以通過 GUI 或者對存儲過程的簡單調用輕松完成。

Oracle Database 23ai 正式釋出!年近 50 歲的資料庫巨頭正邁入 AI 時代

事實上,Oracle Database 23ai 的釋出之是以會引發如此大的關注,最主要的原因是由于其引入了 Oracle AI 向量檢索功能。此功能允許客戶根據概念内容(而不是特定的單詞、像素或資料值)輕松搜尋文檔、圖像和其他非結構化資料。

通過安全地結合對非結構化資料和私有業務資料的搜尋,Oracle Database 23ai 能夠在不移動和複制資料的情況下就可以輕松完成該任務,這樣的操作在資料安全領域尤為重要。

與需要将資料移動到算法所在位置的傳統 AI 算法不同,Oracle Database 23ai 将 AI 算法帶到資料所在位置。這使得人工智能能夠在 Oracle 資料庫中實時運作,進而提高人工智能應用程式的有效性、效率和安全性。

原文連結:新增300多項功能,Oracle Database 23ai正式釋出!年近50歲的資料庫巨頭正邁入AI時代_資料湖倉_核子可樂_InfoQ精選文章