pobierz plik referatu
Transkrypt
pobierz plik referatu
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Rozdział 49 w Wpływ wybranych struktur pomocniczych na rozmiar bazy danych Oracle w 1 Wstęp da .b w Streszczenie. Praca obejmuje analizę wpływu wybranych struktur pomocniczych na rozmiar bazy danych Oracle. Badania doświadczalne przeprowadzone zostały na modelowym układzie bazodanowym wydzielonym z rzeczywistego systemu przeznaczonego do obsługi banku. Wpływ optymalizacji na wielkość bazy danych ma znaczenie techniczne i biznesowe. Optymalizacja wybranych struktur pomocniczych umożliwia estymację urządzeń pamięci masowej (wymaganej do pracy aplikacji) oraz pozwala na właściwe oszacowanie kosztów instalacji aplikacji. W rzeczywistych systemach wielkość struktur pomocniczych z reguły przewyższa wielkość tabel danych, co może oznaczać, że jest to krytyczny czynnik analizy kosztowej projektu systemu. pl s. Rozwój produkcji pamięci masowych wymusił opracowanie nowych struktur w bazie danych pozwalających na szybki dostęp do danych. Przykładem struktur służących lepszej organizacji dostępu do danych jest indeksowanie rekordów. Indeksowanie umożliwia szybki dostęp do klucza dla dowolnego rekordu, a dodatkowo zapewnia kontrolę duplikacji klucza. Współczesne aplikacje budowane w oparciu o bazy relacyjne, zawierają bardzo dużą liczbę struktur pomocniczych służących do: optymalizacji dostępu do danych, wymuszenia więzów integralności, zapewnienia unikalności kluczy. Jednym z najmniej zawodnych systemów zarządzania bazami danych jest Oracle (co potwierdzają różne międzynarodowe testy wydajności i bezpieczeństwa). Oracle zawiera wiele struktur pomocniczych i umożliwia właściwe planowanie struktur danych, które w pełni odpowiadają wymaganiom analitycznym i biznesowym tworzonej aplikacji. Wanda Gryglewicz-Kacerka: Wyższa Szkoła Informatyki, Katedra Systemów Ekspertowych i Sztucznej Inteligencji, ul. Rzgowska 17a, 93-008 Łódź, Polska email: [email protected] Jarosław Kacerka: Politechnika Łódzka, Instytut Automatyki, ul. Stefanowskiego 18/22, 90-924 Łódź, Polska email: [email protected] (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 W. Gryglewicz-Kacerka, J. Kacerka 2 Struktury pomocnicze w bazie Oracle w Baza Oracle zawiera następujące struktury pomocnicze [2]. − Indeks (Index) – to struktura zbudowana w oparciu o drzewo binarne lub mapę bitową obejmująca jedną lub więcej kolumn tabeli. Indeks przyśpiesza wykonanie wyrażenia SQL. Klasyfikacja indeksów jest następująca: logiczne (unikalne i nieunikalne, na pojedynczych kolumnach lub złożone), fizyczna: B- drzewa (B-tree indexes), o odwróconym kluczu (Reverse key indexes), bitmapowe (Bitmap indexes). − Klaster (cluster) – to opcjonalna struktura służąca do przechowywania danych pochodzących z tabel. Klaster przechowuje kilka tabel w tym samym bloku danych. Struktura pomocnicza klaster daje następujące korzyści: redukcję ilości pamięci I/O wymaganej dla przechowywania tabel w klastrze, zmniejszenie czasu dostępu do danych dla połączonych tabel, zmniejszenie przestrzeni potrzebnej do przechowywania powiązanych tabel i danych indeksu w klastrze (wartość klucza klastra jest przechowywana jedynie raz bez względu na ilość wierszy tabel). Wartości klucza klastra są automatycznie generowane przez Oracle. Często do wygenerowania wartości numerycznych kluczy zwanych wartościami hash Oracle używa funkcji haszującej (mieszającej). Na strukturze klaster indeksowy obowiązkowo definiowany jest założony indeks (cluster index) lub (hush cluster index). − Zmaterializowany Widok (migawka) (Materialized view) – to obiekt schematu bazy danych, który jest jednocześnie podobny do tabel i perspektyw. Zmaterializowane widoki stosuje się najczęściej w rozproszonych bazach danych (wykorzystujących mechanizm replikacji danych, gdzie odświeżanie zawartości migawki odbywa się okresowo w zdefiniowanych odstępach czasu). Zmaterializowane widoki są używane również w hurtowniach danych, ich celem jest zwiększenie szybkości wykonywanych zapytań skierowanych do bardzo dużych baz danych. Zapytania te często wymagają wykonania złączeń dużych tabel lub wyliczenia agregatów na podstawie danych zawartych w tych tabelach. Takie operacje są bardzo czasochłonne. Migawki pozwalają bardzo znacząco zwiększyć efektywność wykonywania takich czasochłonnych zapytań. − Tabela-indeks (Index-organized table [IOT]) – to struktura posiadająca organizację indeksu, ale służąca do bezpośredniego przechowywania danych, łącząca zdolność przechowywania danych, charakterystyczną dla tabeli z szybkim dostępem poprzez B-drzewo, charakterystycznym dla indeksu. W odróżnieniu od tradycyjnej tabeli, w której dane są przechowywane w blokach segmentów danych w nieokreślonym porządku, dane w IOT są przechowywane w liściach drzewa przeszukiwań w porządku posortowanym względem głównego klucza tabeli. Indeks oparty na tabeli IOT nie stanowi oddzielnej struktury, lecz strukturę drzewiastą (w drzewie indeksowym znajdują się oprócz wartości kluczy również dane z wierszy tabeli). Struktura IOT w znaczny sposób przyspiesza odczyt danych pobieranych z użyciem indeksu, ponieważ znalezienie szukanego klucza jest równoważne z odczytem wiersza tabeli. Wymagania składowania są mniejsze, ponieważ nie istnieje konieczność duplikowania kolumny klucza w tabeli i indeksie oraz niepotrzebne jest składowanie adresu wiersza tabeli - ROWID. Wpisy do indeksu B-drzewa są zazwyczaj małe, ponieważ zawierają one jedynie wartość klucza i ROWID. Wpisy w IOT są zwykle większe, ponieważ zawierają całe wiersze, co może wpłynąć na gęstość gromadzenia danych w indeksie typu B-drzewo. − Partycja (Partition) – to struktura ułatwiająca składowanie bardzo dużych tabel i indeksów. Partycja umożliwia rozkład tych tabel w mniejszych i łatwiejszych do zarzą- da .b w w pl s. 472 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Wpływ wybranych struktur pomocniczych na rozmiar bazy danych Oracle w dzania przestrzeniach. Każda partycja może być przechowywana w innej przestrzeni tabel i może mieć zdefiniowane inne parametry składowania. Partycje pozwalają ułatwić zarządzanie dużymi obiektami. Partycje są całkowicie przezroczyste dla aplikacji tzn. pozwalają widzieć strukturę partycjonowaną jako logiczną całość. Wszystkie partycje mają te same atrybuty związane z przechowywaniem i archiwizacją danych. Każda partycja tabeli lub indeksu musi mieć te same logiczne atrybuty (nazwy kolumn, typy kolumn, ograniczenia) ale może mieć różne atrybuty fizyczne (pctfree, pctused, tablespaces). Tabele lub indeksy podzielone na partycje stanowią logiczny zbiór przestrzeni tabel. Optymalizator systemu Oracle jest w stanie na podstawie właściwie skonstruowanego zdania SQL automatycznie określić partycję, w której znajdują się potrzebne dane oraz użyć wyłącznie tej partycji jako źródła danych. Partycje zwiększają dostępność do danych oraz ułatwiają ładowanie danych, tworzenie indeksów, archiwizację danych i zmniejszają czas odzyskiwania danych. Partycje mogą być archiwizowane online, wykorzystując zalety, jakie daje możliwość tworzenia gorącej kopii zapasowej przestrzeni tabel (ułatwiając proces archiwizacji i odzyskiwania danych). Obecnie, stosowanie partycji jest jedyną metodą budowy efektywnych, wielkich baz danych o wolumenie terabajtowym. − Tabela partycjonowana (Partition table) – to tabela podzielona na wiele oddzielnych partycji. Każda tabela może podlegać partycjonowaniu - za wyjątkiem tabel, które zawierają dane typu LONG lub LONG ROW. Partycje tabel mogą być następujących typów: partycje zakresowe (Range Partitioning ), listy partycji (List Partitioning), hash partycje (Hash partitioning), złożone partycje (Composite Partitioning). Partycje zakresowe zawierają dane podzielone w oparciu o zakresy wartości kluczy definiowanych przez użytkownika. Użytkownik ma możliwość podania listy dyskretnych wartości klucza dla każdej partycji oraz tworzenia partycji w oparciu o funkcję haszujacą. Partycjonowanie złożone jest połączeniem partycjonowania zakresowego i haszowego. Dane są dzielone na partycje, przy wykorzystaniu metody partycjonowania zakresowego a tworzone subpartycje wykorzystują partycjonowania hashowego. − Ideksy partycjonowane (Partition index) – zwiększają łatwość zarządzania, dostępność i skalowalność struktur z nimi związanych. System Oracle oferuje dwa typy opcji indeksacji: lokalnie partycjonowane indeksy (automatycznie dodawane do tabel partycjonowanych) oraz globalnie partycjonowane indeksy (umożliwiają niezależność indeksacji). Lokalnie partycjonowane indeksy są łatwiejsze w zarządzaniu, ponieważ wszystkie klucze partycji indeksu posiadają skojarzone wiersze w partycji tabeli oraz klucze indeksu nie nakładają się na klucze indeksów z innych partycji. Oracle umożliwia automatyczne założenie lokalnie partycjonowanych indeksów dla każdej partycji tabeli oraz obsługuje niezależnie każdą parę (tabela-indeks). Globalnie partycjonowane indeksy umożliwiają niezależność indeksacji. Klucz partycji jest uniezależniony od metod partycjonowania tablicy. Globalnie partycjonowane indeksy stosowane są zwykle w sytuacji braku możliwości zastosowania indeksów partycjonowanych lokalnie lub też dla uzyskania efektywnego dostępu do danych po specyficznym kluczu nie wchodzącym w skład klucza partycjonowania tabeli. da .b w w pl s. 3 Badania modelowe Testową bazę danych stanowi modelowa baza oparta o rzeczywisty system bankowy EuroBank Online firmy Asseco S.A. służący do obsługi rachunków bankowych. System rzeczy473 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 W. Gryglewicz-Kacerka, J. Kacerka w wisty jest systemem zrealizowanym w oparciu o technologię firmy Oracle. Tworząc bazę testową przyjęto następujące założenia: znany jest całkowity rozmiar danych przechowywanych w rzeczywistej bazie danych oraz znane są zmienne opisowe charakteryzujące zbiór RPi parametrów opisujących strukturę każdej i-tej przestrzeni tabel, ilości wierszy i-tej tabeli Wi, całkowitą ilość wierszy w bazie, zbiór zależności liczbowych wierszy dla każdej połączonej relacją pary tabel. W systemie modelowym zaimplementowano obsługę typowej struktury bankowej. Z rzeczywistej bazy danych EuroBank Online wydzielono do badań testowych 500 tabel przechowujących wszystkie dane bazy danych stanowiących jądro bazy danych oraz dodano 5 tabel stanowiących prosty moduł rejestracji klientów. Przyjęto nowy zbiór przestrzeni tabel oraz parametry charakteryzujące ich strukturę. W skład zbioru przestrzeni tabel wchodzą: DANA – przestrzeń tabel, w której umieszczone są wszystkie tabele bazy wraz z zawartymi w nich danymi, INDX – przestrzeń danych na wszystkie indeksy bazy, UNDO – przestrzeń tabel zapewniająca automatyczne zarządzanie segmentami wycofania, SYSTEM – przestrzeń systemowa, TEMP – przestrzeń tymczasowa. W tabelach 1 i 2 zestawiono wartości parametrów składowania dla przestrzeni tabel. Dodatkowo utworzono w przestrzeni UNDO pięć segmentów wycofania o parametrach: INITIAL=3M, NEXT=6M, MINEXTENTS=5, MAXEXTENTS 121 w w Tabela 1. Parametry przestrzeni tabel Sposób użycia REUSE Rozmiar początkowy 100M Następny segment 50M Rozmiar maksymalny 500M INDX REUSE 100M 50M 500M UNDO REUSE 100M 50M 500M SYSTEM REUSE 100M 100M Unlimited TEMP REUSE 100M 50M 200M da .b Przestrzeń tabel DANA Tabela 2. Parametry składowania dla przestrzeni tabel Wielkość kolejnego obszaru 20K Przyrost kolejnych obszarów 50K Min ilość obszarów Max ilość obszarów 1 121 1 121 INDX 10K 20K 50K UNDO 10K 20K 50K SYSTEM 10K 10K TEMP 20K 100K 20K 50K pl s. Wielkość Przestrzeń pierwszego tabel obszaru DANA 10K 1 121 1 121 1 121 Wydzielone zostały następujące tabele: Klient, Waluta, Wojewodztwo, Oddział, Rachunek_klienta, Rejestr, Saldo, Operacja, Detal. Oprogramowanie generujące dane w bazie testowej wykonane zostało w postaci procedur składowanych w bazie w języku PL*SQL i uruchamiane za pomocą SQL*Plus. Badania testowe obejmowały wykonanie szeregu testów, które miały za zadanie pokazanie wpływu: konfiguracji wybranych parametrów inicjalizacyjnych na wydajność przetwarzania systemu [3] oraz obecności wybranych struktur pomocniczych (indeks B-drzewo, 474 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Wpływ wybranych struktur pomocniczych na rozmiar bazy danych Oracle w indeks bitmapowy, indeks zbudowany w oparciu o funkcje oraz tabele o organizacji indeksowej IOT) na rozmiar bazy danych. Do badań testowych przyjęto dwie struktury baz danych Baza1, Baza2, które zawierały następujące struktury pomocnicze: Baza1 - zbiór przestrzeni tabel przechowujących wszystkie dane bazy, struktury zapewniające unikalność danych (zbiór kluczy unikalnych), struktury zapewniające integralność danych (klucze główne, obce), zbiór indeksów bitmapowych: Idx2_Status, Idx2_Miejscowosc, indeks zbudowany w oparciu o funkcje Idx_NazwiskoImie), Baza2 – struktury pomocnicze rozszerzono w stosunku do Baza1 o klaster Grono założony na tabelach: Operacje i Detale wraz z indeksem Idxc_Grono, strukturę IOT na tabeli Saldo, która jest identyfikowana poprzez indeks PK_IOT_Saldo. Do badań testowych wykorzystano następujące narzędzia: perspektywy systemowe (dba_tables, dba_indexes, index_stats) oraz procedury wykorzystujące perspektywy systemowe (TestTable, TestIndex). Perspektywy systemowe zawierają informacje o rzeczywistej zajętości miejsca wymienionych struktur logicznych (pomocniczych). Procedura TestTable dokonuje analizy wszystkich tabel w schemacie użytkownika w celu wyznaczenia: ilość wierszy danej tabeli, liczby bloków zaalokowanych na tabele, średniej długości wierszy, ilości (liczonej w MB) przestrzeni dyskowej zajmowanej przez daną tabelę. Procedura TestIndex dokonuje analizy wszystkich indeksów w schemacie użytkownika w celu wyznaczenia: liczby oddzielnych kluczy w indeksie, wysokości B-drzewa (tylko dla indeksu B-drzewo), liczby bloków zaalokowanych na indeks, całkowitej przestrzeni używanej przez indeks. Pełny cykl testu dla pojedynczej bazy obejmuje symulację działań: zapisania klienta, utworzenia rachunku, wykonania operacji na rachunku, generowanie raportu za pomocą procedur TestTable i TestIndex. da .b w w 4 Charakterystyka narzędzia badań testowych pl s. W celu przeprowadzenie badań testowych zaprojektowano aplikację testującą. Aplikacja testująca została napisana w języku Borland Delphi 5.0 i jest aplikacją o architekturze MDI (Multi Document Interface). Aplikacja testująca została zaprojektowana w celu wykonywania wszelkich testów wydajnościowych przeprowadzanych na bazach danych Oracle. Główne funkcje realizowane przez aplikację to: przygotowanie bazy do testu, porządkowanie bazy po wykonaniu testu, wykonanie testu i wygenerowanie raportu, analiza wyników. Aplikacja testująca umożliwia wykonywanie równoległe innych testów na innych bazach danych w tym samym czasie. W ramach realizacji czynności przygotowujących bazę do wykonania testów wyróżnia się następujące funkcje: tworzenie przestrzeni tabel, tworzenie tabel, załadowanie tabel, tworzenie więzów integralności, tworzenie indeksów, pełne przygotowanie bazy do testu (realizuje wszystkie powyższe podpunkty z wyjątkiem tworzenia przestrzeni tabel). Czynności mające na celu uporządkowanie bazy danych po teście polegają na wykonaniu działań przeciwnych do opisanych powyżej. 475 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 W. Gryglewicz-Kacerka, J. Kacerka w w w Rys. 1. Funkcje obsługiwane przez aplikację testującą Aplikacja testująca zawiera w sobie moduł służący do analizy wyników otrzymanych z testów. Możliwa jest analiza dwóch typów plików z wynikami: analiza pliku generowanego przez narzędzia systemu operacyjnego lub przez aplikację testującą. da .b pl s. Rys. 2. Przykład okna wykresów aplikacji testującej W ramach przygotowania bazy do przeprowadzania testów wykonywane są następujące czynności: utworzenie bazy danych z zadanymi parametrami, wykonanie czynności organizacyjnych, np. stworzenie użytkownika, na rzecz którego będą tworzone obiekty bazy danych, utworzenie przestrzeni tabel o odpowiednich parametrach składowania, wypełnienie bazy danymi, utworzenie tabel, załadowanie tabel, utworzenie więzów integralności, utwo- 476 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Wpływ wybranych struktur pomocniczych na rozmiar bazy danych Oracle rzenie indeksów oraz konfigurowanie optymalizatora (poprzez uruchomienie procedury analizy schematu zawierającego tabele z danymi testowymi). 5 Wyniki badań testowych w w Dane w bazie Baza1 znajdują się w tabelach oraz indeksach odpowiedzialnych za wymuszenie więzów integralności oraz unikalność kluczy. Dane w bazie Baza2 zawierają dodatkowo struktury pomocnicze: klaster oraz strukturę tabela indeks IOT. Z założenia Baza1 zawiera mniejszą ilość struktur pomocniczych niż baza Baza2. Baza2 zawiera więcej struktur pomocniczych zajmuje więc większą przestrzeń dyskową konieczną do składowania struktur pomocniczych niż Baza1. W obu bazach modelowych zastosowane struktury pomocnicze zajmują większą przestrzeń niż same tabele. Wyniki badań zestawiono na rys. 1 i 2. M B 900 w 800 700 600 .b 500 400 300 200 100 s da 0 B aza1 B aza2 C a lk o w it y r o z m ia r Tabel S tru k tu ry Rys. 3. Całkowity rozmiar danych (bazy testowe) M 350 Rozmiar tabel: Detale, Operacje w bazie: Baza1, Baza2 l .p 300 250 200 150 100 50 0 Baza1 Baza2 Tabele Struktury pomocnicze Rys. 4. Wpływ struktury pomocniczej – klastra na rozmiar przestrzeni dyskowej koniecznej do składowania danych 477 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 W. Gryglewicz-Kacerka, J. Kacerka IOT na tabeli Salda MB w 140,0000 120,0000 100,0000 80,0000 60,0000 40,0000 20,0000 0,0000 Tabela Salda w Tabela Salda Tabela Salda o organizacji indeksow ej Tabela Salda o organizacji indeksow ej w Rys. 5. Wpływ struktury pomocniczej – IOT na rozmiar przestrzeni dyskowej koniecznej do składowania danych da .b Badania testowe wykazały, że wzrost wielkości przestrzeni zajmowanej przez struktury pomocnicze jest uzależniony od wartości przestrzeni potrzebnej do składowania tabel (rośnie ze wzrostem ilości połączonych z nimi kolumn w tabelach, wzrostem ilości kluczy głównych, unikalnych i obcych oraz odpowiadających im indeksów). Na rys. 2 pokazany jest wpływ struktury pomocniczej klastra i związanego z nim indeksu na rozmiar tych samych tabel w obu bazach testowych (Baza1 nie zawiera struktury klastra). Wpływ struktury IOT (rys. 3) jest następujący: całkowity rozmiar tabeli z IOT jest niższy niż w tabeli, w której dane są przechowywane w sposób tradycyjny (tu zysk 17%). Wyniki testów potwierdzają rolę tabeli zorganizowanej w indeks opisaną w dokumentacji Oracle [4]. 6 Uwagi końcowe pl s. Wpływ obecności struktur pomocniczych na rozmiar bazy danych jest szczególnie widoczny w bardzo dużych tabelach, w których struktury pomocnicze zapewniają nie tylko lepszą organizację dostępu do danych, ale również zmniejszenie przestrzeni dyskowej niezbędnej do przechowywania tabel wraz z odpowiadającymi im strukturami pomocniczymi. Współczesne aplikacje budowane w oparciu o bazy relacyjne, korzystają ze struktur pomocniczych. W rzeczywistych bazach danych, eksploatowanych w dużych bankach, w których wielkość rocznego przyrostu bazy danych przekracza 1TB, 60% bazy stanowią struktury pomocnicze, a 40% dane. Niezależnie od tego zarezerwowane jest miejsce na przestrzenie wycofania i sortowania (UNDO i TEMP). Jest oczywiste, że biorąc pod uwagę wysoki koszt jednostek dyskowych używanych w wysokowydajnych macierzach, rozmiar przestrzeni wymaganej przez struktury pomocnicze znacząco wpływa na realne koszty eksploatacji systemu. Obecność struktur pomocniczych musi być również uwzględniana w procesie projektowania systemów informatycznych oraz w procesie strojenia systemu i konstrukcji zapytań do bazy. 478 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Wpływ wybranych struktur pomocniczych na rozmiar bazy danych Oracle Literatura 1. 2. 3. w Gryglewicz-Kacerka W., Grzybowski R., Szymczak B.: Wybrane zagadnienia z baz danych, Wydawnictwo Tempus, Politechnika Łódzka, Łódź 2000, Gryglewicz-Kacerka W., Szymczak B.: Administracja bazą danych, Wydawnictwo Politechniki Łódzkiej, Politechnika Łódzka, Łódź 2003, Gryglewicz-Kacerka W., Figiel P., Szymczak B.: Wpływ parametrów konfiguracyjnych i architektury Oracle na wydajność przetwarzania, „Zastosowania Komputerów w Elektrotechnice ZkwE’2003”, Wydawnictwo Politechniki Poznańskiej, Poznań 2003 Ruth Baylis, Joyce Fee: Oracle8i Administrator’s Guide, Part No. Release 2, IEC Publication 270. Partial discharge measurements. (1989) A76956, Primary Author: Michele Cyran: Oracle8i Designing and Tuning for Performance, Part No. A76992-01, Release 2. 4. 5. da .b w w pl s. 479 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 w da .b w w pl s. (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006