ERP i bazy danych
Odchudzanie
i przyspieszanie baz danych
Baza, która pracuje dziesięć lat, trzyma zwykle dziesięć lat wszystkiego. Archiwizacja tego, co nie jest już potrzebne w codziennej pracy, potrafi skrócić zamknięcie miesiąca z trzech dni do jednego.
Skąd bierze się problem
Systemy magazynowe i handlowe projektowane są tak, żeby nic nie ginęło. To zaleta — dopóki nie okaże się, że w tabelach operacyjnych leży dziesięć lat dokumentów, z których firma korzysta realnie przez ostatnie dwanaście miesięcy, a resztę otwiera raz na kwartał przy kontroli.
Skutki widać wszędzie: 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 zwykle interpretuje to jako „stary serwer" i planuje wymianę sprzętu, choć problem leży w danych.
Drugi mechanizm to fragmentacja i brak porządku. Tabele rosną, indeksy nie nadążają, a statystyki opisują stan sprzed lat. Silnik bazy podejmuje wtedy złe decyzje o sposobie wykonania zapytania — i to samo działanie, które kiedyś trwało sekundy, zaczyna trwać minuty.
Archiwizacja: dane zostają, tylko nie przeszkadzają
Odchudzanie nie polega na kasowaniu. Przenosimy stare dokumenty do osobnej bazy archiwalnej, która pozostaje dostępna — tylko przestaje spowalniać codzienną pracę. Jeśli księgowość potrzebuje faktury sprzed sześciu lat, nadal ją znajdzie.
Granicę ustalamy wspólnie, na podstawie tego, jak długo dokumenty muszą być dostępne z poziomu systemu i co mówią wymogi archiwizacyjne. W większości firm w bazie operacyjnej wystarczają dwa–trzy ostatnie lata, a wszystko starsze może przenieść się do archiwum.
Cały proces przeprowadzamy na kopii, testujemy działanie systemu na danych po archiwizacji i dopiero wtedy wykonujemy operację na produkcji — w oknie serwisowym, z gotowym planem powrotu, gdyby coś poszło nie tak.
- 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
- Cykliczna archiwizacja, żeby problem nie wrócił za rok
Co realnie się zmienia
Najbardziej odczuwalne są trzy rzeczy. Kopia zapasowa skraca się z godzin do minut, co oznacza, że można ją robić częściej — a więc w razie awarii traci się mniej danych. Raporty i zestawienia generują się w czasie, który da się przeczekać przy biurku. Zamknięcie miesiąca przestaje blokować dział na kilka dni.
Jest też efekt mniej oczywisty: mniejsza baza łatwiej mieści się w pamięci serwera. To znaczy, że system rzadziej sięga po dane na dysk, a różnica w szybkości między odczytem z pamięci a odczytem z dysku jest rzędu kilkudziesięciu razy.
| Operacja | Przed | Po odchudzeniu |
|---|---|---|
| Pełna kopia zapasowa | kilka godzin | kilkanaście minut |
| Zamknięcie miesiąca | 2–3 dni | 1 dzień |
| Raport roczny | kilkanaście minut | poniżej minuty |
| Inwentaryzacja | blokuje pracę | przechodzi w tle |
Indeksy i zapytania: druga połowa pracy
Sama archiwizacja daje dużo, ale nie wszystko. Drugim krokiem jest uporządkowanie indeksów: przebudowa pofragmentowanych, usunięcie tych, z których nikt nie korzysta, i dodanie brakujących tam, gdzie system regularnie przeszukuje całe tabele.
Nadmiar indeksów bywa równie kosztowny co ich brak — 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óre nie zostały użyte ani razu od miesięcy.
Na koniec zostają zapytania. Nie zawsze da się je zmienić, bo pochodzą z zamkniętego systemu — ale często wystarczy dołożyć właściwy indeks albo zaktualizować statystyki, żeby to samo zapytanie zaczęło działać kilkanaście razy szybciej.
Kiedy warto się tym zająć
Nie ma sensu czekać, aż system stanie w środku sezonu. Sygnały ostrzegawcze są dość jednoznaczne i zwykle pojawiają się na długo wcześniej.
- Kopia zapasowa trwa dłużej niż okno nocne
- Raporty, które kiedyś generowały się od ręki, teraz wymagają przerwy na kawę
- Zamknięcie miesiąca zajmuje coraz więcej dni
- Baza przekroczyła kilkadziesiąt gigabajtów, a firma nie urosła tak bardzo
- Pojawiają się komunikaty o braku miejsca na dysku
- Rozważacie wymianę serwera, bo „system zwolnił"
Czego nie ruszamy
Nie zmieniamy struktury tabel systemu ERP ani nie modyfikujemy jego kodu. To brzmi jak ograniczenie, ale jest gwarancją: po naszej pracy system nadal jest objęty wsparciem producenta, a kolejna aktualizacja nie skasuje niczego, co zrobiliśmy.
Cała optymalizacja odbywa się na poziomie bazy danych i jej konfiguracji — indeksy, statystyki, plan konserwacji, archiwizacja danych. To narzędzia, które są przewidziane przez producenta systemu i nie kolidują z jego cyklem aktualizacji.
Jeśli w trakcie okaże się, że problem leży w samej aplikacji — na przykład w raporcie napisanym kiedyś na zamówienie — mówimy to wprost i wskazujemy, kto powinien się tym zająć. Naprawianie cudzego kodu bez dokumentacji to prosta droga do awarii w najgorszym momencie.
Ile to kosztuje
Analiza i wstępna ocena to zwykle jeden–dwa dni pracy. Samo odchudzenie zależy od tego, ile danych trzeba przenieść i jak skomplikowane są powiązania między tabelami — w prostszych systemach to jedno okno serwisowe, w rozbudowanych kilka etapów rozłożonych na tygodnie.
Wyceniamy po analizie, bo dopiero wtedy wiadomo, z czym mamy do czynienia. Sama analiza ma stałą cenę i jest niezależna od tego, czy zdecydujecie się na dalsze prace — jej wynik dostajecie w formie raportu z konkretnymi liczbami: ile waży baza, co ją zapełnia i ile da się zyskać.
Poza sezonem i przed wymianą sprzętu. Odchudzenie bazy przed zakupem nowego serwera zmienia wymagania — czasem okazuje się, że obecny sprzęt w zupełności wystarczy.
Współpraca
Jak to wygląda 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
Zanim zapytasz
Nie. Dane trafiają do bazy archiwalnej i pozostają dostępne. Zmienia się tylko to, że nie obciążają codziennej pracy.
Analiza i testy zwykle kilka dni, samo wykonanie na produkcji — jedno okno serwisowe, najczęściej nocne albo weekendowe.
Bardzo często tak. Warto zacząć od odchudzenia i sprawdzić wyniki — dopiero jeśli po nim system nadal nie wyrabia, rozmowa o sprzęcie ma sens.
Tak, robimy to regularnie. Zobacz wsparcie systemów Insert — archiwizacja jest tam jedną z częstszych prac.
Zwykle raz w roku, po zamknięciu roku obrotowego. Jeśli firma generuje bardzo dużo dokumentów, warto ustawić proces cykliczny działający co kwartał — wtedy baza nigdy nie zdąży urosnąć 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 lokalnym rynkiem, cenami i przykładami — a nie ten sam tekst z podmienioną nazwą.
Sprawdźmy, ile da się zyskać bez wymiany sprzętu
Napisz, jakiego systemu używacie i jak duża jest baza. Odeślemy wstępną ocenę i szacowany efekt archiwizacji.