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