從資料庫角度談業務連續性

xuexiaogang發表於2023-02-13

 現在很多公司都對業務連續性不斷提出要求,當然最好是不間斷,實在不行的話儘可能減少中斷時間。從前很多系統都是上班了使用,下班了就關閉的。這種系統都是可以停機做備份的,從前的資料庫可能都沒有高可用。

    而現在不一樣了,不管大公司還是小公司都對這個很看重。我從業20年來,發現影響業務連續性的有這些因素(以下說的可能受個人能力有關,未必能涵蓋所有):

    1、機房斷網斷電。這種是非常致命的,只能靠災備機房發揮作用。

    2、資料庫硬體故障,需要靠資料庫高可用發揮作用。(當然前提是應用也有高可用,自動或者手動進行切換)。分散式資料庫節點硬體故障不影響全域性。

    3、資料庫鎖、CPU滿負荷、IO滿負荷、連線數滿等等資料庫例項級別重大問題。如果僅僅是資料庫無響應,重啟資料庫就行。這裡就看資料庫是多活還是主備。如果RAC這樣的無需切換,如果是主備情況如果是ADG這樣的,涉及到資料庫的切換。MySQL PG這種也一樣。如果是分散式資料庫(需要看運維能力判斷先重啟哪個元件)。其實造成這種主要是應用程式造成。

    4、刪庫、誤操作等人為事件。

    僅從以上的因素而言,1和2是非常嚴重的,但是這種發生機率十年九不遇,我經歷的頻率比我工作以來地球上發生的8級地震的次數都要少。這個重要嗎?絕對重要,不能不防。就像災備機房哪怕浪費的也需要,不能因為沒有不可抗拒力就不要了。但是這不是我們日常每時每刻要關注的。4是要靠管理的,如果管理不到位,4也是致命的,而且什麼技術都解決不了。

    那麼我們談談3,這個其實是我們每天都發生的,非常容易發生這種問題。這個才是我們每時每刻都要關注的。這些應用程式的問題能避免嗎?在當下中國看起來,好像很難。我無論在Oracle的群,MySQL的群,PG的群還是TiDB的群,時不時能看到大家發出來的問題的SQL。就看看這些爛SQL就知道為什麼我們的資料庫經常會遇到各種各樣的問題。用一句話來概括,不正確使用資料庫是企業最大的成本。為什麼這麼說,如果感興趣看看我以前寫的一篇,《你沒有大資料》

https://mp.weixin.qq.com/s?__biz=Mzk0NDIxNDg5Mg==&mid=2247485162&idx=1&sn=bd1f4b0b30138b408bdc70e10b7b1993&chksm=c32940e9f45ec9ff89ce0cb2770e3703e9c0dcb9affd073e76cca95a388bc04417c264fda9c3&scene=178&cur_album_id=2749769205180383240#rd

   多少場景下就因為沒有好好寫SQL,就上了大資料系統。結果還是一地雞毛。我以上想表達的意思還是說應用程式質量不高導致業務連續性是佔比重極高的,而且是反覆發生的。如果能重視起來,那麼業務連續性的壓力就會小很多。甚至可能在一個公司從入職到離職都不曾遇到過一次。畢竟以現在運營商的能力,不至於經常斷網。以現在的硬體能力,不至於經常硬體損壞。一個作業系統執行3000多天不重啟也不是沒有過。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-2935083/,如需轉載,請註明出處,否則將追究法律責任。

相關文章