WYBÓR SYSTEMU BAZ DANYCH JAKO ELEMENT JAKOŚCI SYSTEMU INFORMATYCZNEGO ZARZĄDZANIA Streszczenie Adam Niedbała Akademia Ekonomiczna w Katowicach nadam@ae.katowice.pl Celem artykułu jest przedstawienie cech systemów baz danych, wpływających na ogólny poziom jakości systemów informatycznych zarządzania. Analizie poddano pięć popularnych systemów baz danych. W ocenie poszczególnych rozwiązań kierowano się licznymi kryteriami, istotnymi z punktu widzenia zarówno twórców systemów informatycznych, jak i potencjalnych uŝytkowników. Słowa kluczowe: Bazy danych, SZDB, jakość, SIZ, SQL. Problem jakości w systemach informatycznych zarządzania Parafrazując popularne powiedzenie, system informatyczny jest tak dobry, jak najsłabsze jego ogniwo. Rys. 1. przedstawia schematycznie elementy typowego systemu informatycznego zarządzania. Z punktu widzenia wydajności, bezpieczeństwa, spójności danych w nim zawartych oraz łatwości utrzymania i rozbudowy systemu, elementem o szczególnym znaczeniu jest zastosowany system baz danych. APLIKACJE UśYTKOWE SYSTEM ZARZĄDZANIA BAZĄ DANYCH OPROGRAMOWANIE KOMUNIKACYJNE SYSTEM OPERACYJNY BA Z A DANYCH SPRZĘT INFORMATYCZNY SPRZĘT KOMUNIKACYJNY Rys. 1. Składowe systemu informatycznego oraz ich wzajemne powiązania (infrastruktura techniczna SIZ). Źródło: Opracowanie własne.
478 Realizacja SWO i rozwiązania praktyczne w SWO Nowoczesne bazy danych działają w środowisku rozproszonym. Są one zgodne z relacyjnym modelem danych oraz wykorzystują zestandaryzowany język zapytań SQL (Structured Query Language). System bazy danych składa się zazwyczaj z bazy danych, słuŝącej do składowania danych w pamięciach masowych oraz systemu zarządzania bazą danych, pełniącego rolę koordynatora między składnicą danych, systemem operacyjnym oraz aplikacjami. Systemy bazy danych charakteryzują się cechami, takimi jak:[dbms02], [Shel99] decentralizacja moŝliwość eliminacji centralnego składowania danych, lokalna autonomia moŝliwość zachowania częściowej lub całkowitej niezaleŝności poszczególnych części bazy, praca w systemie ciągłym, niezaleŝność procedur dostępu do danych od miejsca przechowywania, wbudowane mechanizmy fragmentacji moŝliwość dzielenia bazy danych i przechowywania jej fragmentów w róŝnych miejscach, wbudowane mechanizmy replikacji moŝliwość równoczesnego przechowywania danych w róŝnych miejscach dla poprawy ich bezpieczeństwa, rozproszone przetwarzanie zapytań kierowanie zapytań uŝytkownika zoptymalizowane pod kątem wydajności, rozproszone przetwarzanie transakcji gwarantowana jest spójność danych niezaleŝnie od stopnia fragmentacji bazy, niezaleŝność od sprzętu moŝliwość współpracy z róŝnym sprzętem, niezaleŝność od systemu operacyjnego moŝliwość współpracy z róŝnymi systemami operacyjnymi, niezaleŝność od sieci moŝliwość współpracy z róŝnymi typami sieci oraz protokołami komunikacyjnymi, niezaleŝność od systemu zarządzania bazą danych dostęp do bazy danych przy pomocy róŝnych interfejsów komunikacyjnych, obiektowość moŝliwość definiowania oraz składowania obiektów z podziałem na klasy, w tym takŝe obiektów multimedialnych. Podstawowe wymagania stawiane systemom baz danych to: trwałe i niezawodne przetwarzanie duŝych ilości informacji, zapewnienie wysoce wydajnych mechanizmów przeszukiwania danych według zadanych kryteriów, zapewnienie dogodnych metod modyfikacji danych, zapewnienie spójności i integralności gromadzonych danych oraz powiązań między nimi, ochrona danych przed nieuprawnionym dostępem, utratą, naruszeniem spójności, itp.
Wybór systemu baz danych jako element jakości systemu... 479 W zaleŝności od potencjalnych zastosowań oraz potrzeb uŝytkowników, niektóre z powyŝszych cech mogą mieć mniejsze lub większe znaczenie. Od stopnia realizacji poszczególnych wymagań zaleŝy ogólna jakość systemu baz danych, rozumiana jako spełnianie oczekiwań uŝytkowników. Zestawienie funkcji testowanych systemów baz danych Tabela 1. DB2 1 MS 2 My 3 O9i 4 ASE 5 ADMINISTRACJA Kreatorzy tworzenia bazy danych/tablic T/T T/T N/N T/T T/T Kreatorzy przywracania danych/łączenia z bazą danych T/T N/T N/N T/T T/T Narzędzia graficzne do: Zarządzania uŝytkownikami/ indeksami/ zarejestrowanymi procedurami T/T/T T/T/T N/N/N T/T/T T/T/T Diagramy bazy danych/oglądanie wyników poleceń SQL T/T T/T N/N T/T T/T Obszar projektowania struktury bazy danych N T N T N Wysyłanie komunikatów ostrzegawczych do administratora bazy danych T T N T N MoŜliwość uruchamiania narzędzi administracyjnych przy uŝyciu przeglądarki internetowej T N T T N Narzędzia importowania i eksportowania danych w postaci tekstu/w formacie własnym bazy danych T/T T/T T/N T/N T/T Administrator moŝe ustalać uprawnienia dla tablic/kolumn/wierszy T/T/T T/T/N T/T/N T/T/T T/T/T Administrator moŝe ustalać uprawnienia na podstawie reguł N N N T T Posiadanie oficjalnych, formalnych akredytacji bezpieczeństwa N T N T T Harmonogram zadań według czasu/zdarzenia/alarmu T/T/T T/T/T N/N/N T/T/T N/T/N Statyczne/dynamiczne publikacje w sieci T/T T/T N/N T/T T/T BAZA DANYCH Wykorzystuje wieloprocesorowość do przetwarzania równoległego zapytań T T N T T Wykorzystuje wieloprocesorowość do przetwarzania poleceń insert/select T/T T/T N/N T/T T/T 1 DB2 Universal Database 7.2 2 Microsoft SQL Server 2000 SP2 3 MySQL 4.0 4 Oracle9i Database 5 Sybase Adaptive Server Enterprise 12.5
480 Realizacja SWO i rozwiązania praktyczne w SWO Wykorzystuje wieloprocesorowość do aktualizowania/kasowania T/T T/T N/N T/T N/N B-tree/indeksowanie klastrów T/T T/T T/T T/T T/T Indeksy bitmapowe/haszowane T/N T/N N/T T/T N/N Optymalizacja pod kątem kosztów/zasad/ procesorów T/N/T T/N/T T/T/T T/T/T T/T/T Wykorzystywanie wielu indeksów dla pojedynczych zapytań T T T T T Tworzenie automatycznych tablic sumarycznych T T T T N Optymalizacja zapytań według powtarzalności zapytań/ łączenia operacji T/T T/T T/T T/T T/T Typy danych: multimedialne obiekty binarne/obiekty tekstowe unicode/html T/T/T T/T/N T/T/T T/T/T T/T/T Dźwięk/wideo/obrazy T/T/T N/N/T T/T/T T/T/T T/T/T SKALOWALNOŚĆ I DOSTĘPNOŚĆ Klastry na wielu serwerach T T N T T Automatyczne przełączanie do serwera zapasowego przez program klienta N T N T T Częściowe przywracanie stanu bazy do punktu określonego w czasie T T T T T Wykonywanie pełnych/przyrostowych kopii bezpieczeństwa T/T T/T T/T T/T T/T Przywracanie danych na poziomie tablic T T T T T Logowanie podwójne/wielokrotne T/T N/N T/T T/T T/N ŁATWOŚĆ PROGRAMOWANIA Rejestrowanie procedur/ debugowanie składni zarejestrowanych procedur T/T T/T N/N T/T T/T MoŜna kaskadowo wykonywać zagnieŝdŝone wyzwalacze (triggers) T T N T T Wiele wyzwalaczy (triggers) dla zdarzenia i wiersza T T N T N MoŜna uruchamiać Enterprise JavaBeans w bazie danych T N N T T Interfejs łączenia poprzez: JDBC/ODBC/RDO T/T/T T/T/T T/T/T T/T/T T/T/T ADO/OLE DB/Perl DBI T/T/T T/T/N T/T/T T/T/T T/T/T MoŜna przedstawiać dane jako usługi w sieci Web T N N N N Dostęp przez sieć Web do danych XML za pośrednictwem zapytań SQL T T N T N JĘZYK ZAPYTAŃ I STRUKTURA BAZY DANYCH Obsługiwane standardy SQL SQL92 SQL92 SQL89 SQL92 SQL99 SQL99 MoŜliwość podglądania schematu danych zgodnie ze specyfikacją SQL92 N T N T N ZagnieŜdŜone pętle/haszowanie/łączenie pionowe i poziome T/T/T T/T/T T/N/T T/T/T T/N/T Lewostronne/prawostronne/obustronne łączenie zewnętrzne T/T/T T/T/T T/T/N T/T/T T/T/T Importowanie/eksportowanie danych z formatu XML T/T T/T N/N T/T T/T
Wybór systemu baz danych jako element jakości systemu... 481 Zapytania do danych XML przy uŝyciu składni SQL/XML T/T T/N N/N T/T T/T OLAP: analizy wielowymiarowe/ grupowanie/ średnie ruchome T/T/T T/T/T N/N/N T/T/T N/T/T Źródło: Opracowanie własne na podstawie [Dyck02] Kryteria wyboru systemu baz danych Systemy baz danych analizowano m.in. pod kątem środowiska pracy, skalowalności, ceny, moŝliwości graficznych, bezpieczeństwa danych, mechanizmów tworzenia i przywracania kopii bezpieczeństwa, integracji z technologiami internetowymi, jakości dokumentacji, moŝliwości serwera bazy danych, zarządzania pamięcią, pewności działania, obsługi multimediów, dostępności i funkcjonalności narzędzi programowania, obsługiwanych języków zapytań, struktury bazy danych, zdalnej administracji, wsparcia dla technologii hurtowni danych oraz technologii analizy danych na bieŝąco (OLAP). Analizie zostało poddanych pięć popularnych systemów baz danych: [Darg02], [Dyck02], [Dyck02a], [Gamb02], [Sare02] IBM DB2 Universal Database 7.2, Microsoft SQL Server 2000 SP2, Open-Source MySQL 4.0, Oracle9i Database, Sybase Adaptive Server Enterprise 12.5. Tabela 1. zawiera szczegółowe zestawienie cech oraz funkcji oferowanych przez poszczególne systemy baz danych. W tej kategorii niewątpliwym zwycięzcą jest Oracle9i, niewiele wyprzedzając IBM DB2. Dalej są SQL Server oraz SybaseASE. W tej kategorii najgorzej wypadł MySQL 4.0, oferując najuboŝszy zestaw funkcji. Rys. 2. przedstawia wykres eksponujący słabe i silne strony analizowanych pakietów pod kątem potrzeb uŝytkownika. Ogólna ocena systemu baz danych wymaga przeanalizowania wymagań stawianych systemom baz danych, zaleŝy więc od subiektywnych preferencji uŝytkowników. Na Rys. 3 przedstawiono wyniki testów wydajnościowych analizowanych systemów baz danych. W tej kategorii liderem ponownie jest Oracle9i, niewiele wyprzedzając MySQL 4.0. [TPC03]
482 Realizacja SWO i rozwiązania praktyczne w SWO Rys.2. Mocne i słabe strony systemów baz danych Źródło: AMR Research 2001 Rys.3. Wydajność oraz czas odpowiedzi na zapytanie w zaleŝności od liczby uŝytkowników Źródło: [Ganb02] Testowane systemy baz danych, za wyjątkiem Microsoft SQL Server (współpracującego wyłącznie z Windows), mogą pracować pod kontrolą systemów operacyjnych: Linux, UNIX (większość odmian - AIX, Tru64, HPUX, Solaris), Microsoft Windows Server. IBM DB2 oferuje ponadto wsparcie dla AS/400, OS/2, OS/390; Oracle9i dla Novell NetWare, a Sybase Adaptive Server dla Silicon Graphic IRIX. Pod względem kosztów zakupu licencji konkurentów dystansuje MySQL, oferowany jako darmowy pakiet open-source (koszt polisy serwisowej to 200 dolarów). NajdroŜszym pakietem jest Oracle9i jego cena wynosi 40 tys. dolarów za procesor lub 800 dolarów za zarejestrowanego uŝytkownika. IBM DB2 oraz SQL Server kosztują ok. 20 tys. dolarów za instalacje na jeden procesor, a Sybase Adaptive Server ok. 4 tys. dolarów za serwer. Administracja większością omawianych pakietów odbywa się przy uŝyciu interfejsu graficznego, jedynie MySQL oferuje wyłącznie narzędzia w trybie tekstowym. Wykorzystanie kreatorów znacznie ułatwia m.in. zakładanie bazy da-
Wybór systemu baz danych jako element jakości systemu... 483 nych, zarządzanie tabelami, import/export danych z róŝnych źródeł, sieciowy dostęp do zdalnych baz danych. Rozbudowane narzędzia wspomagają zarządzanie bazą danych, zakładanie serwera bazy danych, tworzenie i zarządzanie wieloma bazami danych, indeksami, dyskami, uŝytkownikami, utworzonymi procedurami, połączeniami replikacyjnymi, itp.. Narzędzia graficzne ułatwiają ponadto publikacje w Internecie, tworzenie kopii bezpieczeństwa oraz ewentualne przywracanie danych. Narzędzia graficzne umoŝliwiają przeglądanie i edycję zawartości tablic baz danych, podgląd wyników zapytań SQL, tworzenie diagramów bazy danych, zmianę schematu tabel, przedstawianie statystyk pracy serwera bazy danych (brak w SQL Server), przedstawianie wyników zapytań. Pakiety posiadają wbudowany system podpowiedzi dla pojedynczych komend SQL oraz dla całego serwera, obliczanie wyników wstępnych w postaci tabel, opartych na wcześniejszych wystąpieniach zapytań, narzędzia analizy obciąŝenia serwera w czasie. Systemy baz danych pozwalają na przeglądanie aktualnie wykonywanych zapytań SQL, wykrywanie zapytań wysoce obciąŝających zasoby komputera oraz ich ewentualne usuwanie, anulowanie wybranych poleceń SQL, rozsyłanie wiadomości do zalogowanych uŝytkowników bazy. Bardzo przydatne są narzędzia do reorganizacji fizycznej struktury bazy danych oraz narzędzia wykrywania oraz automatycznego usuwania przyczyn usterek w celu zapewnienia ciągłości działania bazy danych. Wyniki testu Niekwestionowanym liderem wśród systemów baz danych jest niewątpliwie Oracle9i. Oferuje wsparcie najnowszych technologii z zakresu baz danych, dystansuje przeciwników pod względem szybkości działania, bezpieczeństwa danych, funkcjonalności, łatwości administracji, zestawu narzędzi dodatkowych, jakości dokumentacji i wsparcia technicznego, a takŝe w innych obszarach. Stanowi rozbudowaną platformę programowo-bazodanową, idealną dla większości zastosowań biznesowych. Mankamentem Oracle9i jest jednak wysoka cena, zarówno licencji podstawowej, jak i modułów dodatkowych.[dyck02], [Dare02] Pod względem szybkości, pewności działania oraz kosztów, niewątpliwym liderem jest MySQL. Darmowa licencja typu opensource oraz jednorazowa opłata w wysokości 200 USD za wsparcie techniczne dystansuje pozostałe pakiety. Pod względem szybkości działania w testach, niewiele ustępował pakietowi Oracle9i. Główną wadą MySQL jest brak interfejsu oraz narzędzi graficznych do zarządzania bazą danych, jednakŝe istnieje moŝliwość instalacji modułów dodatkowych typu opensource (np MySQLManager, WinMySQL Admin), rekompensujących niniejsze braki. Konfiguracja MySQL-a opiera się na ręcznej edycji plików tekstowych, a administrowanie bazą danych odbywa się za pomocą ręcznie wpisywanych poleceń w linii komend oraz skryptów. Pomimo uciąŝ-
484 Realizacja SWO i rozwiązania praktyczne w SWO liwości takiego rozwiązania, nie ma w zasadzie ograniczeń, co do kształtu i zło- Ŝoności poleceń. Importowanie oraz eksportowanie danych równieŝ nie nastręcza Ŝadnych problemów. Pakiet wyposaŝony jest w większość niezbędnych funkcji, nie oferuje jednak wsparcia najnowszych technologii, takich jak XML, OLAP, Java. Ponadto w czystym MySQL-u nie ma obsługi transakcji. Ogromną zaletą MySQL-a jest ponadto skalowalność, duŝa elastyczność oraz wysoka jakość dokumentacji i wsparcia technicznego. [Dyck02] Bazy danych firmy IBM od zawsze słynęły z niezawodności i szybkości działania, natomiast trudność sprawiała ich obsługa. DB2 Universal Database 7.2 zaskakuje łatwością obsługi, wsparciem większości najnowszych technologii bazodanowych oraz kompleksowością rozwiązań z zakresu administracji bazą danych. Spośród komercyjnych systemów baz danych, DB2 jest niewątpliwie najsilniejszym konkurentem dla Oracle9i. [Dyck02] Pod względem łatwości i intuicyjności uŝycia Microsoft SQL Server nie ma sobie równych. System baz danych, oparty włącznie na platformie MsWindows, przejął po niej wszystkie zalety, ale równieŝ i wady. Pod względem szybkości działania pozostaje niestety a szarym końcu. Dyskusyjna jest równieŝ kwestia jego stabilności i pewności działania. [Dyck02] Ciekawym rozwiązaniem do zastosowań biznesowych jest Sybase Adaptive Server Enterprise 12.5. Analizujące ten system od kątem funkcjonalności, ceny, pewności działania oraz wspierania nowych technologii, stanowi silną konkurencję. MoŜliwość łączenia SybaseASE z innymi systemami baz danych sprawiło, iŝ znalazł zastosowanie w branŝy finansowej. Mankamentem SybaseASE jest gorsza, w porównaniu do konkurentów, jakość narzędzi administracyjnych oraz niska wydajność. [Dyck02] Podsumowanie Wybór właściwego systemu baz danych, a mianowicie spełniającego wymagania potencjalnych uŝytkowników, jest trudny, gdyŝ wymaga niejednokrotnie pogodzenia wielu przeciwstawnych postulatów. Twórcy oprogramowania muszą zwracać więc szczególną uwagę na proces wyboru bazy danych, gdyŝ od niego w duŝym stopniu zaleŝy jakość całego systemu informatycznego. WyróŜnić moŝna szereg kryteriów, którymi moŝna kierować się podczas tego procesu, jednak kryterium nadrzędnym jest spełnienie wymagań klienta. Literatura [Darg02] Dargan R. V.: Oracle9i Database. PcMagazine, March 2002. [Dyck02] Dyck T.: Clash of the Titans: SQL Databases. PcMagazine, March 2002. [Dyck02a] Dyck T.: Server Databases Clash. eweek, February 2002.
Wybór systemu baz danych jako element jakości systemu... 485 [Gamb02] [DBMS03] [Sare02] [Shel99] [TPC03] Gambhir S.: Performance Tests: The Big SQL Shootout. PcMagazine, March 2002. http://www.dbmsmag.com Sarrel M. D.: Inside PC Labs: Crossing the Nile. PcMagazine, March 2002. Sheldon T.: Encyclopedia of Networking. Electronic Edition, McGraw-Hill, 1999. http://www.tpc.org SELECTION OF A DATABASE SYSTEM AS AN ELEMENT OF A QUALITY IN THE COMPUTER AIDED MANAGEMENT SYSTEMS The purpose of the article is to present features of the Database Systems, influencing a general level of the quality of the computer supported management systems. There were five popular Database Systems analyzed. The judgment was based on several criteria, important to both computer systems creators and potential users. Key words: Database, DBMS, quality, computer management system, SQL.