什麼是真正的自治資料庫?

qing_yun發表於2022-12-05

自治資料庫這個概念怎麼定義呢?目前自治資料庫的概念十分氾濫,很多資料庫都號稱自己是“自治資料庫”。如果一個資料庫產品提供很強的預警能力,或者提供了類似ADDM這樣的自動診斷報告,這個資料庫算不算自治資料庫呢?答案是否定的。

哪怕資料庫自身有很強的預警能力,資料庫的預警可以很及時的推送到告警臺上,DBA也無法馬上對此進行確定,他們很可能要利用自己的經驗和知識,藉助一系列自動化的工具對系統發生的問題進行分析,得到最終的確認後才能夠採取消缺的操作。這也許意味著很長的時間間隔,在這段時間裡,沒有任何主動動作可以採取。如果資料庫自動發生問題後,進行了自動修復,自己把隱患消除了,這樣才符合自治資料庫的特徵。

自治資料庫會將基礎設施的動態靈活性與應用的自適應機器學習的智慧響應性相結合。這個設計目標是最小化或消除人工勞動和相關的人為錯誤,並確保資料安全和最佳效能。企業會發現資料庫的自治能力可以進一步幫助IT部門提高效率,使他們能夠專注於更高價值的活動,而不是日常的、消耗大量人力資源的任務。據統計,多達75%的IT運維成本被用於手動資料庫管理,自治資料庫可以幫助組織將IT運營轉變為現代的軟硬體融合模式,降低運營成本,消除成本高昂的停機時間,並最終使其能夠在使用更少資源的同時進行更多創新。

我們來看看資料庫行業的標杆,Oracle資料庫,是如何來實現“自治資料庫”的目標的,Oracle的自治資料庫的“自治”主要體現在三個方面:

l自動駕駛:Autonomous Database自動化了資料庫和基礎設施的調配、管理、監控、備份、恢復和調優;

l自我保護:自治資料庫比手動操作的資料庫更安全,因為它自動保護自己免受內部和外部漏洞和攻擊。Oracle透過雲平臺提供持續的威脅檢測,而自治資料庫自動應用所有安全性線上更新,並提供“始終線上”的端到端加密。這種預防性方法至關重要,因為目前85%的安全漏洞在發出CVE(常見漏洞和暴露)警報後發生;

l自我修復:自主資料庫提供針對所有計劃外和計劃內停機的預防性保護,以及快速自動恢復無需停機即可避免停機。透過使用基於AI的自動資料庫可用性和效能管理提升到一個新的水平整合多個診斷領域的自主性,能夠在執行時進行分析和採取行動,以最小化或消除操作破壞。

要實現自動駕駛首先要了解Oracle內部運作的機理以及執行狀態,這是一切自主化執行的基礎與關鍵;自我保護首先要感知自己面臨的安全風險,其次是能夠線上修復,這一切都依賴於資料庫自身的能力;而自我修復是資料庫能夠依靠AI分析,利用平臺的整體能力進行自動最佳化,解決已經被發現與確定的缺陷。實際上透過對Oracle自治資料庫的一些白皮書的解讀,我們不難發現,Oracle的自治資料庫的能力只有在Oracle自己的雲和一體機上才能夠充分的發揮出來。這是因為只有對已知環境的調整才是最為可靠的,如果我們的資料庫是跑在一個資源共享,並且資料庫並不完全知曉的環境中,那麼針對環境與資源的調整是無法做到自治化的,必須由運維人員來確認才能正確實施。

從上面的圖可以十分清晰的看出,Oracle的觀點是,可完全自治的資料庫產品,可完全自治的IT基礎設施,再加上雲平臺提供的機器學習加持的自動化資料中心,才能構成一個完美的自治資料庫系統。我覺得這個描述是十分合理的,起碼比目前號稱自治資料庫的一些國產資料庫要靠譜一些。

如果我們再深入的瞭解一些細節,我們會發現Oracle的自治資料庫實際上整合了大量Oracle以往的成熟技術,包括MAA高可用架構,ADG,RAC,自動備份技術,線上補丁技術,GDS全域性資料庫服務等。

利用RAC技術,Oracle自治資料庫實現了服務的高可用與自動管理,當某個服務出現故障時可以發起自動切換轉移。

利用MAA架構,Oracle實現了一種極高的可用性,利用這種極高可用性的計算框架,可以實現故障的自動修復。利用自動備份服務,Oracle定期將資料自動備份到Oracle雲中的物件儲存中。

從上面的一些描述可以看出,Oracle的自治資料庫不是簡單的資料庫技術,而是一個十分複雜的技術整合的成果。這也是我今天最想表達的觀點,要想真正的讓自治資料庫技術實用化,絕對不是在資料庫內引入一些AI演算法那麼簡單。自治資料庫的目的是降低IT成本,減少運維人員參與資料庫日常瑣碎的運維,要想實現這一點,僅僅在資料庫核心做文章是不夠的。

Oracle自治資料庫採用整體方法設計,由整合並協同工作的元件組成。比如自修復功能是由備份、恢復、線上補丁和MAA高可用故障切換等技術整合而成的。

自主監測和響應能力是基於機器學習的自我適配能力,Oracle自治資料庫監控和響應是現有和下一代整合工具的集合,可補充Oracle MAA,也是自治資料庫自我修復能力的關鍵。與Oracle MAA一樣,許多監控和響應功能,也可用於本地Oracle資料庫環境,這些能力已在Oracle雲中擴充套件,利用Oracle雲的柔性獲得一些額外能力。

Oracle自治資料庫監控和響應元件結合了自動駕駛和自動修復功能,在管理框架上可自主工作以保持Oracle資料庫的健康和執行,同時最小化或消除人為反應時間。這些工具一起識別對資料庫系統可能致命的情況,儘可能防止這些問題,並採取糾正措施,快速地解決這些問題。

Oracle監控和響應元件已得到增強,並由應用的機器學習驅動以最大效率提高資料庫執行時可用性和效能。許多健康監測解決方案從異常檢測的角度利用機器學習,但無法提供響應。Oracle的自主監測和響應超越異常檢測和症狀並可以深入到根因分析。這種更深入的應用和自適應機器學習方法帶來了資料科學、演算法和領域專業知識在一起它基於數千小時的機器學習,使用從數千個客戶部署中開發的知識庫十年這些結果已在Oracle實驗室環境中複製、分析和解決,並由Oracle技術部門的主題專家進行監督。這些工作都必須在雲上才可以實現,而無法讓私有云部署的使用者直接受益。

最後我們來看看Oracle自治資料庫目前能解決些什麼問題。Oracle監控和響應解決了單節點和群集資料庫環境的可用性和效能問題。這些問題通常是由系統和資料庫管理員處理,包括與作業系統、硬體和軟體的安裝、修補、升級和資源可用性相關的管理員資料庫資源。Oracle監控和響應自動化有助於在執行時解決這兩類問題。

在具體的方面,Oracle自治資料庫可以解決以下幾個問題:1)伺服器可用性:這些問題可能導致伺服器從RAC叢集中退出,並關閉該伺服器上執行的所有資料庫例項,導致資料庫中斷。例如:伺服器耗盡可用實體記憶體導致的記憶體壓力;網路擁塞或網路故障;2)資料庫可用性:這些問題可能導致資料庫或其某個例項無響應,最終不可用。例如:CPU資源不足或者掛起,軟體錯誤或配置更改;3)資料庫伺服器效能:這些問題可能導致資料庫伺服器的效能低於最佳效能。例如:與配置的偏差,最佳實踐、瓶頸資源、構造糟糕的SQL或可以透過補丁修復的已知錯誤;4) 資料庫客戶端驅動的效能:這些客戶端問題也會影響資料庫效能。

從我今天對Oracle自治資料庫的分析,大家應該可以看出,自治資料庫是一個全棧的解決方案,絕對不能只在資料庫層面來實現,資料庫產品提供了支撐自治資料庫的基礎能力,而云才是實現自治資料庫的關鍵。

來自 “ 白鱔的洞穴 ”, 原文作者:白鱔;原文連結:https://mp.weixin.qq.com/s/fJH5I978_N9x_rfvoeD8dw,如有侵權,請聯絡管理員刪除。

相關文章