叢集功能是資料庫産品高可用性的重要一環,叢集架構是保障業務連續性的核心架構,展現着資料産品的高可用性和技術水準。但在業界叢集架構有多種方案和技術,其中最具穩定性、最能夠保障業務連續性的架構當屬于rac叢集,即real application cluster。rac叢集特點是多個資料庫節點共享存儲,節點多活,可同時處理業務請求,具有負載均衡和故障轉移兩大特性,以此為系統提供業務連續性和高性能保障,經過多年電信、金融等關鍵行業的核心業務檢驗,rac叢集技術已經成為業界資料庫叢集的首選方案。
目前,甲骨文的oracle資料庫和浪潮的k-db資料庫是僅有的兩個支援rac叢集架構的資料庫産品。 rac需要支援多個節點的并行讀寫操作,節點之間協同工作的複雜度遠超出其他叢集方案,這也是rac叢集技術難以突破的重要原因。其中,rac叢集技術的重中之重是鎖機制的管理,也是實作rac架構的核心技術。
k-db資料庫突破了鎖機制管理的技術難點,實作了真正的rac叢集。
鎖與資料庫的基本架構等緊密結合,涉及到記憶體管理、請求排程等其他相關技術。是以,從今天起,我們将釋出系列的文章,介紹k-db演進、k-db基本架構、鎖機制的構成、及鎖的運作和測試資料等各個方面,讓您對浪潮鎖機制管理有全面的了解。
鎖技術是伴随着k-db資料庫的發展而不斷進化的,在談鎖技術之前,先簡單回顧一下k-db的曆史。
k-db第一代産品可以滿足使用者的基本需求,具備行級鎖、mvcc基于線上重做日志及增量日志的備份與恢複等功能,但不足也十分明顯——解決不了擴充和單點故障兩大問題。
第二代産品基于日志同步的 active-standby容災架構,将在主庫中的操作産生的redo日志,傳送到備庫中。備庫以read only 方式打開,供使用者做查詢服務,幫助主庫降低一定的負載。當主庫發生故障時,備庫以normal方式打開,給使用者進行正常的讀寫服務,主庫和備庫的切換時間不長,資料庫經過短暫的停頓後,就可以繼續對外服務,滿足了災備需求。
現在的k-db是第三代産品,實作了rac技術,具備負載均衡能力,解決了擴充性和單點故障問題。從此,浪潮k-db具備了rac架構,可實作真正的共享存儲、多活節點的叢集方案。浪潮将該技術稱為“k-rac”。
從單機架構到active-standby架構,從active-standby架構到rac架構,rac架構為技術實作提出了挑戰,多個節點共享同一儲存設備,為保障資料一緻性,避免節點之間争搶資料的情況發生,鎖機制管理技術使這一技術難題得以完美解決。
原文釋出時間為:2016-07-26
本文來自雲栖社群合作夥伴至頂網,了解相關資訊可以關注至頂網。