mysql 時間週期 資料庫三大週期階段

2021-10-20 22:29:04 字數 2139 閱讀 1625

首先結合軟體生命週期、專案的開展,資料庫的生命週期大致可分為這麼幾個階段:

其中「規劃」、「開發」、「實施」所要做的主要工作如下:

1. 規劃:在立項後,對於資料庫平台的軟硬體選型,以及大致的資料庫架構。

1.1 配置多少臺伺服器,伺服器的記憶體大小/磁碟空間、iops/cpu核數/網路頻寬等;

1.2 選擇的作業系統/資料庫產品/第三方工具,及相應版本;

1.3 整體架構,比如是否考慮:ha, scale out, load balance, 讀寫分離等策略。

2. 開發:開發的工作,通常是在開發/測試環境上進行的,測試結束後搬到生產環境。

2.1 資料庫設計;

2.2 sql程式設計及除錯;

2.3 開發過程中的sql優化。

3. 實施:開發的資料庫程式到生產環境的部署。到這裡,基本是專案上線了。後面就進入了運維階段。

3.1 前期規劃時資料庫物理架構的部署;

3.2 開發/測試完成的資料庫程式部署。

接下來,對於運維工程師來說,這是你的主要工作了,我們詳細介紹下:

一. 資料庫運維做些什麼?

從上面的圖來看,運維是專案上線後的工作。看看從專案上線開始,運維都做了什麼。

1. 部署環境

1.1 資料庫安裝(如果伺服器太多,可以選擇靜默安裝);

1.2 引數配置(作業系統、資料庫例項、資料庫引數);

1.3 許可權分配(登入、資料庫使用者許可權)。

2. 備份/還原

對於資料庫來說,有個可用的備份是非常重要的,防止有資料損壞,使用者誤操作等造成的資料丟失。保證了資料的存在,運維才有意義,否則其他工作做的再好也是白搭。

3. 監控

對於運維來說,首先要保證資料庫的執行,然後就是執行中系統的效能。所以監控主要分為這兩點:

3.1 資料庫執行狀態,有沒有什麼資料庫中斷或異常、錯誤或警告?

3.2 資料庫效能,有沒有什麼效能問題或者效能隱患?

4. 故障處理

在監控過程中發現,或者系統使用者反饋出來的資料庫錯誤或者警告,進行診斷並修復。

5. 效能優化

在監控過程中發現,或者系統使用者反饋出來的資料庫效能問題,進行優化。

6. 容災

容災只是手段,最終還是為了保證系統的可用性,通常選擇的策略有:故障轉移集群、映象、日誌傳送、異地備份等。

如果在實施時,已經部署了容災策略,那麼這時只要做一些狀態監視即可。

也有系統是在上線一段時間之後,才補充部署容災策略的。

7. 公升級/遷移

7.1 公升級

通常是在本機進行,硬體不變,比如:更換作業系統、資料庫的版本、打補丁;

7.2 遷移

通常是需要公升級硬體,比如:更換新的伺服器,所以把資料庫搬到新的伺服器上;

也有在本機「遷移」,只是為了移動資料庫檔案的位置。

7.3 遷移+公升級

不過很多時候,都是在遷移中做公升級,也就是換了新的伺服器,也換了軟體版本。

8. 健康檢查

通常叫做巡檢或者health check。可能是每天、每月、每年的。

事實上如果把巡檢的內容做到每天、每小時、甚至每x分鐘,那就是乙個準實時的系統監控。

9. 系統使用者反饋的資料庫問題

使用者反饋出來的任何資料庫問題,需要dba去做處理,即便有時診斷出來並非資料庫的問題。

從廣義上來看,除去資料庫開發外的其他任務,都應該算在運維職責之內。

問:那麼資料庫運維到底都有哪些日常任務?

答:把上面的每項任務要做的事情乙個個羅列出來就可以了。

比如,3.1 資料庫執行狀態監控包括:

(1) 資料庫伺服器是否可用;

(2) 資料庫服務是否啟用/中斷;

(3) 磁碟空間;

(4) 錯誤日誌檢查;

(5) 資料庫一致性檢查;

(6) 作業執行狀態;

(7) 索引碎片檢查

(8) ……

後面會逐個分解各項任務的詳細清單。

二. 如何解決資料庫運維過程中的問題?

運維過程中遇到問題時,如果能夠通過自己/他人的經驗解決,那麼固然好;

但如果沒有解決思路的話,通常是這樣去查:

2. 查錯誤號:官方文件/網友分享中,有沒有解決方案;

3. 如果都沒有找到,那麼就中獎了,自己分析不出就團隊分析,團隊分析不出找官方支援,當然有的時候,官方支援也不是一定能解決。

mysql三大正規化 答案 資料庫三大正規化通俗理解

資料庫三大正規化通俗理解 1 原子性,要求屬性具有原子性,不可再分解。表 欄位1 欄位2 欄位2.1 欄位2.2 欄位3 如學生 學號,姓名,性別,出生年月日 如果認為最後一列還可以再分成 出生年,出生月,出生日 它就不是一正規化了,否則就是 2 唯一性,乙個表只能說明乙個事物,即實體的惟一性。表 ...

mysql三大正規化的概念 資料庫三大正規化

何為正規化 顧名思義,規範的方式。資料庫作為底層的儲存系統,直接影響業務層的效能,因此,為了能夠讓開發人員科學規範地使用資料庫,三大正規化應運而生。本文將以較為簡潔的文字並舉例描述三大正規化。第一正規化 1nf 第一正規化是指關係表r中的每列都是原子不可分的項,即每個屬性都是最基本的資料項。這裡用 ...

資料庫設計三大正規化資料庫設計三大正規化

為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一正規化是最基本的正規化...