Optymalizacja baz Microsoft SQL dla Comarch ERP Optima

Optymalizacja bazy Microsoft SQL dla Comarch ERP Optima

Serwer baz danych Microsoft SQL Server jest centralnym miejscem dla całej instalacji Comarch ERP Optima i ma bardzo duże znaczenie dla wydajnej jej pracy. Bardzo ważne jest odpowiednie jego skonfigurowanie zarówno pod względem sprzętowym, jak parametrów i ustawień.

Duże znaczenie ma sprzęt, na jakim zainstalowane będą bazy danych. Przede wszystkim dyski dla jak najkrótszych czasów dostępu do danych oraz pamięć RAM, z której Microsoft SQL Server korzysta bardzo dużo.

Nie mniej ważnym aspektem jest warstwa programowa. Odpowiednia konfiguracja samego serwera jest kluczowa w drodze do bezpiecznej i wydajnej pracy.

Przy większości zastosowań używana jest darmowa wersja silnika SQL o nazwie Express. Ma ona niestety ograniczenia co do wielkości baz danych oraz pamięci RAM używanej przez SQL Server. Większe instalacje wymagają zastosowania komercyjnych wersji tego oprogramowania, które posiadają dużo większe możliwości konfiguracyjne oraz lepszą wydajność.

Warstwa sprzętowa - SERWER

Przy doborze serwera bazy danych należy zwrócić szczególną uwagę to, aby zapewniał on niezawodną pracę i bezpieczeństwo przechowywanych danych. Dlatego warto, aby jak najwięcej komponentów było nadmiarowych. Warto zastosować podwójne zasilacze oraz zasilanie awaryjne (UPS) pozwalające na prawidłowe zamknięcie systemu w momencie braku prądu.

Jeżeli chodzi o wydajność to przede wszystkim należy zwrócić uwagę na ilość pamięci RAM. Procesor zwykle odgrywa mniejsze znaczenie. Orientacyjne ilości pamięci RAM dla różnych konfiguracji zostały podane w Podręczniku konfiguracji dla bieżącej wersji Comarch ERP Optima.

Podsystem dyskowy powinien być zabezpieczony przed awariami poprzez odpowiednią konfigurację. Zalecana konfiguracja to przynajmniej RAID 1 (mirror) dla wolumenu obsługującego system oraz w miarę możliwości RAD 10 dla wolumenu przechowującego dane.

Rozwiązaniem godnym polecenia jest zastosowanie dysków SSD. Przy czym należy pamiętać o zabezpieczeniu ich przed awarią.

Kilka mniejszych baz danych słabiej obciąża serwer niż jedna duża. Dlatego przy skalowaniu serwera SQL dla biura rachunkowego należy przede wszystkim sprawdzić jaka będzie wielkość największej bazy danych i pod nią dobierać konfigurację.


Warstwa programowa - SQL SERWER

Obecnie obowiązującą architekturą jest architektura 64 bitowa i w miarę możliwości zalecana jest aktualizacja do niej środowisk 32 bitowych.

Większość parametrów serwera SQL należy pozostawić bez zmian, ponieważ domyślne wartości są optymalne dla większości warunków pracy.


Minimalna i Maksymalna ilość wykorzystywanej pamięci RAM

Parametr minimalnej i maksymalnej ilości wykorzystanej pamięci RAM odnosi się wyłącznie do jednego z komponentów serwera SQL, czyli puli buforów.

Domyślną wartością parametru Minimum Server Memory jest zero, co oznacza, że serwer będzie dynamicznie zarządzał dostępną pamięcią RAM. Na komputerach dedykowanych do pracy tylko z serwerem SQL zaleca się pozostawienie domyślnej wartości tego parametru.

Maximum Server Memory - domyślna wartością tego parametru to: 2147483647 MB, co oznacza że Server SQL będzie chciał zająć całą dostępną pamięć na komputerze. Zaleca się ograniczenie tej pamięci rezerwując niezbędną przestrzeń do działania systemu operacyjnego i pozostałych elementów serwera SQL.

Microsoft SQL dla Comarch ERP Optima - pamięć RAM


Optimize for Ad hoc Workloads

Włączenie parametru „Optimize for Ad hoc Workloads” pozwala na lepsze wykorzystanie dostępnej pamięci RAM w sytuacji, gdy na serwerze generowane jest wiele zapytań, które nigdy więcej lub bardzo rzadko są uruchamiane ponownie. W ten sposób oszczędzana jest pamięć RAM, przez co może być ona wykorzystana przez serwer SQL do innych celów, a co za tym idzie zwiększa się jego wydajność.

Zaleca się włączenie tego parametru przy pracy z Comarch ERP Optima.

Microsoft SQL dla Comarch ERP Optima - pamięć RAM


Optymalizacja dużych baz danych

Program jest dostosowany do pracy w większości warunków, jednakże niektóre szczególnie duże bazy ze względu na specyficzny rozkład danych w tabelach mogą wymagać dodatkowej optymalizacji.


Database Engine Tuning Advisor

Pełne wersje Microsoft SQL Server posiadają dodatkowe narzędzie o nazwie Database Engine Tuning Advisor. Pozwala ono również na dodanie brakujących indeksów na podstawie zapisanego wcześniej ruchu SQL. Ruch ten można zapisać za pomocą innego narzędzia Microsoft SQL Server Profiler, które również jest dostępne w pełnej wersji serwera SQL.


Cykliczne czynności administracyjne

Cykliczne czynności administracyjne są bardzo istotne z punktu widzenia bezpieczeństwa jak i wydajności serwera SQL i należy traktować je jako obowiązkowe, a nie opcjonalne.

Do najważniejszych czynności administracyjnych można zaliczyć:

  • Kopia bezpieczeństwa
  • Cykliczne odtwarzanie kopii bezpieczeństwa w celu weryfikacji poprawności backupu.
  • Optymalizacja indeksów
  • Kontrola poprawności baz danych DBCC CHECKDB

Dla wydajności szczególnie dla większych baz duże znaczenie ma cykliczna optymalizacja indeksów w bazie, które ze względu na swoją defragmentację będą spowalniać pracę Comarch ERP Optima.


Maintenance Plan – zautomatyzowane strojenie dla pełnych wersji MS SQL

Każda pełna wersja MS SQL posiada mechanizm automatyzacji procesów, których zadaniem jest optymalizowanie bazy danych oraz kreowanie kopii bezpieczeństwa.