Baza pod lupą

Oracle 11g to baza danych przeznaczona dla użytkowników wykorzystujących szczególnie wymagające i zaawansowane aplikacje pracujące przy dużym obciążeniu.

Oracle 11g to baza danych przeznaczona dla użytkowników wykorzystujących szczególnie wymagające i zaawansowane aplikacje pracujące przy dużym obciążeniu.

Najnowsza baza danych Oracle zawiera wiele istotnych nowości, które mogą usprawnić pracę aplikacji biznesowych intensywnie korzystających z serwerów bazodanowych. Mimo tego, trudno oczekiwać lawiny jej wdrożeń w korporacjach. Jedną z przyczyn jest na pewno zachowawczość środowiska. Decydenci i administratorzy z reguły nie są zainteresowani szybkim wdrażaniem najnowszych wersji oprogramowania. Wynika to z ostrożności, bo zazwyczaj pojawiają się niezgodności wykorzystywanych systemów i aplikacji, a także nieznane dotąd błędy, które mogą powodować kłopoty, a nawet przestoje w działaniu. Na pewno jednak warto wiedzieć, jakie są zalety i wady najnowszej, wprowadzonej w 2007 r. wersji sztandarowego produktu Oracle, bo to może pomóc w podejmowaniu decyzji, czy już inwestować w Oracle 11g, czy lepiej poczekać.

Wygodne testowanie aplikacji

Dla firm, które często modyfikują kod aplikacji, ciekawą opcją jest Real Application Testing. Umożliwia ona przechwycenie informacji o obciążeniu, ich analizę i strojenie zapytań SQL bezpośrednio przy wykorzystaniu modułu analizatora. Odtworzenie tych informacji możliwe jest także w innej instancji, np. testowej. Dzięki temu można szybko przetestować wpływ zmian w kodzie na pracę bazy danych, co ma istotne znaczenie podczas wdrażania nowej wersji aplikacji. Z tej nowej funkcjonalności najwięcej mogą skorzystać sklepy internetowe i inne firmy opracowujące własne aplikacje, wymagające intensywnego strojenia wydajnościowego.

Poważnym problemem wielu aplikacji przetwarzających duże ilości danych jest wpływ operacji intensywnie wykorzystujących zasoby na pozostałe funkcje oprogramowania. Zamiast instalować pojedynczy silny serwer, który w szczycie obciążenia zapewni odpowiednią wydajność obsługi wszystkich procesów, za pomocą Oracle 11g można zastosować przeniesienie intensywnie stosujących zasoby operacji odczytu do innej instancji (np. pracującej na innej maszynie). Umożliwia to funkcja Active Data Guard (opcja w wersji Enterprise), realizująca zasilanie bazy standby danymi z bazy produkcyjnej. Zapytania wykonywane w synchronizowanej bazie standby są możliwe wyłącznie w trybie tylko do odczytu. Mechanizm ten bardzo dobrze sprawdza się w wypadku zaawansowanych zapytań wykorzystywanych przy raportowaniu, bo powodowane przez nie obciążenie nie wpływa na pracę bazy produkcyjnej. Ponadto umożliwia on łatwe wykonanie kopii bezpieczeństwa przy użyciu różnicowego zapisu danych do bazy standby, co zapewnia dodatkową ochronę w razie awarii.

Odtwarzanie pracy bazy

Bazę standby można odłączyć i dokonywać na niej operacji, a po włączeniu synchronizacji, wróci ona do stanu zgodności z główną bazą produkcyjną. Administratorzy narzekają jednak na dość kłopotliwą instalację oprogramowania, szczególnie dotyczy to środowiska Windows, a także brak tak dokładnej dokumentacji, jaka jest dostępna dla starszych produktów Oracle.

Przy zarządzaniu dużą bazą przydatne są narzędzia do optymalizacji systemu. W przypadku Oracle 11g można skorzystać z opcji przechwytywania informacji o najbardziej wymagających zapytaniach SQL, a programiści mają dostęp do biblioteki prezentującej sugestie, dotyczące możliwości optymalizacji strojenia zapytań i bazy danych. Typowe operacje, takie jak drobne korekty zapytań i zmian w strukturze bazy (np. zmiany w indeksach), mogą być sugerowane automatycznie. Minusem takiego podejścia jest to, że oprogramowanie nie potrafi wziąć pod uwagę całego obciążenia bazy ani wpływu innych procesów na zapytanie SQL. Rozwiązania problemu nie zawsze są więc optymalne i do osiągnięcia efektów nadal potrzebna jest wiedza administratorów.

Limity zasobów

Obciążenie intensywnie eksploatowanej bazy danych określa wielkość użytej pamięci, cykli procesora oraz wykorzystywane pasmo wejścia-wyjścia zasobów dyskowych. W Oracle 11g można określić maksymalne wartości każdego z tych parametrów. Warto zauważyć, że poziom obciążenia dysków definiowany przez ilość operacji wejścia-wyjścia jest szczególnie ważny w hurtowniach danych, gdzie intensywne zapytania mogą w pełni wykorzystać pasmo zasobów dyskowych, a moc procesorów i zużycie pamięci może w tym samym czasie pozostawać w normie. Dzięki zdefiniowaniu limitów operacji dyskowych można kontrolować zbyt długo pracujące zapytania. Dotychczas administratorzy pisali własne skrypty, które analizowały pracujące procesy i te, które przez długi czas wykorzystywały znaczące ilości zasobów i były przenoszone do grupy zapytań o mniejszym priorytecie. Wprowadzone w Oracle 11g limity umożliwiają automatyzację tych zadań.

Pamięć podręczna wyników

Jednym ze sposobów przyspieszenia pracy aplikacji w Oracle 11g jest wykorzystanie pamięci podręcznej wyników. Może ona pracować na poziomie zapytania, sesji i bazy. Rozwiązanie takie jest stosowane w systemach, w których najpoważniejszym problemem jest ograniczona wydajność operacji dyskowych. Typowym wyborem jest cache na poziomie sesji, na poziomie zapytania nie przynosi on tak istotnych efektów, a cache na poziomie bazy powoduje przechowywanie w pamięci podręcznej wszystkich zapytań kierowanych do instancji, w tym także tych zbędnych. Cache wyników przyspiesza pracę aplikacji zadających często te same zapytania (np. ERP korzystającej mocno ze słowników), ale nie przyniesie oczekiwanej poprawy przy dużych hurtowniach. Przed implementacją i strojeniem pamięci podręcznej wyników, warto więc dokonać analizy potrzeb i stosownie zwiększyć ilość dostępnej pamięci operacyjnej. Przy naprawdę dużych instalacjach może pojawić się nawet problem ograniczeń na ilość dostępnej pamięci, wynikający z architektury serwera, systemu operacyjnego i bazy danych.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200