【12.2新特性】Oracle Sharding分片級別的高可用實現
編輯手記:Oracle Sharding是從12c推出的通過分區技術實現的一種數據庫架構,在12.2中這項技術也越來越成熟。release 2中新特性包含:分片的自動部署,智能路由和全生命周期管理等,同時,通過與DG技術的集成,將實現分片級別的高可用。
推薦閱讀:
Oracle 12.2新特性掌上手冊 - 第四卷 Sharding 的增強
Oracle Sharding與Oracle數據庫複製技術(Data Guard)集成,可在碎片級別實現高可用性和災難恢複。
Oracle Sharding與Oracle Data Guard緊密集成。 Data Guard複製維護一個或多個分片(主要)的同步副本(standbys),以實現高可用性和數據保護。Standbys可以在本地或遠程部署,並且在使用Oracle Active Data Guard時也可以打開隻讀訪問。
1、關於分片和複製
Oracle Sharding與Oracle Data Guard緊密集成。複製技術為讀取提供高可用性,災難恢複和增強的可擴展性。
分片數據庫(SDB)中的複製拓撲使用GDSCTL命令語法聲明性地指定。 Oracle Sharding自動部署指定的複製拓撲並啟用數據複製。
SDB的可用性不受一個或多個分片的中斷或性能影響。 複製技術用於提供單獨的分片級高可用性(Oracle Active Data Guard)。 創建SDB時,會自動配置和部署複製。 或者也可以使用Oracle RAC進行碎片級高可用性(由複製補充),以在集群中斷的情況下維護分片級數據可用性。 如果出現計劃外中斷,Oracle Sharding會自動從分片到其副本的數據庫連接失敗。
2、Oracle Data Guard與SDB集成的實現
Oracle Data Guard複製維護一個或多個分片(主要)的同步副本(standbys),以實現高可用性和數據保護。 Standbys可以在本地或遠程部署,並且在使用Oracle Active Data Guard時也可以打開隻讀訪問。
Oracle Data Guard可以用作SDB的複製技術,使用係統管理的或複合的分片方法。
將Oracle Data Guard與係統管理的SDB配合使用
在係統管理和複合分片中,邏輯複製單元是稱為分片組的一組分片。在係統管理的分片中,分片包含存儲在SDB中的所有數據。數據通過構成分片組的碎片之間的一致哈希進行分片。屬於分片組的碎片通常位於同一個數據中心。整個分組可以完全複製到相同或不同數據中心中的一個或多個分組。
下圖說明了Data Guard複製如何與係統管理的分片一起使用。在圖中的示例中,有一個主分片組,Shardgroup 1和兩個備用分片組,Shardgroup 2和Shardgroup 3. Shardgroup 1由Data Guard主數據庫(分片1-3)組成。 Shardgroup 2由位於同一數據中心並配置為同步複製的本地備用數據庫(分片4-6)組成。 Shardgroup 3由位於不同數據中心的遠程Standbys(分片7-9)組成,並配置為異步複製。在此配置中啟用Oracle Active Data Guard,因此每個待機都是隻讀的。
shardgroup以邏輯複製單元呈現,其實現細節對於用戶是透明的。 使用Data Guard,在分片(數據庫)級別進行複製。 上圖中的SDB由三組複製的分片組成:{1,4,7},{2,5,8}和{3,6,9}。 每組複製的分片都作為啟用快速啟動故障切換(FSFO)的Data Guard Broker配置進行管理。
要部署複製,需要指定shardgroups(region,role等)的屬性,並將碎片添加進去。 Oracle Sharding自動配置Data Guard並為每組複製的分片啟動FSFO觀察器。 它還提供隻讀工作負載,基於角色的全局服務和複製滯後以及基於位置的路由的負載平衡。
運行以下GDSCTL命令來部署上圖所示的示例配置。
使用Oracle Data Guard與複合SDB
在複合分片中,SDB由多個分片組成。 但是,每個shardspace,而不是複製的碎片,包含複製的碎片組。
運行以下GDSCTL命令部署上圖所示的示例配置。
最後更新:2017-07-18 10:32:59