從微盟刪庫事件看數據備份和項目管理

3 月初,鬧得沸沸揚揚的「微盟刪庫」事件終於有了一個解決方案,也讓不少技術人唏噓不已,一個上市公司的數據備份和項目管理流程居然如此不堪。


事故經過

先來看下此次事故的時間線。

  • 2 月 23 日,因公司員工惡意破壞公司線上生產環境及數據,導致公司系統服務不可用。目前,該犯罪嫌疑人已被公安機關刑事拘留。
  • 2 月 25 日,緊急恢復了核心業務的線上生產環境,新用戶使用不受影響,並提供老用戶臨時過渡方案。
  • 2 月 28 日,恢復了所有業務的線上生產環境,並且開放了老用戶登錄,以及恢復了微站產品的所有數據。
  • 截止到 3 月 1 日晚 8 點,在騰訊雲團隊的協助下,全面找回數據。
  • 3月2日,進行數據恢復上線演練,在此期間系統會停止服務。

從數據恢復的時間上看,微盟的數據備份肯定有重大問題,不然也不會在騰訊雲的協助下這麼久才找回全部數據。

數據備份

對於一家業務型的公司來說,數據的丟失,可以說是致命的打擊!更何況是一家上市公司!

客觀說,微盟這家公司的數據備份意識太淡薄了,備份流程等肯定也有重大問題,否則也不會出現這次嚴重事故。

正常情況下,數據庫應該根據業務設置讀寫分離、主從庫,且定期備份全量數據庫。

我上家公司最開始的時候雖然只有一個庫,但是一週也會備份幾次。甚至融資盡調的時候,還是一個庫,所有的數據都是這個單庫查出來的,現在想想都後怕,萬一出點問題,那融資可能就黃了。後來隨著業務慢慢發展,數據量逐漸變大,項目重構,數據庫讀寫分離,主從庫等策略也都安排上了。

數據備份的意識必有再三強調,絕對是重中之重,不僅是數據庫的數據,任何跟公司業務相關的數據都要妥善保存並定期備份。

權限管理

涉及到線上數據的,必須要有相應的權限管理。

舉個例子,在使用項目後臺管理系統的時候,要根據人員的身份設置不同的操作權限。例如客服只能查看用戶的和訂單等相關信息,沒有修改權限,客服主管有部分數據的修改權限;活動運營人員,只能開放活動配置權限和相應活動的數據查看權限等。

此外,在申請後臺管理賬號的時候,也要進行郵件審批,申請人發郵件寫明申請人信息及申請的權限,由其部門主管審批,然後再由技術部門主管審批,審批後交由負責管理的人員統一進行賬號和權限配置,並將賬號信息發送給申請人。

關於線上數據庫相關操作,開發人員如果要進行 DDL 或 DML 操作,需要向其技術主管進行申請,審批通過後由 DBA 或運維人員進行執行操作。

簡單介紹下 SQL 語言的幾種操作數據庫的能力:

  • DDL:Data Definition Language

DDL允許用戶定義數據,也就是創建表、刪除表、修改表結構這些操作。通常,DDL由數據庫管理員執行。

  • DML:Data Manipulation Language

DML為用戶提供添加、刪除、更新數據的能力,這些是應用程序對數據庫的日常操作。

  • DQL:Data Query Language

DQL允許用戶查詢數據,這也是通常最頻繁的數據庫日常操作。

當然,以上都是我之前工作的一些經驗,不同公司可能有不同的流程,但是歸根結底,就是讓相關人員知曉跟數據相關的操作,從而避免數據洩露和數據庫誤刪。

項目管理

微盟事件,看似是在數據備份和權限管理方面出了問題,但是在我看來,這不過是整個項目管理流程上暴露的冰山一角。

我個人從一個 Android 開發轉做項目經理,最開始的時候也沒有一套可以依據的項目管理流程。但是隨著在項目開發的過程中不斷總結,不斷改進,逐漸總結出了自己的一套項目管理的流程,可能並不完全適合他人照搬,但涉及到的部門協作和管理流程是類似的。

一個項目從需求收集到開發測試,直至最後的上線,也就是 DBA 或運維人員進行線上數據庫操作和程序的發佈,其實只是整個項目管理中的一部分。後面的文章會將會詳細說明每個步驟中的注意事項。

項目管理流程最難的部分不是在整理流程,而是在執行方面,一個制度很容易就能制定出來,但是要執行起來困難還是挺多的。

就我個人經驗而言,最怕的就是技術領導不重視、不按流程走,如果是偶爾的緊急需求那無可厚非,但經常不按流程走,那就很危險了。所謂上樑不正下樑歪,技術領導都不當回事,下面的技術經理和開發人員會當回事嗎?

長此以往,可能不會出現微盟那麼嚴重的刪庫事件,但是線上數據誤操作肯定會有的。退一步講,人非聖賢孰能無過,出問題也是常有的事,但是就怕出了問題不優先解決問題,而是先甩鍋,還不總結教訓,這就很可怕了,更可怕的是這還是技術領導的所作所為。

這次的微盟的事故,其 CTO 有很大的責任,他對數據備份和項目管理流程肯定不夠重視。

權限管理和項目管理的存在就是為了規避某些可以避免的誤操作,人確實會犯錯,但是能避免的錯誤為什麼不去盡力避免呢?不論是對個人還是對公司,能嚴格執行權限管理和項目管理流程,並且培養基本的備份意識,都是有好處的。


原作者:http://juemuren4449.com/


分享到:


相關文章: