华南俳烁实业有限公司

java

當(dāng)前位置:中華考試網(wǎng) >> java >> java教程 >> 文章內(nèi)容

為什么數(shù)據(jù)庫(kù)會(huì)丟失數(shù)據(jù)?

來(lái)源:中華考試網(wǎng)  [2020年11月5日]  【

  數(shù)據(jù)庫(kù)管理系統(tǒng)在今天已經(jīng)是軟件的重要組成部分,開源的 MySQL、PostgreSQL 以及商業(yè)化的 Oracle 等數(shù)據(jù)庫(kù)已經(jīng)隨處可見(jiàn),幾乎所有的服務(wù)都需要依賴數(shù)據(jù)庫(kù)管理系統(tǒng)存儲(chǔ)數(shù)據(jù)。但是在數(shù)據(jù)庫(kù)使用過(guò)程中很可能會(huì)丟失,那么問(wèn)題來(lái)了,數(shù)據(jù)庫(kù)丟失的原因有哪些?

  數(shù)據(jù)庫(kù)不會(huì)丟失數(shù)據(jù)聽(tīng)起來(lái)像是理所當(dāng)然的事情,持久化能力也應(yīng)該是數(shù)據(jù)庫(kù)的最基本保障,但是在這個(gè)復(fù)雜的世界上想要保證數(shù)據(jù)不丟失是很困難的。在今天,我們能找到很多數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題導(dǎo)致數(shù)據(jù)丟失的兩種原因:

  人為錯(cuò)誤:

  人為錯(cuò)誤是造成數(shù)據(jù)丟失的首要原因。在騰訊云數(shù)據(jù)丟失事故中,我們會(huì)發(fā)現(xiàn),雖然事故的起因是硬件故障,但是最終導(dǎo)致數(shù)據(jù)完整性受損的還是運(yùn)維人員的不當(dāng)操作:

  第一是正常數(shù)據(jù)搬遷流程默認(rèn)開啟數(shù)據(jù)校驗(yàn),開啟之后可以有效發(fā)現(xiàn)并規(guī)避源端數(shù)據(jù)異常,保障搬遷數(shù)據(jù)正確性,但是運(yùn)維人員為了加速完成搬遷任務(wù),違規(guī)關(guān)閉了數(shù)據(jù)校驗(yàn);

  填寫下面表單即可預(yù)約申請(qǐng)免費(fèi)試聽(tīng)java課程!害怕學(xué)不會(huì)?助教全程陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可全國(guó)推薦就業(yè)!

預(yù)約申請(qǐng)免費(fèi)聽(tīng)java課程

  • 地區(qū):
  • 姓名:
  • 手機(jī):

  第二是正常數(shù)據(jù)搬遷完成之后,源倉(cāng)庫(kù)數(shù)據(jù)應(yīng)保留24小時(shí),用于搬遷異常情況下的數(shù)據(jù)恢復(fù),但是運(yùn)維人員為了盡快降低倉(cāng)庫(kù)使用率,違規(guī)對(duì)源倉(cāng)庫(kù)進(jìn)行了數(shù)據(jù)回收。

  減少人為錯(cuò)誤的最好方式是將數(shù)據(jù)的備份和運(yùn)維等操作標(biāo)準(zhǔn)化,使用自動(dòng)化的流程處理涉及數(shù)據(jù)安全的操作,這樣才能降低人為干預(yù)帶來(lái)的風(fēng)險(xiǎn)。

  對(duì)于軟件工程師來(lái)說(shuō),我們應(yīng)該敬畏生產(chǎn)環(huán)境,謹(jǐn)慎地在生產(chǎn)環(huán)境執(zhí)行一切操作,認(rèn)識(shí)到所有的操作都可能對(duì)線上正在運(yùn)行的服務(wù)產(chǎn)生影響,這樣才能降低類似問(wèn)題發(fā)生的概率。

  硬件錯(cuò)誤:

  我們?yōu)槭裁椿A(chǔ)服務(wù)不應(yīng)該高可用 一文中曾經(jīng)介紹過(guò)任何一個(gè)線上的服務(wù)能夠正常運(yùn)行都是極其偶然的,只要時(shí)間拉的足夠長(zhǎng),我們就沒(méi)有辦法保證服務(wù) 100% 的可用性。磁盤等硬件如果使用的時(shí)間足夠長(zhǎng),很有可能會(huì)發(fā)生損壞,根據(jù) Google 論文中的數(shù)據(jù),5 年內(nèi)硬盤的年平均故障率(Annualized Failure Rates,AFR)為 8.6%。

  2018 年,騰訊云數(shù)據(jù)損壞事故的起因就是磁盤靜默錯(cuò)誤(Silent data corruption)導(dǎo)致的單副本數(shù)據(jù)錯(cuò)誤。磁盤靜默錯(cuò)誤是沒(méi)有被磁盤固件或者宿主操作系統(tǒng)發(fā)現(xiàn)的錯(cuò)誤,包括以下情況:電纜松了、電源供給不可靠、外部震動(dòng)、網(wǎng)絡(luò)引起的數(shù)據(jù)丟失等問(wèn)題。

  正是因?yàn)榇疟P的數(shù)據(jù)損壞非常常見(jiàn),所以我們需要數(shù)據(jù)冗余的方式保證磁盤在發(fā)生不可修復(fù)讀錯(cuò)誤(Unrecoverable Read Error)時(shí)能夠恢復(fù)磁盤數(shù)據(jù)。獨(dú)立冗余磁盤陣列(Redundant Array of Independent Disks,RAID)是一種能夠?qū)⒍鄠(gè)物理磁盤組合成一個(gè)邏輯磁盤的數(shù)據(jù)存儲(chǔ)虛擬化技術(shù),它能夠增加數(shù)據(jù)冗余并提高性能。

  一旦發(fā)生數(shù)據(jù)丟失的事故,造成的影響就會(huì)非常大,我們?cè)谑褂脭?shù)據(jù)庫(kù)存儲(chǔ)核心業(yè)務(wù)數(shù)據(jù)時(shí)也不能完全信任數(shù)據(jù)庫(kù)的穩(wěn)定性,可以考慮使用熱備以及快照等方式容災(zāi)。

責(zé)編:fushihao
  • 會(huì)計(jì)考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語(yǔ)考試
  • 學(xué)歷考試
施甸县| 建宁县| 沅江市| 民勤县| 古交市| 伊春市| 朔州市| 定兴县| 鄯善县| 台南市| 什邡市| 偃师市| 平邑县| 邯郸县| 炉霍县| 广宗县| 东乌珠穆沁旗| 娱乐| 宜兴市| 珠海市| 田阳县| 东方市| 图木舒克市| 海伦市| 砀山县| 安福县| 滕州市| 青冈县| 仙游县| 都昌县| 赤城县| 博客| 安多县| 莱芜市| 博湖县| 无棣县| 城固县| 宿松县| 光山县| 平南县| 多伦县|