官宣:Oracle數(shù)據(jù)庫19c在Oracle Exadata上發(fā)布啦!
Oracle數(shù)據(jù)庫19c在Oracle Exadata上發(fā)布啦!
最早在livesql.oracle.com上發(fā)布的Oracle數(shù)據(jù)庫19c是Oracle數(shù)據(jù)庫12c和18c系列產(chǎn)品的最終“長期支持”版本。“長期支持”是指Oracle數(shù)據(jù)庫19c有4年的標(biāo)準(zhǔn)支持(到2023年1月底)和至少3年的擴展支持(到2026年1月底)。這個擴展的支持窗口對于我們的許多要做版本升級策略規(guī)劃的客戶來說是至關(guān)重要的。有關(guān)最新的Oracle支持計劃,請參閱請參閱My Oracle Support上文檔ID 742060.1(需要登錄)。
Oracle Database 19c的目標(biāo)
Oracle Database 19c是大多數(shù)客戶升級的目標(biāo)版本,因此Oracle將穩(wěn)定性作為此版本的核心目標(biāo)。在Oracle Database 19c中,開發(fā)人員更專注于修復(fù)已知問題,而不是添加新功能。這期間有數(shù)百人年的測試和數(shù)千臺服務(wù)器每天24小時運行測試。這種對穩(wěn)定性的關(guān)注遠(yuǎn)不止核心數(shù)據(jù)庫,還涵蓋了從安裝程序到組成產(chǎn)品的實用程序和工具的技術(shù)堆棧的所有方面。這種方法加上我們對補丁過程所做的更改,將大大減輕我們客戶未來幾年的修補負(fù)擔(dān)。
回顧過去
在我們討論Oracle數(shù)據(jù)庫19c中的一些變化之前,請記住,Oracle數(shù)據(jù)庫在過去40年中一直是企業(yè)系統(tǒng)的基石。在這40年間,我們在客戶社區(qū)的指導(dǎo)下添加了許多特性:從行鎖和可伸縮的讀取一致性,到邏輯上將表分解成更小的分區(qū),以便使用并行查詢每秒掃描數(shù)十億行的能力。其中許多功能及實現(xiàn)都是業(yè)界領(lǐng)先的,并且在許多情況下仍然是Oracle數(shù)據(jù)庫獨有的。
當(dāng)數(shù)據(jù)無法訪問時,數(shù)據(jù)對企業(yè)用戶沒什么價值,Oracle數(shù)據(jù)庫確保數(shù)據(jù)始終可以訪問。簡單的,如確保意外服務(wù)器停機后重新啟動時保持?jǐn)?shù)據(jù)一致性;通過提供災(zāi)難恢復(fù),Oracle數(shù)據(jù)庫可以提供遠(yuǎn)距離數(shù)據(jù)的同步(或異步)復(fù)制,同時使其可用于報告和備份;Oracle Real Application Clusters (RAC)意味著幾乎在每個任務(wù)關(guān)鍵系統(tǒng)中都可以找到Oracle數(shù)據(jù)庫,在這些系統(tǒng)中,任何服務(wù)器宕機都可能產(chǎn)生嚴(yán)重影響。RAC使客戶能夠?qū)racle數(shù)據(jù)庫擴展到非常高的吞吐量和并發(fā)性,而無需更改其應(yīng)用程序。
Oracle數(shù)據(jù)庫是業(yè)界公認(rèn)的最安全的數(shù)據(jù)庫之一。沒有其他數(shù)據(jù)庫解決方案具有如此強大的功能或?qū)崿F(xiàn)深度。無論是簡單訪問控制的實現(xiàn)還是行級別的數(shù)據(jù)分類。我們在數(shù)據(jù)的整個生命周期中對其進行加密,無論是在靜止?fàn)顟B(tài)還是在運行中,我們都在數(shù)據(jù)庫本身中進行加密,以確保將惡意訪問最小化。
近期更新
Oracle Database 18c和之前發(fā)布的Oracle Database 12c系列引入了數(shù)百項新功能和改進。最重要的包括:
多租戶 Oracle的云戰(zhàn)略容器體系結(jié)構(gòu)引入了可插入數(shù)據(jù)庫(PDB)的概念,讓用戶能夠在本地或云中插拔數(shù)據(jù)庫,并在容器之間移動。這種體系結(jié)構(gòu)支持大規(guī)模整合,能夠高效地共享內(nèi)存和處理器資源,并將多個數(shù)據(jù)庫作為一個數(shù)據(jù)庫進行管理(例如,用于備份、修補和升級)。
JSON支持 為開發(fā)人員提供了一種更靈活的方法來定義其持久的無模式數(shù)據(jù)模型。除了能夠?qū)SON存儲在數(shù)據(jù)庫中之外,開發(fā)人員還可以使用SQL和所有Oracle的高級分析功能來查詢它。為了減輕處理大型JSON數(shù)據(jù)集合的負(fù)擔(dān),Oracle數(shù)據(jù)庫還支持并行掃描和/或更新。對于希望構(gòu)建應(yīng)用程序并且更喜歡使用簡單NoSQL API的開發(fā)人員,Oracle數(shù)據(jù)庫為C,Java,PL / SQL,Python,Node和REST提供SODA(簡單對象數(shù)據(jù)訪問)API。
Database In-Memory 使用戶能夠?qū)ζ洳僮餍偷臄?shù)據(jù)庫執(zhí)行快速分析,而不必被迫購買新的硬件或在處理數(shù)據(jù)時做出妥協(xié)。Oracle數(shù)據(jù)庫采用雙內(nèi)存模型,其中OLTP數(shù)據(jù)既能以行形式保存,使其能夠高效地更新,也能以列形式保存,使其能夠更快地被掃描和聚合。過去需要花費數(shù)小時的報告現(xiàn)在可以在幾秒鐘內(nèi)執(zhí)行。此外,Oracle可以將JSON文檔存儲在內(nèi)存中的列存儲中,以便快速分析半結(jié)構(gòu)化數(shù)據(jù)。
分片 為希望在典型SMP服務(wù)器范圍之外擴展的客戶提供OLTP可伸縮性和故障隔離。它還支持由于性能或規(guī)則原因需要將數(shù)據(jù)放置在不同地理位置的用例。與使用類似可擴展性方法的本地化部署相比,Oracle Sharding提供了卓越的運行時性能和更簡單的生命周期管理。用戶可以在工作負(fù)載增加時自動擴展分片,這使得Oracle成為當(dāng)今企業(yè)處理web伸縮工作負(fù)載的最有效和最靈活的方法之一。
Oracle Database 19c中的新功能
雖然穩(wěn)定性是Oracle Database 19c的重點,但并不是說沒有一些值得一提的新功能和增強功能,例如:
自動化索引 如果沒有相關(guān)經(jīng)驗,優(yōu)化數(shù)據(jù)庫性能對許多客戶來說都是一個挑戰(zhàn)。確定表中的哪些列需要索引,使其不僅有益于單個查詢,而且可能有數(shù)千種查詢變體,需要深入了解Oracle數(shù)據(jù)庫的數(shù)據(jù)模型,性能相關(guān)功能以及底層硬件。在Oracle Database 19c中,我們引入了自動索引,它不斷評估執(zhí)行的SQL和基礎(chǔ)表,以確定要創(chuàng)建哪些索引以及可能刪除哪些索引。它通過專家系統(tǒng)完成此任務(wù),該系統(tǒng)驗證索引可能做出的改進,并在創(chuàng)建之后驗證所做的假設(shè)。然后它使用強化學(xué)習(xí)來確保它不再犯同樣的錯誤。最重要的是,隨著數(shù)據(jù)模型和訪問路徑的變化,Oracle數(shù)據(jù)庫19c能夠隨著時間的推移進行調(diào)整。
ADG 備庫DML重定向 Active Data Guard的最受歡迎的功能是它能夠利用備用數(shù)據(jù)庫進行報告和備份。使用Data Guard,備用數(shù)據(jù)庫可以持續(xù)恢復(fù)從主數(shù)據(jù)庫發(fā)送的重做信息。雖然通過Active Data Guard可以使備用數(shù)據(jù)庫的能力在充分利用企業(yè)資源方面是一個很大的改進,但許多報告應(yīng)用程序都要能夠持久保存某些數(shù)據(jù),例如為了審計目的而記錄信息。在Oracle Database 19c中,我們允許用戶向備用服務(wù)器發(fā)送這樣的寫請求,然后將這些寫操作透明地重定向到主數(shù)據(jù)庫,并首先在那里寫入(以確保一致性),再將更改發(fā)送回備用數(shù)據(jù)庫。這種方法允許應(yīng)用程序在不需要對應(yīng)用程序進行任何更改的情況下對中等寫入工作負(fù)載使用備用。
混合分區(qū)表 將較大的表分成較小的塊或分區(qū)使它們更易于管理,并且可以通過僅將操作集中在它們適用的數(shù)據(jù)上來提高性能。Oracle數(shù)據(jù)庫支持多種模型,用于分區(qū)數(shù)據(jù)以及用于分區(qū)管理的在線操作。但是,隨著企業(yè)數(shù)據(jù)的規(guī)模和復(fù)雜性不斷增加,監(jiān)管要求它始終保持在線狀態(tài),我們需要研究管理它的新模型。使用混合分區(qū)表,DBA可以像以前一樣將數(shù)據(jù)分成可管理的分區(qū),但是DBA現(xiàn)在可以選擇應(yīng)該在數(shù)據(jù)庫中保存哪些分區(qū),以便快速查詢和更新,以及哪些分區(qū)可以只讀并存儲在外部分區(qū)中。這些外部分區(qū)可以保存在標(biāo)準(zhǔn)文件系統(tǒng)中的本地分區(qū)上,也可以保存在低成本的HDFS上。DBA還可以選擇將數(shù)據(jù)放在基于云的對象存儲中,從而將表“拉伸”到云端。
JSON增強功能 在Oracle Database 19c中,對JSON支持有許多增量增強,從簡化SQL函數(shù)到部分更新JSON文檔。
Memoptimized Rowstore 此功能可以讓物聯(lián)網(wǎng)(IoT)等應(yīng)用程序快速將數(shù)據(jù)插入Oracle Database 19c,以最少的事務(wù)開銷處理大量小事務(wù)。使用快速抓取功能的插入操作會臨時將數(shù)據(jù)緩沖在大池中,然后以延遲的異步方式批量寫入磁盤。
隔離SQL語句 由于過度消耗處理器和I/O資源而由資源管理器終止的失控SQL語句現(xiàn)在可以自動隔離。這可以防止這些失控的SQL語句再次執(zhí)行,從而保護Oracle Database 19c免受性能下降的影響。
實時統(tǒng)計 現(xiàn)代查詢優(yōu)化器需要對表中的數(shù)據(jù)結(jié)構(gòu)和構(gòu)成進行詳細(xì)的統(tǒng)計,以便能夠?qū)θ绾螆?zhí)行復(fù)雜查詢作出“最優(yōu)”決策。這樣做的問題是,統(tǒng)計數(shù)據(jù)收集可能是資源密集型的,需要一定的時間。對于最近的“始終在線”應(yīng)用程序,很難找到一個窗口來運行批處理來收集這些數(shù)據(jù)。在Oracle數(shù)據(jù)庫19c中,可以實時收集操作插入、更新或刪除數(shù)據(jù)的統(tǒng)計信息。現(xiàn)在,客戶不需要在優(yōu)化器所依賴的統(tǒng)計信息的質(zhì)量和為統(tǒng)計信息維護尋找合適的時間之間做出妥協(xié)。
Oracle Database19c中新功能的完整列表,請查看最新的文檔集或嘗試這里的新數(shù)據(jù)庫特性應(yīng)用程序指南https://apex.oracle.com/database-features/。
了解更多詳情,請查看Maria Colga博客:https://sqlmaria.com/2019/02/13/oracle-database-19c-is-now-available/Maria Colga
其他平臺(包括本地和Oracle云(包括自治數(shù)據(jù)庫云服務(wù)))的最新Oracle Database 19c可用性,請查看可以查閱Oracle支持網(wǎng)站 support.oracle.com,文檔ID742060.1(需要登錄)。
本文作者:Dominic Giles
Dominic是Oracle數(shù)據(jù)庫的產(chǎn)品經(jīng)理。自從Oracle Database 5發(fā)布以來,他已經(jīng)為Oracle工作了28年。Dominic的主要任務(wù)之一是更新數(shù)據(jù)庫新功能,并為未來的版本收集反饋。
原文地址:
https://blogs.oracle.com/oracle-database/oracle-database-19c-now-available-on-oracle-exadata