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