|名詞定義|
資料庫快照是資料庫(源資料庫)的隻讀靜态視圖。自建立快照那刻起,資料庫快照在事務上與源資料庫一緻。 資料庫快照始終與其源資料庫位于同一伺服器執行個體上。 雖然資料庫快照提供與建立快照時處于相同狀态的資料的隻讀視圖,但快照檔案的大小随着對源資料庫的更改而增大。給定源資料庫中可以存在多個快照。在資料庫所有者顯式删除每個資料庫快照之前,該快照将一直保留。
資料庫快照在資料頁級運作。在第一次修改源資料庫頁之前,先将原始頁從源資料庫複制到快照。 快照将存儲原始頁,保留它們在建立快照時的資料記錄。對要進行第一次修改的每一頁重複此過程。對于使用者而言,資料庫快照似乎始終保持不變,因為對資料庫快照的讀操作始終通路原始資料頁,而與頁駐留的位置無關。
為了存儲複制的原始頁,快照使用一個或多個“稀疏檔案”。最初,稀疏檔案實質上是空檔案,不包含使用者資料并且未被配置設定存儲使用者資料的磁盤空間。随着源資料庫中更新的頁越來越多,檔案的大小也不斷增長。
| 發展曆程 |
1992年ANSI SQL标準(1992) 提到資料庫隔離級别和資料庫事務的ACID 原則時提出采用資料庫快照(Database Snapshot)實作資料庫的隔離
2005年SQLServer首先采用資料庫快照技術實作資料庫備份。
目前Oracle、Hadoop、Hbase、MySQL等所有主流資料庫都支援資料庫快照。
| 技術特點 |
資料庫快照具有以下優點:
- 快照可用于報告目的。
- 維護曆史資料以生成報表。
- 使用為了實作可用性目标而維護的鏡像資料庫來減輕報表負載。
- 使資料免受管理失誤所帶來的影響。
- 如果源資料庫上出現使用者錯誤,您可将源資料庫恢複到建立給定資料庫快照時的狀态。 丢失的資料僅限于建立快照後資料庫更新的資料。
- 使資料免受使用者失誤所帶來的影響。
- 管理測試資料庫。
| 相關詞 |
Database Snapshots – 資料庫快照
RDBMS – 關系資料據庫
IDS -內建資料存儲(Integrated Data Store),這是世界上第一個NDBMS(網狀資料庫管理系統,Network Database Management System),也是第一個資料庫管理系統
Access - 是由微軟釋出的關系資料庫管理系統
MariaDB - 資料庫管理系統是MySQL的一個分支
| 案例展示 |
- Oracle – 是甲骨文公司的一種關系資料庫管理系統
- SQLServer – 是微軟公司的一種關系資料庫管理系統
- MySQL -原本是一個開放源代碼的關系資料庫管理系統,原開發者為瑞典的MySQL AB公司,2009年甲骨文公司收購Sun公司,MySQL成為Oracle旗下産品
- PostgreSQL - 是自由的對象-關系型資料庫伺服器
- DB2 - 是美國IBM公司發展的一套關系型資料庫管理系統
- Hive - 是一個建立在Hadoop架構之上的資料倉庫
|資料來源|
Database Snapshots
https://www.sqlservercentral.com/articles/database-snapshots-1SQLServer Database Snapshot
https://www.dbrnd.com/2017/01/sql-server-what-is-database-snapshot-and-how-it-works-read-only-database/資料庫發展簡史
https://www.cnblogs.com/cenliang/p/9916803.html資料庫快照 (SQL Server)
https://docs.microsoft.com/zh-cn/sql/relational-databases/databases/database-snapshots-sql-server?view=sql-server-ver15SQL基礎之資料庫快照
https://www.cnblogs.com/fangyz/p/5782190.html