database snapshot geek dive - Cezary Ołtuszyk

Transkrypt

database snapshot geek dive - Cezary Ołtuszyk
DATABASE SNAPSHOT
GEEK DIVE
Cezary Ołtuszyk
Blog: coltuszyk.wordpress.com
DATABASE SNAPSHOT GEEK DIVE
Kilka słów o mnie …

Kierownik Działu Administracji Systemami w firmie
BEST S.A. (warstwa bazodanowa i aplikacyjna)

Konsultant z zakresu SQL Server
(projektowanie infrastruktury, tuning, troubleshooting)

Posiadacz serii certyfikatów z dziedziny SQL Server,
HYPER-V, Windows Server, Red Hat …

Prelegent na konferencjach informatycznych i
spotkaniach grup pasjonackich

Autor artykułów i blogger
(wss.pl, technet, coltuszyk.wordpress.com)
DATABASE SNAPSHOT GEEK DIVE
Plan spotkania
I.
Wprowadzenie do tematu
II.
Database Snapshot od środka
III.
Jak długo trwa stworzenie snapshotu?
IV.
Ile miejsca na dysku zajmuje snapshot?
V.
Czy użycie snapshotu ma wpływ na zajętość RAM?
VI.
Geek Level Snapshot Recovery
VII.
Podsumowanie
ON
(
NAME = AdventureWorks2008R2_Data,
FILENAME = 'D:\AdventureWorks_Snapshot.ss'
) AS SNAPSHOT OF AdventureWorks
GO
DATABASE SNAPSHOT GEEK DIVE
Wprowadzenie do tematu
Database Snapshot to statyczny widok bazy
danych przeznaczony tylko do odczytu.
Jego największymi zaletami są:
-Spójność po kątem transakcyjnym
-Niezmienność w czasie
-Szybkość z jaką go tworzymy
-Mała ilość zajmowanego miejsca na dysku
Najczęściej używamy go w celu:
-Czytania danych
-Szybkiego odtworzenia bazy źródłowej
DATABASE SNAPSHOT GEEK DIVE
Wprowadzenie do tematu
Aby stworzyć snapshot
następującym kodem:
wybranej
bazy
posługujemy
się
CREATE DATABASE AdventureWorks_Snapshot
ON (
NAME = AdventureWorks2008R2_Data,
FILENAME = 'D:\AdventureWorks_Snapshot.snap'
)
AS SNAPSHOT OF AdventureWorks
Kod odtwarzający ze snapshotu wygląda tak:
RESTORE DATABASE AdventureWorks_Snapshot
FROM DATABASE_SNAPSHOT = ‘AdventureWorks_Snapshot’
DATABASE SNAPSHOT GEEK DIVE
Database Snapshot od środka
Migawki
baz
danych
są
zaimplementowane jako tzw. „pliki
rzadkie”. Definicja takiego pliku brzmi
następująco:
Sparse files are a feature of the NTFS file
system. Initially, a sparse file contains no
user data, and disk space for user data is
not allocated to it. When first created, a
sparse file takes up very little disk space. As
data is written to the sparse file, NTFS
allocates disk space gradually and the file
grows in size. Potentially, a sparse file can
grow very large.
Pliki rzadkie nie są właściwością SQL
SERVER-a !!!
DATABASE SNAPSHOT GEEK DIVE
Database Snapshot od środka
Właściwością silnika baz danych mechanika odczytu oraz utrzymania
oryginalnych danych wewnątrz migawki.
DATABASE SNAPSHOT GEEK DIVE
Jak długo trwa stworzenie snapshotu?
Większość materiałów szkoleniowych na temat migawek baz
danych nic nie mówi na temat tego, w jaki sposób tworzony jest
snapshot.
Jedyna informacją jaka możemy w prosty sposób uzyskać jest
odpowiedź, że:
SZYBKO 
Aby się do wiedzieć co oznacza słowo „szybko” musimy poznać
najważniejsze fazy tworzenia snapshotu:
DATABASE SNAPSHOT GEEK DIVE
Ile miejsca na dysku zajmuje snapshot?
Nx64KB
Czy użycie snapshotu ma wpływ na
zajętość RAM serwera?
TAK 
DATABASE SNAPSHOT GEEK DIVE
Geek Level Snapshot Recovery
Odzyskiwaliście kiedyś bazę danych
do punktu w czasie posiadając
jedynie SNAPSHOTU i kopię LOGU
transakcyjnego?
Mam nadzieję, że ….
NIE !!!
I zapraszam na moje demo 
https://pbs.twimg.com/profile_images/26716542/GeekShow.jpg
DATABASE SNAPSHOT GEEK DIVE
Podsumowanie
 Database snaphsot to transakcyjnie spójny
obraz bazy, stworzony w wybranym punkcie
w czasie
 Migawki używają tzw. Plików rzadkich, które
zajmują niewiele miejsca na dysku
 Stworzenie migawki jest tak szybkie jak
CHECKPINT + RECOVERY + inne dodatki
 Snapshot alokuje miejsce po 64KB
 Użycie snapshotu może mieć wpływ na
zajętość pamięci RAM serwera SQL
 Nie odtwarzajcie baz tak jak pokazałem 

Podobne dokumenty