Oracle7 release 7.0

W każdym relacyjnym systemie baz danych znajdziemy cechy już standardowe, np. możliwość indeksowania tabel w celu przyspieszenia wyszukiwania, itp. Takimi elementami nie będziemy zajmować się w ramach naszej prezentacji.

W każdym relacyjnym systemie baz danych znajdziemy cechy już standardowe, np. możliwość indeksowania tabel w celu przyspieszenia wyszukiwania, itp. Takimi elementami nie będziemy zajmować się w ramach naszej prezentacji.

Skoncentrujemy się zaś na cechach odróżniających Oracle7 od innych SZBD dostępnych na rynku. Przedstawione tu opcje są przykładami najnowszych osiągnięć w zakresie zarządzania bazami danych lub też stanowią cechy charakterystyczne, nie istniejące w większości produktów konkurencji. W obu wypadkach warto zwrócić na nie uwagę.

W nowej wersji SZBD Oracle zwrócono szczególną uwagę na efektywność i skalowalność systemu, a także na znaczne możliwości oferowane przez środowisko klient/serwer. Już starsza wersja systemu, Oracle V6, ma pewne cechy rzadko spotykane w produktach konkurencji. Należą do nich m.in. nieblokowane zapytania (czytanie i zapis danych mogą odbywać się jednocześnie; system zapewnia integralność i aktualność odczytywanych informacji), blokowanie zapisu na poziomie pojedynczych wierszy (możliwość jednoczesnej modyfikacji dowolnej grupy wierszy; w przeciwieństwie do większości SZBD, gdzie przy próbie zmiany zawartości krotki jest blokowana cała grupa wierszy zwana blokiem), generowanie sekwencji (unikalnych liczb służących np. do oznaczania numeru produktu), tworzenie kopii zapasowych i przywracanie systemu podczas regularnej pracy (on-line), możliwość podglądania poczynań użytkowników przez administratora (audit), a także rozszerzenie języka SQL o kilka użytecznych funkcji (przy zachowaniu zgodności ze standardem ANSI/ISO).

Nowe opcje oferowane przez Oracle7 można intuicyjnie podzielić na trzy klasy: opcje związane z operacjami krytycznymi, aktywnością aplikacji i integracją otoczenia programistycznego. Oto krótki przegląd większości spośród unikalnych cech systemu Oracle7 release 70.

Operacje krytyczne

Operacje krytyczne można tu rozumieć jako funkcje wywierające bezpośredni wpływ na efektywność i bezpieczeństwo systemu baz danych. Najważniejszą wśród opcji krytycznych jest niewątpliwie tzw. multithreading w systemie Oracle7. Jest to struktura silnika SZBD, umożliwiająca obsługiwanie żądań użytkowników nie przez pojedynczy proces bazy danych, lecz przez wiele równorzędnych procesów, dzielących pracę między sobą. Ten sposób obsługi żądań zapewnia większą efektywność systemu poprzez unikanie przeciążeń i blokad procesów (każdy proces jest stosunkowo mało obciążony dzięki możliwości dzielenia pracy, zaś w wypadku przeciążenia dotyczy on tylko jednego z elementów systemu, a nie jego całości). Pozwala to także na znaczną oszczędność pamięci operacyjnej.

Podobne rezultaty (tzn. oszczędność czasu i pamięci) jak multithreading daje możliwość korzystania przez różnych użytkowników z tej samej kopii programu w języku SQL (zarówno w postaci kodu źródłowego, jak i skompilowanej).

Oznacza to, że w przypadku gdy więcej niż jeden użytkownik pragnie wykonać dokładnie takie same instrukcje jak pozostali (w mniej więcej tym samym czasie), system Oracle7 zamiast wielokrotnie kompilować kod i przechowywać w pamięci kilka egzemplarzy tych samych komend, przy wykonaniu zadania korzysta z pojedynczej kopii. Dodatkowo, jeśli taka sytuacja dotyczy zapytania, system wykonuje je jednorazowo, po czym rezultaty przesyła do wszystkich zainteresowanych użytkowników.

Równie pozytywny wpływ na efektywność systemu Oracle7 ma inteligentny optymalizator zapytań. Wybiera on najlepszą drogę wyszukiwania informacji, biorąc pod uwagę koszty związane z jej fizycznym położeniem (w jakiej tabeli, na którym dysku) oraz inne elementy mogące wpływać na efektywność. W zależności od tego czy użytkownikowi potrzebny jest przede wszystkim pierwszy wiersz spełniający dane warunki, czy też cała grupa krotek, Oracle7 wybiera inną drogę przeszukiwania bazy.

W Oracle7 nie istnieje limit na długość trwania lub wielkość (zasięg) transakcji. Wynika to z wielosegmentowego zapisu historii transakcji (logowi); dane służące do ewentualnego odwołania (rollback) zmian w tabelach przechowywane są w buforach bazy danych, a nie w logu, co znacznie zwiększa jego pojemność. System Oracle7 pozwala też na duplikację zapisu historii transakcji, aby zapewnić integralność danych w razie wystąpienia awarii.

Bardzo ważnym elementem, znacznie przyspieszającym działanie systemu Oracle7 jest tzw. masowe wgrywanie danych (bulk load). Technologia ta umożliwia załadowanie informacji z dysku do pamięci operacyjnej w jednym kroku (bezpośrednio, omijając wszelkie przekształcenia w trakcie wgrywania). Dopiero po umieszczeniu danych w pamięci dokonuje się wszelkich koniecznych operacji jak test integralności, itp. Dostęp do dysku przyspieszony jest także przez tzw. haszowanie (hashing), czyli identyfikację lokalizacji danych na dysku poprzez pewną konkretną wartość kluczową, a nie pośrednio przez indeksy we/wy.

Administrowanie bazą

W każdym systemie baz danych wygoda pracy administratora bazy ma bepośredni wpływ na jego sprawne działanie. W wypadku Oracle7, administratorom dostarczono przyjazny interfejs umożliwiający wybór każdej opcji z czytelnego menu. Administrację wspomaga także system ograniczeń czasu i zasobów systemowych, dotyczących pojedynczego użytkownika, zapytania lub sesji. W razie przekroczenia tego limitu, proces zostaje przerwany i musi być ponownie uruchomiony. Zwiększa to nie tylko stopień zabezpieczenia systemu, lecz także pozwala na uniknięcie tzw. uciekających zapytań (run- away queries). Dodatkową zaletą Oracle7 jest możliwość rekonfiguracji systemu podczas jego pracy (on-line), czyli bez konieczności ponownego uruchamiania silnika bazy danych.

Nowe polecenie

Oracle7 wzbogacono także w zestaw nowych komend ułatwiających pracę zarówno administratorom, jak i użytkownikom. Należy do nich instrukcja DROP USER, która usuwa konto konkretnego użytkownika, wzbogacona o opcję CASCADE, z pomocą której znikają także wszystkie należące do niego obiekty. Inne użyteczne komendy to TRUNCATE, usuwająca całą zawartość konkretnej tabeli oraz CREATE OR REPLACE PROCEDURE, pozwalająca na zdefiniowanie nowej procedury, bez konieczności wcześniejszego usuwania jej poprzedniej wersji (aktualnie działające transakcje korzystają ze starej wersji, zaś wszystkie następne odwołania dotyczą już wersji nowej). Wpływa to dodatnio na integralność danych w systemie i efektywność transakcji.

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

TOP 200