| Termin | Definicja |
|---|---|
| Snapshot bazy danych | Snapshot bazy danych to statyczny obraz jej stanu z określonego momentu, wykorzystywany m.in. do raportowania. Snapshot jako obraz stanu bazy danychSnapshot bazy danych to logiczny albo fizyczny obraz danych dostępnych w określonym momencie. Zawiera reprezentację tabel, rekordów, indeksów lub innych obiektów widocznych według stanu ustalonego podczas utworzenia obrazu. Dzięki temu zapytania wykonywane względem snapshotu mogą korzystać z danych historycznych, nawet gdy baza produkcyjna w dalszym ciągu przyjmuje nowe rekordy, aktualizuje istniejące wartości albo usuwa informacje. Sposób działania snapshotu zależy od konkretnego silnika bazy danych i użytej technologii składowania. Część rozwiązań tworzy pełną kopię danych, a część stosuje mechanizm copy-on-write. W drugim wariancie początkowo snapshot współdzieli bloki z bazą źródłową, natomiast przed nadpisaniem zmienionego bloku zachowywana jest jego wcześniejsza wersja. Snapshot nie jest więc zawsze drugim, niezależnym zestawem plików o takim samym rozmiarze jak baza produkcyjna. Spójność danych w chwili wykonaniaUżyteczność snapshotu zależy od tego, czy przedstawia spójny stan danych. Jeżeli obraz powstaje podczas równoczesnych operacji zapisu, mechanizm musi określić punkt odniesienia dla odczytu. Może to być chwila rozpoczęcia operacji, zatwierdzenia określonych transakcji albo ustanowienia wersji odczytu. Bez takiej reguły poszczególne tabele mogłyby pochodzić z różnych etapów zmian, a raport zawierałby wzajemnie niespójne wartości. Snapshot transakcyjnie spójny nie oznacza automatycznie, że dane są poprawne biznesowo. Obraz może wiernie odzwierciedlać stan bazy, w którym występował błędny import, niekompletna synchronizacja albo niezatwierdzona korekta. Z tego powodu przed użyciem snapshotu do analizy sprawdza się czas jego utworzenia, zakres widocznych obiektów oraz zasady spójności zastosowane przez dany silnik. Istotne jest także rozróżnienie między snapshotem a kopią zapasową: snapshot zwykle służy do odczytu określonego stanu, ale nie musi zapewniać niezależnej ochrony na wypadek awarii całego nośnika. Raportowanie i porównywanie zmianJednym z typowych zastosowań snapshotu jest przygotowanie stabilnego źródła dla raportu. Raport może być wykonywany przez dłuższy czas bez ryzyka, że wynik zmieni się w połowie obliczeń wskutek bieżących modyfikacji w bazie produkcyjnej. Snapshot pozwala także porównać stan danych z dwóch różnych momentów, na przykład przed i po imporcie, aktualizacji aplikacji albo masowej korekcie rekordów. Podczas pracy z takim obrazem należy kontrolować jego zależności od bazy źródłowej. W rozwiązaniach wykorzystujących współdzielone bloki usuwanie, rozrastanie się albo intensywne modyfikowanie danych źródłowych może zwiększać ilość miejsca zajmowanego przez snapshot. Obciążenie odczytami również zależy od implementacji: zapytania mogą korzystać z tych samych zasobów pamięci masowej i procesora co system produkcyjny. Snapshot powinien mieć określony czas życia, właściciela oraz sposób usunięcia, ponieważ pozostawione obrazy mogą zużywać przestrzeń i utrudniać ocenę, które dane są aktualne. Diagnostyka problemów z obrazem danychJeżeli raport oparty na snapshotcie pokazuje nieoczekiwane wartości, w pierwszej kolejności porównuje się moment utworzenia obrazu z czasem wystąpienia problemu. Następnie sprawdza się, czy raport odczytuje właściwy snapshot, czy obraz obejmuje wszystkie wymagane tabele i indeksy oraz czy zapytanie nie korzysta równocześnie z bieżącej bazy. Różnica między danymi produkcyjnymi a snapshotem może być prawidłowa, jeżeli po utworzeniu obrazu wykonano kolejne transakcje. W diagnostyce analizuje się również stan przestrzeni dyskowej, błędy odczytu, uprawnienia oraz metadane opisujące snapshot. Uszkodzenie plików, brak wolnego miejsca albo przerwanie operacji tworzenia może spowodować, że obraz będzie niedostępny lub niekompletny. Sam snapshot nie zastępuje regularnej kopii zapasowej, testów odtwarzania i monitorowania integralności danych. W przypadku laptopa albo komputera PC problem może dotyczyć także lokalnego programu korzystającego z bazy: błędny adres źródła, nieaktualny sterownik lub niewłaściwe konto użytkownika mogą sprawiać wrażenie, że snapshot zawiera błędne dane. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów i komputerów PC oraz diagnostykę problemów z ich oprogramowaniem. |