數(shù)據(jù)庫與其備份恢復(fù)主要注意事項
1、數(shù)據(jù)庫的模型
數(shù)據(jù)庫的模型多達(dá)十幾種,以下列出幾種常見的數(shù)據(jù)庫模型:
(1)關(guān)系型數(shù)據(jù)庫,最為常見,是采用了關(guān)系模型來組織數(shù)據(jù)的數(shù)據(jù)庫。關(guān)系模型指的就是二維表格模型,一個關(guān)系型數(shù)據(jù)庫就是由二維表及其之間的聯(lián)系所組成的一個數(shù)據(jù)組織;
(2)鍵值數(shù)據(jù)庫是一種非關(guān)系數(shù)據(jù)庫,它使用簡單的鍵值方法來存儲數(shù)據(jù)。鍵值數(shù)據(jù)庫將數(shù)據(jù)存儲為鍵值對集合,其中鍵作為唯一標(biāo)識符。鍵和值都可以是從簡單對象到復(fù)雜復(fù)合對象的任何內(nèi)容。鍵值數(shù)據(jù)庫是高度可分區(qū)的,并且允許以其他類的數(shù)據(jù)庫無法實現(xiàn)的規(guī)模進(jìn)行水平擴(kuò)展;
(3)時間序列數(shù)據(jù)庫,就是一個數(shù)據(jù)源會每隔一段時間產(chǎn)生一條數(shù)據(jù),除了時間戳和值不一樣,其他都相同。比如一個cpu的使用率,隨著時間的變化不斷變化,那么它產(chǎn)生的數(shù)據(jù)就是時間序列數(shù)據(jù);
(4)文件型數(shù)據(jù)庫應(yīng)該和單機(jī)數(shù)據(jù)庫是一個意思,是客戶端對數(shù)據(jù)庫的訪問是通過直接訪問數(shù)據(jù)庫文件完成的,在傳統(tǒng)的數(shù)據(jù)庫中,信息被分割成離散的數(shù)據(jù)段,而在文檔數(shù)據(jù)庫中,文檔是處理信息的基本單位。一文檔可以很長、很復(fù)雜、可以無結(jié)構(gòu),與字處理文檔類似。一個文檔相當(dāng)于關(guān)系數(shù)據(jù)庫中的一條記錄。
2、數(shù)據(jù)庫術(shù)語
(1)數(shù)據(jù)文件,數(shù)據(jù)庫存儲其數(shù)據(jù)的位置,每個數(shù)據(jù)庫大多具有多個文件,數(shù)據(jù)文件是在不斷的更新的;
(2)桌子(Table),是在關(guān)系型數(shù)據(jù)庫中,表示一堆相關(guān)值,類似于虛擬電子表格;
(3)表空間,是放置表Table的空間,是一個或多個數(shù)據(jù)文件的集合,如果數(shù)據(jù)庫沒有表,那么也就沒有表空間;
(4)分區(qū),現(xiàn)代數(shù)據(jù)庫可以在多個資源(包括多個表空間)之間劃分和分散表;
(5)分片,將分區(qū)擴(kuò)展到另一個級別,是大規(guī)模擴(kuò)展數(shù)據(jù)庫的關(guān)鍵,甚至可以將表的碎片放到不同的節(jié)點(diǎn)上;
(6)主數(shù)據(jù)庫,跟蹤所有數(shù)據(jù)庫和數(shù)據(jù)文件的狀態(tài),簡稱主庫,就是集中存儲管理歷史歸檔數(shù)據(jù)的場所,它永久保管具有長期保留價值、有共享需求的、經(jīng)過數(shù)據(jù)質(zhì)量檢查驗證的,規(guī)范化的數(shù)據(jù);
(7)事務(wù),是數(shù)據(jù)庫中的一項活動,可更改一個或者多個表中的一個或者多個屬性;
(8)事務(wù)日志,記錄每個事務(wù)以及更改哪些元素,或者說做了哪些操作。大部分類型的數(shù)據(jù)庫都具有某種類型的日志,可以重播日志,然后在某個時間點(diǎn)還原事務(wù),或者在崩潰后進(jìn)行回滾。典型的還原是從最近的備份中還原數(shù)據(jù)庫文件,然后從日志恢復(fù)。
3、數(shù)據(jù)庫的數(shù)據(jù)一致模型
(1)即時一致性,也稱為強(qiáng)一致性,它可以確保所有用戶在同一時間看到相同的數(shù)據(jù),無論他們在何處或以何種方式查看數(shù)據(jù),大多數(shù)的關(guān)系型數(shù)據(jù)庫都是遵循此模型;
(2)最終一致或者是弱一致的數(shù)據(jù)庫,這可以確保給定的屬性對于所有查看者都是一致的,但這可能需要一些時間,有一定的延遲。
4、針對數(shù)據(jù)庫備份恢復(fù)要考慮的主要注意事項
(1)掌握以下幾種備份類型:
物理備份:對數(shù)據(jù)庫系統(tǒng)的物理文件(如數(shù)據(jù)文件,日志文件等)的備份,也可說是文件系統(tǒng)級別的備份,其中包含的方法:
冷備份(脫機(jī)備份):是在關(guān)閉數(shù)據(jù)庫的時候進(jìn)行的;
熱備份(聯(lián)機(jī)備份):數(shù)據(jù)庫處于運(yùn)行狀態(tài),依賴于數(shù)據(jù)庫的日志文件;
溫備份:數(shù)據(jù)庫鎖定表格(不可寫入但可讀)的狀態(tài)下進(jìn)行備份操作。
除了物理備份以外,還有一種叫邏輯備份:就是對數(shù)據(jù)庫邏輯組件(如:表等數(shù)據(jù)庫對象)的備份,備份文件是SQL文件或特定格式的導(dǎo)出文件。實際操作中大部分以物理備份為主,邏輯備份為輔。邏輯備份和物理備份各有優(yōu)劣,一般來說,物理備份恢復(fù)速度比較快,但占用空間比較大,邏輯備份速度比較慢,占用空間比較小,但邏輯備份的恢復(fù)成本相對高一些;
(2)如何對數(shù)據(jù)和日志進(jìn)行一致的備份,沒有日志備份,就只能將數(shù)據(jù)庫恢復(fù)到最后一次備份的結(jié)尾。如果發(fā)生災(zāi)難,數(shù)據(jù)庫最后一次備份之后的數(shù)據(jù)修改將全部丟失,創(chuàng)建了第一個完整數(shù)據(jù)備份之后,便可以開始執(zhí)行事務(wù)日志備份,事務(wù)日志備份計劃,根據(jù)需要頻率可多一些,而數(shù)據(jù)庫數(shù)據(jù)的備份以適合數(shù)據(jù)庫業(yè)務(wù)要求的間隔進(jìn)行;
(3)要充分了解數(shù)據(jù)庫的分布情況,是否已分區(qū),是在一個主機(jī)中,還是分散在多個主機(jī)中;
(4)多個節(jié)點(diǎn)之間的使用了復(fù)制功能的數(shù)據(jù)庫,仍然需要常規(guī)傳統(tǒng)備份,因為如果是人為錯誤刪除表,只有復(fù)制的話將無法還原;
(5)如何進(jìn)行可靠的還原和驗證,備份只是第一步,可用、可靠,完整的恢復(fù)才是最重中之重;
(6)數(shù)據(jù)庫備份期間一般不能進(jìn)行實例重啟和升級的操作,很有可能會損壞數(shù)據(jù)。