在數(shù)據(jù)庫技術(shù)領(lǐng)域,Oracle Database 23c 迎來了一波進(jìn)步,標(biāo)志著一個變革時代。在這些進(jìn)步中,最突出的重點在于增強(qiáng) Oracle 全球分布式數(shù)據(jù)庫的功能。當(dāng)我們接近這個版本時,我們的注意力集中在為分布式數(shù)據(jù)環(huán)境定制的開創(chuàng)性功能的集成上。本博客作為預(yù)覽,揭示了 Oracle Database 23c 為 Oracle 全球分布式數(shù)據(jù)庫帶來的令人興奮的增強(qiáng)功能。這些新功能不僅可以應(yīng)對挑戰(zhàn),還可以重塑分布式數(shù)據(jù)庫操作的格局,帶來更高的性能和無與倫比的效率。當(dāng)我們深入研究這些變革性功能的具體細(xì)節(jié)時,Oracle Database 23c 成為一個關(guān)鍵的里程碑,為企業(yè)提供工具,以充分利用分布式數(shù)據(jù)場景的潛力。本博客為探索這些增強(qiáng)功能奠定了基礎(chǔ),深入介紹了 Oracle Database 23c 如何提升 Oracle 全球分布式數(shù)據(jù)庫的功能,推動其進(jìn)入卓越的新時代。
新特性:Oracle 全球分布式數(shù)據(jù)庫和 23c
1.Raft復(fù)制
數(shù)據(jù)庫版本 23c 中引入的顯著功能之一是 Raft 復(fù)制(基于共識的復(fù)制協(xié)議),提供跨所有分片的復(fù)制自動配置。Raft 復(fù)制是集成的并且對應(yīng)用程序透明。當(dāng)分片主機(jī)發(fā)生故障或在分片數(shù)據(jù)庫中添加或刪除分片時,Raft 復(fù)制會自動重新配置復(fù)制。系統(tǒng)以聲明方式配置復(fù)制因子,以幫助始終保持指定數(shù)量的可用副本。如果發(fā)生節(jié)點故障,故障轉(zhuǎn)移會很快,并且所有節(jié)點都保持活動狀態(tài)。至關(guān)重要的是,此功能包含自動亞秒級故障轉(zhuǎn)移機(jī)制,增強(qiáng)了數(shù)據(jù)完整性和操作連續(xù)性。此功能適合需要高可用性和可擴(kuò)展數(shù)據(jù)庫系統(tǒng)的組織。
確保數(shù)據(jù)完整性和無縫操作
Raft 復(fù)制為分布式數(shù)據(jù)庫環(huán)境帶來了簡化的管理和更高的可用性。事實證明,這在高可用性和數(shù)據(jù)完整性至關(guān)重要的場景中至關(guān)重要。憑借快速故障轉(zhuǎn)移和跨節(jié)點的一致數(shù)據(jù),Raft 復(fù)制使組織能夠提供最佳的用戶體驗并滿足嚴(yán)格的 SLA。這一優(yōu)勢對于正常運行時間和數(shù)據(jù)一致性直接影響業(yè)務(wù)成功的關(guān)鍵應(yīng)用程序尤其重要。
2. 基于目錄的分片方法
基于目錄的分片引入了一種通用的用戶定義方法,其中與分片鍵關(guān)聯(lián)的數(shù)據(jù)記錄的位置在插入時根據(jù)用戶偏好動態(tài)指定。該過程涉及將關(guān)鍵位置信息存儲在目錄中,其中包含大量關(guān)鍵值,通常數(shù)量達(dá)到數(shù)十萬。該技術(shù)不僅有利于各個鍵值在位置之間的動態(tài)移動,而且還允許高效的批量移動。自適應(yīng)地轉(zhuǎn)移鍵值的能力提供了高度的定制,增強(qiáng)了數(shù)據(jù)管理、可擴(kuò)展性以及跨數(shù)據(jù)庫或集群的負(fù)載平衡。
用于增強(qiáng)數(shù)據(jù)組織的鍵值分組
當(dāng)您需要將某些鍵值分組到同一位置或塊以實現(xiàn)親和性目的時,基于目錄的分片非常有用,并且在需要時可以以有效的方式將該組移動到一起
一個例子是社交網(wǎng)絡(luò)應(yīng)用程序,其中將經(jīng)常在同一分片上交換消息的客戶分組在一起可以最大限度地減少跨分片流量。當(dāng)數(shù)據(jù)在分片之間移動時,必須在重新分片期間保留分組。另一方面,如果一個組的成員開始與另一個組的成員進(jìn)行更多通信,則必須將他們的數(shù)據(jù)移動到適當(dāng)?shù)慕M,同時將對應(yīng)用程序的影響降至最低。
3. 分片鍵更新時自動數(shù)據(jù)移動
分片鍵更新時的自動數(shù)據(jù)移動是 Oracle 全球分布式數(shù)據(jù)庫中的一個強(qiáng)大屬性,可簡化分片表內(nèi)的數(shù)據(jù)管理。有時分片鍵值需要更新。之前的解決方案是刪除與舊鍵值關(guān)聯(lián)的數(shù)據(jù)并使用新鍵值重新插入。此增強(qiáng)功能的目標(biāo)是允許在分片內(nèi)和分片之間進(jìn)行行移動。
當(dāng)分片表的特定行上的分片鍵值更新時,現(xiàn)在將數(shù)據(jù)移動到新位置由 Oracle 全局分布式數(shù)據(jù)庫處理,無論是在同一分片上的不同分區(qū)中還是在不同分片上。
此功能使您可以靈活地更新分片鍵,而無需擔(dān)心記錄的目的地,因為此功能允許 Oracle 全局分布式數(shù)據(jù)庫處理行移動,而不管行目的地(可能位于不同的分片上)。
簡化的數(shù)據(jù)更新
在具有分片表的全球電子商務(wù)平臺中,分片鍵更新時的自動數(shù)據(jù)移動有助于確保無縫過渡。例如,當(dāng)客戶搬遷時,他們的訂單歷史記錄可以輕松轉(zhuǎn)移到新區(qū)域的分片,從而消除人工干預(yù)。這種動態(tài)重新分配使企業(yè)能夠進(jìn)行高效的分片表管理,在變化中保持?jǐn)?shù)據(jù)完整性和不間斷的用戶服務(wù)。
4、重復(fù)表的細(xì)粒度刷新率控制
重復(fù)表的細(xì)粒度刷新率控制是一項強(qiáng)大的功能,可以對各個重復(fù)表進(jìn)行刷新率控制。此功能允許在表創(chuàng)建期間或通過 ALTER TABLE 語句配置不同的刷新間隔。通過根據(jù)數(shù)據(jù)更改頻率調(diào)整刷新率,可以實現(xiàn)資源利用率優(yōu)化。此功能通過自定義每個重復(fù)表的刷新率來增強(qiáng)系統(tǒng)性能和效率。
定制數(shù)據(jù)刷新
在復(fù)雜的數(shù)據(jù)環(huán)境中,各個表的數(shù)據(jù)更改率各不相同,細(xì)粒度的刷新率控制是必不可少的。想象一個銷售數(shù)據(jù)庫,其中包含高頻交易表和更改頻率較低的參考表。借助此功能,可以將高事務(wù)量表設(shè)置為更頻繁地刷新,從而實現(xiàn)實時洞察。同時,引用表的刷新頻率較低,從而節(jié)省了資源。這種定制可以最大限度地提高效率、簡化資源分配并增強(qiáng)系統(tǒng)性能。
5. 同步重復(fù)表
同步重復(fù)表的引入提供了一種強(qiáng)大的機(jī)制,用于跨所有分片同步重復(fù)表。此功能引入了一種新型重復(fù)表,該表在分片目錄上的“提交時”分片上同步。當(dāng)提交對分片目錄中的重復(fù)表執(zhí)行數(shù)據(jù)操作語言 (DML) 操作的活動事務(wù)時,會發(fā)生同步。此功能在所有分片之間提供無可挑剔的數(shù)據(jù)一致性和實時同步,強(qiáng)調(diào)了更高水平的數(shù)據(jù)完整性。
確保數(shù)據(jù)實時一致性
在金融系統(tǒng)等數(shù)據(jù)密集型環(huán)境中,同步復(fù)制表功能起著至關(guān)重要的作用。由于事務(wù)跨越多個分片,因此此功能可以在事務(wù)提交后立即同步所有分片上的重復(fù)表數(shù)據(jù)。財務(wù)數(shù)據(jù)始終保持準(zhǔn)確,減少差異并提供實時見解。此功能在依賴精度的領(lǐng)域尤其重要,可增強(qiáng)分布式系統(tǒng)中的數(shù)據(jù)完整性和可靠性。
6. 分片數(shù)據(jù)庫協(xié)調(diào)備份和恢復(fù)增強(qiáng)
Oracle 全球分布式數(shù)據(jù)庫中的協(xié)調(diào)備份和恢復(fù)功能已擴(kuò)展為包括以下內(nèi)容:
增強(qiáng)備份作業(yè)的錯誤處理和診斷
改進(jìn)了分片數(shù)據(jù)庫恢復(fù)的自動化
支持從 GDSCTL 運行 RMAN 命令
支持對不同分片使用不同的 RMAN 恢復(fù)目錄
備份集加密
支持其他備份目標(biāo):Amazon S3、Oracle 對象存儲和 ZDLRA
此功能的好處是:
輕松診斷備份作業(yè)中的問題
備份集可以加密,確保數(shù)據(jù)安全
支持磁盤存儲以外的其他目標(biāo)
支持不同的 RMAN 目錄和目標(biāo)以遵守數(shù)據(jù)駐留要求
此功能增強(qiáng)了備份和恢復(fù)作業(yè)的可診斷性和自動化,同時通過加密保護(hù)數(shù)據(jù)并支持其他備份目標(biāo)。
強(qiáng)大的數(shù)據(jù)保護(hù)和恢復(fù)
想象一下這樣一個場景:分片電子商務(wù)平臺面臨災(zāi)難性的數(shù)據(jù)丟失事件。通過利用增強(qiáng)的協(xié)調(diào)備份和恢復(fù)功能,系統(tǒng)可以獲得卓越的錯誤處理、自動恢復(fù)流程以及更廣泛的備份目標(biāo)選項(例如 Amazon S3 和 Oracle 對象存儲)。此外,加密的備份集增強(qiáng)了數(shù)據(jù)安全性。此功能有助于確?焖僭\斷備份問題,通過加密保護(hù)數(shù)據(jù)完整性,并有效恢復(fù)數(shù)據(jù),以最大限度地減少停機(jī)時間并保持運營彈性。
7. 并行跨分片DML支持
Oracle 全球分布式數(shù)據(jù)庫查詢協(xié)調(diào)器可以在多個分片上并行運行跨分片更新和插入。
此功能通過并行而不是串行運行更新和插入來提高跨分片 DML 性能。
網(wǎng)上零售庫存管理
在擁有全球分布式數(shù)據(jù)庫的在線零售業(yè)務(wù)中,Oracle 的并行跨分片 DML 支持在庫存管理方面發(fā)揮著至關(guān)重要的作用。當(dāng)跨多個地理區(qū)域重新進(jìn)貨或更新價格時,該功能允許同時更新并插入到不同的分片位置。這意味著庫存數(shù)據(jù)保持同步,價格實時調(diào)整,客戶訂單得到高效處理,為客戶提供無縫的購物體驗,同時優(yōu)化零售商的庫存管理。
8. 使用 SQL*Loader 自動并行直接路徑加載
SQL*Loader 可以將數(shù)據(jù)直接加載到數(shù)據(jù)庫分片中,以實現(xiàn)高速數(shù)據(jù)攝取。SQL*Loader 可以通過自動并行性和更高效的數(shù)據(jù)存儲更快、更輕松地將數(shù)據(jù)加載到 Oracle 數(shù)據(jù)庫中。
在此版本中,SQL*Loader 客戶端可以自動啟動數(shù)據(jù)的并行直接路徑加載,而無需將數(shù)據(jù)劃分為單獨的文件并啟動多個 SQL*Loader 客戶端。您可以通過僅使用一個命令運行 SQL*Loader、使用 DEGREE_OF_PARALLELISM 參數(shù)設(shè)置并行度并設(shè)置 DIRECT=TRUE 來自動執(zhí)行相同的任務(wù),而無需手動準(zhǔn)備表以進(jìn)行并行加載并設(shè)置 PARALLEL 參數(shù)。
用于金融分析的大量數(shù)據(jù)攝取
在金融服務(wù)組織的背景下,管理來自不同來源的大量市場數(shù)據(jù)對于及時、準(zhǔn)確的分析至關(guān)重要。借助使用 SQL*Loader 的自動并行直接路徑加載功能,組織可以將大量數(shù)據(jù)集無縫攝取到其 Oracle 全球分布式數(shù)據(jù)庫中。SQL*Loader 無需進(jìn)行勞動密集型的手動準(zhǔn)備,而是簡化了流程,組織可以實現(xiàn)高效、高速的數(shù)據(jù)攝取以進(jìn)行實時財務(wù)分析,從而實現(xiàn)明智的決策和競爭優(yōu)勢。
總之,Oracle Database 23c 為數(shù)據(jù)庫技術(shù)領(lǐng)域帶來了突破性的進(jìn)步。這些創(chuàng)新重點關(guān)注優(yōu)化 Oracle 全球分布式數(shù)據(jù)庫,將徹底改變分布式數(shù)據(jù)庫操作的世界。
從 Raft 復(fù)制的動態(tài)功能到基于目錄的分片的敏捷性,這些功能重新定義了企業(yè)跨區(qū)域管理數(shù)據(jù)的方式。分片鍵更新時的自動數(shù)據(jù)移動可在不斷變化的場景中提供無縫過渡,而細(xì)粒度刷新率控制則可優(yōu)化資源利用率。同步復(fù)制表近乎實時的數(shù)據(jù)一致性增強(qiáng)了可靠性。協(xié)調(diào)備份和恢復(fù)增強(qiáng)功能加強(qiáng)了數(shù)據(jù)保護(hù),而并行跨分片 DML 支持通過允許并行更新和插入徹底改變了跨分片數(shù)據(jù)管理,從而提高了效率。此外,使用 SQL*Loader 的自動并行直接路徑加載簡化了大容量數(shù)據(jù)攝取,有利于處理大量市場數(shù)據(jù)的組織的財務(wù)分析和決策流程。
Oracle Database 23c 不僅僅標(biāo)志著升級;它還標(biāo)志著升級。它標(biāo)志著一個新時代的到來,這些功能使企業(yè)能夠擁抱分布式數(shù)據(jù)場景的潛力,而所有這些都以 Oracle 全球分布式數(shù)據(jù)庫的可靠性為基礎(chǔ)。
作者:Deeksha Sehgal ,Baidu翻譯