ERP i bazy danych
Odchudzanie
i przyspieszanie baz danych
Baza systemu handlowego trzyma dokumenty z każdego roku działalności, także te, których codzienna praca już nie potrzebuje. Przeniesienie ich do archiwum skraca raporty, kopie i zamknięcie miesiąca, a dokumenty nadal można odnaleźć.
Skąd bierze się problem
Systemy magazynowe i handlowe zapisują każdy dokument i nie usuwają automatycznie tych sprzed lat. Po latach w tabelach operacyjnych leży cała historia firmy, choć na co dzień potrzebna jest tylko jej najnowsza część.
Skutki widać w wielu miejscach: raporty generują się coraz dłużej, kopia zapasowa trwa godzinami, inwentaryzacja blokuje pracę na pół dnia, a lista dokumentów otwiera się z opóźnieniem. Firma często uznaje to za objaw starego serwera i planuje wymianę sprzętu, choć przyczyna leży w danych.
Drugi mechanizm to fragmentacja. Tabele rosną, indeksy się fragmentują, a statystyki opisują stan sprzed lat. Silnik bazy wybiera wtedy złe plany wykonania zapytań i operacja, która kiedyś trwała sekundy, zaczyna trwać minuty.
Archiwizacja starych dokumentów
Odchudzanie nie polega na kasowaniu. Stare dokumenty przenosimy do osobnej bazy archiwalnej, która pozostaje dostępna, ale nie spowalnia codziennej pracy. Sposób sięgania do archiwum ustalamy przed rozpoczęciem prac.
Granica archiwizacji zależy od tego, jak długo dokumenty muszą być dostępne w systemie, i od wymogów archiwizacyjnych, dlatego wyznaczamy ją razem z firmą i jej księgowością.
Zanim cokolwiek zmienimy na produkcji, całą operację przeprowadzamy na kopii i sprawdzamy, czy system działa poprawnie na danych po archiwizacji.
- Analiza, które tabele rosną najszybciej i co je zapełnia
- Ustalenie granicy archiwizacji razem z księgowością
- Przeniesienie danych do bazy archiwalnej z zachowaniem powiązań
- Testy systemu na danych po odchudzeniu
- Wykonanie na produkcji w oknie serwisowym, z planem powrotu
- Cykliczna archiwizacja, żeby problem nie wrócił za rok
Co zmienia się po odchudzeniu
Krótsza kopia zapasowa pozwala robić ją częściej, więc w razie awarii firma traci mniej danych. Raporty i zestawienia generują się szybciej, a zamknięcie miesiąca mniej obciąża księgowość.
Mniejsza baza łatwiej mieści się też w pamięci serwera. System rzadziej odczytuje wtedy dane z dysku, a odczyt z pamięci jest znacznie szybszy.
| Operacja | Co ją wydłuża | Co daje odchudzenie |
|---|---|---|
| Pełna kopia zapasowa | rozmiar całej bazy z historią | mniej danych do skopiowania, kopie można robić częściej |
| Zamknięcie miesiąca | zestawienia liczone na dużych tabelach | mniej rekordów do przejrzenia |
| Raport roczny | przeszukiwanie wieloletnich tabel | mniejsze tabele i uporządkowane indeksy |
| Inwentaryzacja | przeliczanie stanów na dużej bazie | krótsze przeliczenia i krótsza blokada pracy |
Indeksy i zapytania
Drugim krokiem po archiwizacji jest porządek w indeksach: przebudowa pofragmentowanych, usunięcie nieużywanych i dodanie brakujących tam, gdzie system regularnie przeszukuje całe tabele.
Nadmiar indeksów też kosztuje, bo każdy trzeba aktualizować przy zapisie danych. W bazach, które przeszły przez ręce kilku firm, spotykamy indeksy dublujące się nawzajem i takie, których system nie użył od miesięcy.
Na koniec zostają zapytania. Tych z zamkniętego systemu często nie da się zmienić, ale ich działanie zwykle poprawia właściwy indeks albo aktualne statystyki.
Kiedy warto się tym zająć
Lepiej zająć się bazą, zanim system stanie w środku sezonu. Sygnały ostrzegawcze pojawiają się zwykle wcześniej:
- Kopia zapasowa trwa dłużej niż okno nocne
- Raporty, które kiedyś generowały się od ręki, trwają coraz dłużej
- Zamknięcie miesiąca zajmuje coraz więcej dni
- Baza rośnie szybciej niż firma
- Pojawiają się komunikaty o braku miejsca na dysku
- Firma rozważa wymianę serwera, bo system zwolnił
Czego nie ruszamy
Nie zmieniamy struktury tabel systemu ERP ani jego kodu. Ogranicza to ryzyko konfliktu z kolejnymi aktualizacjami producenta.
Pracujemy na poziomie bazy danych i jej konfiguracji: indeksy, statystyki, plan konserwacji, archiwizacja danych.
Jeśli okaże się, że problem leży w samej aplikacji, na przykład w raporcie napisanym kiedyś na zamówienie, mówimy o tym i wskazujemy, kto powinien się tym zająć, bo poprawki w cudzym kodzie bez dokumentacji mogą spowodować awarię systemu.
Od czego zależy koszt
Analiza i wstępna ocena trwają zwykle 1–2 dni pracy. Koszt samego odchudzenia zależy od ilości danych do przeniesienia, złożoności powiązań między tabelami i liczby etapów, na które trzeba rozłożyć prace.
Wycenę prac podajemy po analizie, bo dopiero wtedy wiadomo, z czym mamy do czynienia. Analiza ma stałą cenę i nie zobowiązuje do dalszej współpracy. Jej wynikiem jest raport z liczbami: ile waży baza, co ją zapełnia i ile da się zyskać.
Poza sezonem i przed decyzją o wymianie serwera. Odchudzenie bazy zmienia wymagania sprzętowe, więc zakup sprzętu lepiej zaplanować po nim.
Współpraca
Jak wygląda współpraca krok po kroku
Analiza
Sprawdzamy rozmiary tabel, tempo przyrostu i to, które operacje trwają najdłużej.
Plan i testy
Ustalamy granicę archiwizacji, przeprowadzamy operację na kopii i testujemy system.
Wykonanie
Archiwizacja i optymalizacja na produkcji, w oknie serwisowym, z planem powrotu.
Cykl
Ustawiamy powtarzalną archiwizację, żeby za rok nie zaczynać od nowa.
Pytania
Najczęstsze pytania
Nie. Dane trafiają do bazy archiwalnej i pozostają dostępne, przestają tylko obciążać codzienną pracę.
Analiza i testy zwykle kilka dni. Wykonanie na produkcji w prostszych systemach zajmuje jedno okno serwisowe, najczęściej nocne albo weekendowe, a w rozbudowanych rozkładamy prace na kilka etapów.
Przed pracami i po nich mierzymy rozmiar bazy, czas pełnej kopii i czas najdłużej trwających operacji, na przykład raportów i zamknięcia miesiąca. Wyniki są w raporcie, więc widać, co zmieniło się po odchudzeniu.
Bywa, że tak. Najlepiej zacząć od odchudzenia i sprawdzić wyniki. Jeśli po nim system nadal działa za wolno, rozmowa o sprzęcie ma sens.
Tak. Operację wykonujemy najpierw na kopii i testujemy system przed zmianą na produkcji. Więcej o pracy z tym programem piszemy przy wsparciu systemów InsERT.
Zwykle raz w roku, po zamknięciu roku obrotowego. Przy dużej liczbie dokumentów warto ustawić proces cykliczny co kwartał, żeby baza nie dorastała do rozmiarów, przy których operacja staje się ryzykowna.
Powiązane usługi
Co jeszcze może się przydać
Twoje miasto
Optymalizacja baz danych w Twoim mieście
Dla każdego z tych miast mamy osobną stronę z opisem lokalnego rynku i tego, jak pracujemy z firmami z tego miasta.
Sprawdźmy, ile da się zyskać bez wymiany sprzętu
Napisz, jakiego systemu używasz i jak duża jest baza. Odeślemy wstępną ocenę i szacowany efekt archiwizacji.