Bazy danych

Producenci systemów zarządzania relacyjnymi bazami danych (SZRBD) oferują produkty dla wszystkich sektorów tego rynku: dla największych przedsiębiorstw, mających ogromne bazy danych do obsługi, i dla rynku użytkownika indywidualnego, próbując jednocześnie zadowolić użytkownika określanego mianem departamentalnego (dla oddziału dużej firmy) -korzystającego ze stosunkowo niewielkich baz, ale często żądającego dużej szybkości działania.

Producenci systemów zarządzania relacyjnymi bazami danych (SZRBD) oferują produkty dla wszystkich sektorów tego rynku: dla największych przedsiębiorstw, mających ogromne bazy danych do obsługi, i dla rynku użytkownika indywidualnego, próbując jednocześnie zadowolić użytkownika określanego mianem departamentalnego (dla oddziału dużej firmy) -korzystającego ze stosunkowo niewielkich baz, ale często żądającego dużej szybkości działania.

Z jednego końca tego spektrum oferty dąży się do osiągnięcia największej wydajności bazy, korzystając ze sprzętu o symetrycznym przetwarzaniu równoległym SMP i komputerów masowo równoległych MPP. Firmy takie jak AT&T Global Information Solutions, Informix, IBM, Oracle i Sybase wprowadzają na rynek produkty działające na sprzęcie SMP i MPP w celu uzyskania największej wydajności w przetwarzaniu transakcyjnym oraz obsłudze hurtowni danych (data warehouse).

Jednocześnie kilku z tych wielkich producentów - CA, Oracle, Sybase i Informix - ma ofertę dla drugiego krańca rynku, proponując produkty konkurujące bezpośrednio z personalnymi bazami danych Borlanda (dBase i Paradox) i Microsoft (Access i FoxPro). Te produkty - przeznaczone dla małych grup roboczych i indywidualnych użytkowników - umożliwiają korzystanie z danych w bazie lokalnej i z danych w dużych bazach, obsługiwanych przez kompatybilne systemy, bez potrzeby zajmowania się problemami synchronizacji, zgodności typów danych itp.

W środku rynku aktywność jest wyraźnie mniejsza. Producenci zwiększają funkcjonalność produktów przez wspieranie nowych typów danych (w tym definiowanych przez użytkownika) i dodają możliwości replikacji bazy do swoich produktów przeznaczonych dla użytkowników departamentalnych.

Replikacja pozwala na pracę z kopiami danych na lokalnym serwerze, zwiększając szybkość dostępu. Wsparcie nowych typów danych umożliwia przechowywanie danych tekstowych, graficznych, dźwięku, map, wideo i in.

Trzy czynniki mają największy wpływ na wybór systemu zarządzania bazami danych: typ danych i aplikacji oraz wymagana wydajność.

Wybór systemu zarządzania bazami danych nie jest łatwy, ale pewne wskazówki związane z rozmiarem obsługiwanej bazy mogą go ułatwić.

Produkty przeznaczone dla przedsiębiorstwa nadają się dla 100 lub więcej użytkowników i mogą obsługiwać bazy co najmniej 20 GB na jeden komputer SMP lub MPP.

Produkty departamentalne nadają się dla 20-100 użytkowników i mogą obsługiwać bazy między 1 a 20 GB na jeden komputer jednoprocesorowy lub SMP.

Systemy obsługi baz danych dla przedsiębiorstwa i departamentów przeznaczone są do aplikacji przetwarzania transakcyjnego i wspierania decyzji.

Na poziomie grupy roboczej system obsługi bazy danych powinien obsługiwać do 20 użytkowników i bazę do 1 GB na pojedynczym komputerze. Ponadto na takim serwerze można uruchamiać aplikacje pozwalające na wspólne korzystanie z danych w bazie.

Bazy personalne, które pojawiły się ostatnio obsługują bazę do 500 MB dla potrzeb indywidualnego użytkownika i mogą działać na komputerze stołowym PC lub notebooku. Baza w notebooku zwykle będzie zawierać kopię danych z większej bazy w firmie.

Równoległe bazy danych

W ciągu ostatniego roku pojawiło się kilka systemów zarządzania bazami danych, działających na równoległych systemach komputerowych SMP i MPP. Informix i Oracle mają produkty działające na komputerach SMP Sequent Symmetry 2000 i Symmetry 5000. AT&T GIS, Oracle i Sybase oferują produkty działające na tak potężnych platformach sprzętowych jak komputery MPP produkcji AT&T GIS 3600. IBM i Oracle oferują serwery baz danych dla masowo równoległego komputera IBM RS/6000 SP (dawniej SP2). Informix swój najnowszy serwer baz danych Informix OnLine XPS 8.0 proponuje na platformach IBM RS/6000 SP, ICL Goldrush, AT&T i Pyramid (filia Siemens Nixdorf) RM10000. Tandem Computers swój system baz danych oferuje na własnym komputerze MPP Himalaya.

Systemy SZRBD, które w pełni wykorzystują możliwości architektur wieloprocesorowych, pozwalają na uruchamianie aplikacji o dużej wydajności, dla dużej liczby użytkowników, korzystających z dużych baz danych i o dużej szybkości.

Aby wykorzystać możliwości komputera SMP lub MPP, system zarządzania bazami danych musi móc prowadzić równolegle zapytania lub wykonywać równolegle transakcje. Równoległe wykonywanie zapytań jest korzystne przy aplikacjach wspierania decyzji, wymagających przetwarzania skomplikowanych zapytań. Równoległe wykonywanie transakcji zwiększa wydajność przetwarzania transakcyjnego on-line.

Przetwarzanie równoległe ma na celu zmniejszenie czasu odpowiedzi na zapytanie. Każde zapytanie jest rozkładane na wiele mniejszych zadań, przekazywanych do wykonania poszczególnym procesorom. Weźmy najprostszy przykład zapytania wymagającego przejrzenia całego dużego pliku danych. SZRBD rozdziela to zapytanie na ciąg mniejszych zapytań, w którym każdy z procesorów ma dostęp do części pliku. W efekcie plik będzie przeszukany szybciej, niż gdyby przeszukiwał go jeden procesor.

Jednakże przetwarzanie równoległe na ogół nie da się sprowadzić do tak prymitywnej operacji jak przeglądanie całej bazy. Skomplikowane zapytania wymagają dostępu do wielu tabel, łączenia wyników i sortowania. Im więcej tych operacji da się wykonywać równolegle, tym większa wydajność bazy.

Produceni SZRBD rzadko wykonują równolegle wszystkie operacje na bazie. Przed podjęciem decyzji o zakupie należy upewnić się, czy operacje potrzebne w naszej aplikacji są wykonywane równolegle.

Równoległe przetwarzanie transakcji polega na przekazywaniu całych transakcji do kolejnego wolnego procesora i wykonywaniu ich niezależnie od pozostałych transakcji. Większość SZRBD działających na komputerach SMP z systemem operacyjnym wielowątkowym lub wieloprocesowym (nie ma tej możliwości DOS ani Windows) ma - przez domniemanie - możliwość równoległego wykonywania transakcji. Efektywne rozdzielanie transakcji można usprawnić przez stosowanie monitora transakcji (Top End AT&T, Tuxedo Novella, CICS IBM-a czy Encina firmy Transarc).

Przyspieszenie wykonywania operacji na komputerach SMP nie jest zbyt duże, gdyż wspólne korzystanie z pamięci przez wszystkie procesory powoduje jej szybkie przeciążenie i spadek wydajności po przekroczeniu kilkunastu do 30 procesorów. W konstrukcjach MPP każdy procesor ma własną pamięć i ograniczenie to nie obowiązuje. Zwiększanie liczby procesorów zawsze powoduje prawie liniowy wzrost wydajności. Dostępne są już komputery z 500 i więcej procesorami.

Zwiększona wydajność komputera MPP przy zwiększaniu liczby procesorów ma jednak swoją cenę: na każdym procesorze trzeba uruchomić własną kopię systemu operacyjnego i kopię systemu zarządzania bazami danych oraz konieczne jest korzystanie ze specjalnego programu (Distributed Lock Manager - DLM), służącego do utrzymywania aktualności i zgodności danych w pamięciach podręcznych (cache) poszczególnych procesorów.

Pierwszym SZRBD, który korzystał z DLM był system Oracle 6. Odkrycie jego ograniczeń zaowocowało opracowaniem nowego DLM dla Oracle 7, który może korzystać z rozwiązań sprzętowych dla lepszego zarządzania blokowaniem i synchronizacją danych w poszczególnych procesorach. Niektórzy producenci sprzętu MPP oferują opracowane przez siebie programy DLM, dostosowane do współpracy z konkretnym systemem zarządzania bazami danych. Przykładowo IBM Parallel Transaction Server, używany przez system IBM DB/2 wersja 4 dla systemu MVS, korzysta ze specjalnych udogodnień sprzętowych.

Wprawdzie systemy SMP i MPP przyspieszają wykonywanie zapytań, to jednak nie mają wpływu na szybkość przekazywania zapytań oraz danych przez sieć komputerową w aplikacjach klient/serwer. Przesyłanie przez sieć kompletnych skomplikowanych zapytań może dać nieakceptowalną wydajność. Jedną z metod zaradzenia temu problemowi jest obsługa procedur zapamiętanych w serwerze bazy danych. Stacja klienta - zamiast przesyłać pełne zapytanie - przesyła jedynie wywołanie zapamiętanej procedury, co zmniejsza obciążenie sieci.

Jeżeli jednak aplikacja ma charakter trójpoziomowy (serwer bazy, współpracujący z nim serwer aplikacji i stacje klienta), to zapamiętane procedury nie dają spodziewanych korzyści, gdyż ich operacje przejmuje teraz specjalny serwer aplikacji. Także w przypadku korzystania z różnych serwerów baz danych na ogół nie daje się uruchamiać zapamiętanych procedur.

System dla średniaka

Jeżeli nie potrzebujemy wysoko wydajnego systemu zarządzania bazami danych na komputerach SMP lub MPP, a nie zadowala nas to co oferują bazy na biurko (dBAse, Paradox, FoxPro, Access czy Approach), to trzeba rozejrzeć się za systemem zwanym umownie departamentalnym. W ciągu ostatniego roku nie uległy one nagłym zmianom.

Zwykle jest to system działający na jednoprocesorowym komputerze, współpracujący ze stacjami roboczymi z Windows. Aplikacje z Windows przesyłają przez sieć zapytania SQL i ich wyniki (dane). Jeżeli zachodzi potrzeba zmniejszenia obciążenia sieci, dobrze by było, gdyby SZRBD obsługiwał zapamiętane procedury.

W zakresie systemów zarządzania bazami danych dla oddziałów firm liderami są Oracle ze swym systemem Oracle7, Informix ze swym Informix OnLine Dynamic Server i Sybase SQL Server. Jest nadzieja, że po okresie perturbacji w przejęciu firmy ASK Group przez Computer Associates - system OpenIngres odzyska popularność wśród użytkowników.

Inny produkt, o którym już się mówi, to IBM-owski system DB2/2 dla OS/2 i DB2 dla Unixa wersja 2.0. Nowe wersje właśnie wprowadzono na rynek i uzyskały wiele ulepszeń, zwłaszcza w zakresie możliwości klient/serwer. IBM zamierza także wprowadzić DB2 wersja 2 dla Windows NT.

Jednakże wydaje się, że największy wpływ na ten segment rynku będzie miała firma Microsoft. System Windows NT zyskuje coraz większe uznanie jako platforma aplikacyjna, dzięki ścisłej integracji Microsoft SQL Server 6.0 z systemem NT.

Microsoft SQL Server 6.0 jest jednym z wielu systemów zarządzania bazami danych dla oddziałów firm, wyposażonym w możliwości replikacji danych, pozwalające na automatyczne przenoszenie danych między serwerami.

Mimo że często wszystkie możliwości replikacji umieszcza się w jednej kategorii, replikacja istnieje w różnych realizacjach przystosowanych do spełniania trzech głównych funkcji: kopiowania danych między różnymi aplikacjami operacyjnymi, spełniającymi różne zadania; kopiowania danych z aplikacji operacyjnej do systemu informacyjnego przeznaczonego do wspomagania podejmowania decyzji i dogłębnej analizy danych oraz kopiowania danych między różnymi systemami informacyjnymi. Obecne systemy replikacji nadają się do realizowania dwóch pierwszych funkcji.

Przy kopiowaniu danych między różnymi aplikacjami operacyjnymi na ogół nie ma potrzeby czyszczenia i reformatowania danych, ponieważ każdy z systemów używa tych samych formatów danych. Zamiast tego zajmujemy się udostępnianiem danych na różnych serwerach i możliwie szybkim przenoszeniem danych do systemu docelowego, aby zapewnić synchroniczność i aktualność kopii. W takim przypadku replikator powinien móc kopiować dane między równorzędnymi serwerami w sieci.

Tę technikę zapoczątkowano w CA OpenIngres, wprowadzając detekcję i rozstrzyganie konfliktów w przypadku, gdy mogła nastąpić utrata danych, jeśli nie wszystkie lokalizacje danych miały aktualne kopie danych replikowanych asynchronicznie.

Podobne właściwości wprowadził ostatnio Oracle i firma Praxis, produkująca narzędzia do obsługi baz danych na mainframe'ach. Z pewnością inni producenci pójdą w tym kierunku. Jednakże taka replikacja między równorzędnymi serwerami wymaga sporego doświadczenia od użytkowników i dobrego zaprojektowania aplikacji w celu zapewnienia synchronizmu danych.

Przy replikowaniu danych z aplikacji operacyjnej do systemu informacyjnego nacisk kładzie się nie tyle na przenoszenie aktualnej kopii danych, co na zadany przez użytkownika okres. Na ogół wymaga się także wyczyszczenia i zreformatowania danych w celu ich użycia do wspierania decyzji czy analizy.

Większość narzędzi do replikacji ma niewielkie możliwości czyszczenia i reformatowania danych. Ponadto są one ograniczone do kopiowania danych między systemami relacyjnymi, co uniemożliwia ich użycie do sięgania po dane z aplikacji operacyjnych opartych na systemach plikowych (nierelacyjnych).

Większość danych przechowywanych w bazach relacyjnych, to liczby i dane tekstowe. Obecnie obserwuje się rosnącą potrzebę zapisywania bardziej złożonych danych. Realizuje się to przy użyciu typu danych znanego pod nazwą duże obiekty binarne (Binary Large OBjects - BLOB). Każdy taki obiekt może mieć objętość do 2 GB, niezależnie od tego co zawiera. BLOB nadaje się więc do pamiętania danych wizyjnych, grafiki, obrazów itp.

Złożone aplikacje multimedialne wymagają definiowania przez użytkownika nowych typów danych i funkcji działających na nich. Jednym z pierwszych produktów dopuszczających definiowanie typów danych był system CA-OpenIngres. Podobne właściwości wprowadził ostatnio IBM we wspomnianej już wersji 2.0 swoich systemów zarządzania bazami danych DB2 dla OS/2 i Unixa. Mają te możliwości także niektóre nowe tzw. "postrelacyjne" systemy baz danych.

Producenci systemów zarządzania bazami danych przywiązują także sporą wagę do produktów obsługi systemów podejmowania decyzji i dogłębnej analizy danych. Zwykle te operacje realizuje się w specjalnym systemie zwanym popularnie hurtownie danych (data warehouse). Hurtownia zawiera zbiorcze dane historyczne o działalności firmy, pozwalające na uzyskiwanie informacji trudno dostępnych z aplikacji operacyjnych. Jednakże sam system zarządzania danymi przeniesionymi z aplikacji operacyjnych do hurtowni, to jedynie niewielka część narzędzi niezbędnych do prowadzenia złożonych analiz, skomplikowanych zapytań do bazy czy badania trendów.

Większość firm startuje z centralną hurtownią zarządzaną przez taki sam system zarządzania bazami danych, jak aplikacje operacyjne stosowane w firmie. Po pewnym czasie i zdobyciu doświadczenia w posługiwaniu się hurtownią zwykle okazuje się wskazane, choćby ze względu na szybkość przetwarzania, tworzenie lokalnych małych hurtowni (podręczny magazynek danych) w oddziałach firmy, zawierających jedynie dane istotne dla oddziału, dostępnych dla wielu użytkowników z ich PC.

Rozmiar bazy w hurtowni zależy od liczby czasowych wycinków zmagazynowanych do celów analizy, dogłębności tych danych (tylko dane zbiorcze czy także dane operacyjne, z których uzyskano dane zbiorcze) oraz od złożoności przewidywanych analiz. Często prowadzi to do bardzo wielkich baz danych w hurtowni i wymaga dużej mocy obliczeniowej do prowadzenia analiz.

Z tego powodu system do obsługi hurtowni musi m.in. zapewniać szybkie ładowanie dużych masywów danych, szybkie indeksowanie, archiwizowanie i odzyskiwanie zawartości oraz reorganizację bazy.

Najmniejsze systemy baz danych

W ciągu ostatnich kilku miesięcy wielu producentów dużych baz danych zdecydowało konkurować bezpośrednio na rynku małych systemów z produktami na biurko, takimi jak dBase, Paradox, Access czy FoxPro. Oracle wprowadził na rynek Personal Oracle7 i Oracle7 Workgroup Server. IBM wprowadził na rynek DB2 dla OS/2, wersja 2.0. Sybase wykupił firmę Watcom z jej serwerem Watcom SQL i zamierza go uczynić zgodnym ze swym głównym serwerem baz danych Sybase SQL Server. CA oznajmił, że zamierza wprowadzić na rynek CA-OpenIngres Desktop, zawierający technologie uzyskane w ramach licencji od firmy Gupta.

Istnieje kilka powodów tej aktywności. Pierwszy to taki, że użytkownicy w ruchu potrzebują sięgać do zasobów firmy zdalnie za pomocą modemu. Korzystanie z takiego samego (lub w pełni zgodnego) systemu zarządzania daje im pełne możliwości dostępu do danych na swym notebooku i ich łatwe uaktualnianie przez modem. W tej dziedzinie jedynie Oracle dostarcza produkt o nazwie Oracle in Motion służący do obsługi pracowników w ruchu.

Drugim ważnym czynnikiem rozwoju małych systemów zarządzania bazami danych jest wzrost zapotrzebowania ze strony małych firm o mających w perspektywie duże szanse na rozwój. W przyszłości nie chcą one zmieniać systemu zarządzania i wolą opierać się na produktach firm, które dostarczają systemy zarządzania bazami danych dla wielu platform sprzętowych i systemów operacyjnych.

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

TOP 200