Firebird zarządzanie: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| Linia 627: | Linia 627: | ||
Firebird-owa baza danych składa się z logicznych bloków zwanych stronami. Każda strona ma ten sam rozmiar, który określany jest podczas tworzenia bazy lub podczas odtwarzania jej z kopii poleceniem gback. Gdy serwer podłącza się do bazy, rezerwuje pewną ilość pamięci RAM jako tzw. cache (pamięć podręczna). Dzięki temu może przyspieszyć dostęp do stron, które były przed chwilą wczytane z bazy. Serwer dysponuje dwoma pamięciami podręcznymi na każdą aktywną bazę danych - ''Metadata cache'' i ''Page cache''. Pierwsza gromadzi informacje o metadanych, druga - gromadzi strony ostatnio odczytane. Rozmiar pamięci stronicowej (''page cache'') dla wszystkich baz danych określa parametr w pliku ''firebird.conf'' (podawany jest jako liczba stron). Ilość alokowanej pamięci jest zatem iloczynem liczby stron i rozmiaru pojedynczej strony. Rozmiar pamięci stronicowej może być także określona dla każdej bazy z osobna (używając ''gfix -buffers''). | Firebird-owa baza danych składa się z logicznych bloków zwanych stronami. Każda strona ma ten sam rozmiar, który określany jest podczas tworzenia bazy lub podczas odtwarzania jej z kopii poleceniem gback. Gdy serwer podłącza się do bazy, rezerwuje pewną ilość pamięci RAM jako tzw. cache (pamięć podręczna). Dzięki temu może przyspieszyć dostęp do stron, które były przed chwilą wczytane z bazy. Serwer dysponuje dwoma pamięciami podręcznymi na każdą aktywną bazę danych - ''Metadata cache'' i ''Page cache''. Pierwsza gromadzi informacje o metadanych, druga - gromadzi strony ostatnio odczytane. Rozmiar pamięci stronicowej (''page cache'') dla wszystkich baz danych określa parametr w pliku ''firebird.conf'' (podawany jest jako liczba stron). Ilość alokowanej pamięci jest zatem iloczynem liczby stron i rozmiaru pojedynczej strony. Rozmiar pamięci stronicowej może być także określona dla każdej bazy z osobna (używając ''gfix -buffers''). | ||
====Różnice między rodzajami architektur serwera==== | =====Różnice między rodzajami architektur serwera===== | ||
{| class="wikitable" | {| class="wikitable" | ||
| Linia 646: | Linia 646: | ||
| Pamięć podręczna bazy danych jest współdzielona przez wszystkie, skierowane do niej, połączenia. Nie jest wymagana synchronizacja tych samych stron pobranych przez różne połączenia. Wszystkie połączenia działają w ramach pojedynczego procesu. Jeżeli któreś z połączeń przeciąży serwer powodując jego zamknięcie, to spowoduje to zakończenie wszystkich pozostałych połączeń. Wątki obsługujące połączenia działają równolegle w przypadku wielordzeniowych procesorów. | | Pamięć podręczna bazy danych jest współdzielona przez wszystkie, skierowane do niej, połączenia. Nie jest wymagana synchronizacja tych samych stron pobranych przez różne połączenia. Wszystkie połączenia działają w ramach pojedynczego procesu. Jeżeli któreś z połączeń przeciąży serwer powodując jego zamknięcie, to spowoduje to zakończenie wszystkich pozostałych połączeń. Wątki obsługujące połączenia działają równolegle w przypadku wielordzeniowych procesorów. | ||
|} | |} | ||
====Wybór rodzaju architektury serwera==== | =====Wybór rodzaju architektury serwera===== | ||
=====Classic===== | ======Classic====== | ||
Może być stosowany na wieloprocesorowych/wielordzeniowych serwerach utrzymujących dużą liczbę jednoczesnych połączeń. Serwer Classic jest szczególnie zalecany wtedy, gdy aplikacje wymagają maksimum stabilności - zerwanie pojedynczego połączenia nie wpływa na pozostałe. | Może być stosowany na wieloprocesorowych/wielordzeniowych serwerach utrzymujących dużą liczbę jednoczesnych połączeń. Serwer Classic jest szczególnie zalecany wtedy, gdy aplikacje wymagają maksimum stabilności - zerwanie pojedynczego połączenia nie wpływa na pozostałe. | ||
=====SuperClassic===== | ======SuperClassic====== | ||
Może być stosowany na wieloprocesorowych/wielordzeniowych serwerach, ale zalecane jest instalowanie wersji 64-bitowej. Z powodzeniem obsłuży dużą liczbę jednoczesnych połączeń zużywając mniej zasobów niż wersja Classic. Także lepsza skalowalność, ponieważ synchronizacja pamięci podręcznej nie wymaga komunikacji między procesami. Jednak awaria jednego połączenia zamknie wszystkie pozostałe połączenia. | Może być stosowany na wieloprocesorowych/wielordzeniowych serwerach, ale zalecane jest instalowanie wersji 64-bitowej. Z powodzeniem obsłuży dużą liczbę jednoczesnych połączeń zużywając mniej zasobów niż wersja Classic. Także lepsza skalowalność, ponieważ synchronizacja pamięci podręcznej nie wymaga komunikacji między procesami. Jednak awaria jednego połączenia zamknie wszystkie pozostałe połączenia. | ||
=====SuperServer===== | ======SuperServer====== | ||
Od wersji 3.0 architektura SuperServer, to architektura standardowa (zalecana). Korzysta ze wszystkich procesorów/rdzeni dostępnych na komputerze i ma współdzieloną pamięć podręczną (synchronizacja nie jest potrzebna). | Od wersji 3.0 architektura SuperServer, to architektura standardowa (zalecana). Korzysta ze wszystkich procesorów/rdzeni dostępnych na komputerze i ma współdzieloną pamięć podręczną (synchronizacja nie jest potrzebna). | ||
Rodzaj wybranej architektury określany jest w pliku ''firebird.conf'' za pomocą parametru ''ServerMode''. Może on przybierać następujące wartości: | Rodzaj wybranej architektury określany jest w pliku ''firebird.conf'' za pomocą parametru ''ServerMode''. Może on przybierać następujące wartości: | ||