Coraz większe systemy

Współczesne aplikacje w biznesie są oparte na wykorzystaniu najnowszych technologii zarządzania bazami danych w celu wykonania mieszanki prac związanych z przetwarzaniem transakcji on-line, przetwarzaniem wsadowym i wspomaganiem podejmowania decyzji. Realizowanie tych zadań w przedsiębiorstwach wymaga systemu zarządzania bazami danych o dużych, skalowalnych wraz ze wzrostem potrzeb możliwościach.

Współczesne aplikacje w biznesie są oparte na wykorzystaniu najnowszych technologii zarządzania bazami danych w celu wykonania mieszanki prac związanych z przetwarzaniem transakcji on-line, przetwarzaniem wsadowym i wspomaganiem podejmowania decyzji. Realizowanie tych zadań w przedsiębiorstwach wymaga systemu zarządzania bazami danych o dużych, skalowalnych wraz ze wzrostem potrzeb możliwościach.

Ogłoszony 31 grudnia 1994 r. przez firmę Informix nowy, skalowalny serwer baz danych Informix OnLine Server 7.1 stanowi szczytowe osiągnięcie firmy w zakresie zarządzania dużymi bazami danych. Jest przystosowany do współpracy zarówno z jednoprocesorowymi platformami sprzętowymi Unix, z systemami z przetwarzaniem symetrycznym SMP, jak również z systemami masowo równoległymi MPP.

Wielowątkowa architektura

W typowym serwerze baz danych w celu obsługi zapytania klienta tworzy się oddzielny proces unixowy. Wnosi to stosunkowo duży narzut systemowy (obsługę procesów realizuje system operacyjny). W aplikacjach i systemach wielowątkowych, sama aplikacja (w tym wypadku serwer bazy danych) tworzy nowe wątki do obsługi zapytań klienta, zajmuje się ich wykonywaniem i ustawianiem w kolejce. Pozwala to na ich wykonywanie szybciej niż w wypadku oddzielnych procesów. Architektura wielowątkowa serwera zapewnia więc współpracę z wieloma aplikacjami jednocześnie: każda z aplikacji może korzystać z oddzielnego wątku.

Procesory wirtualne

Efektywną pracę w systemach wieloprocesorowych zapewnić może jedynie skuteczna obsługa wielu procesorów. W celu uniezależnienia działania systemu od liczby procesorów fizycznych serwer Informix OnLine tworzy tzw. procesory wirtualne, które mogą być identyfikowane z procesorami fizycznymi w systemach SMP i MPP, ale mogą także odpowiadać jedynie jednostkom logicznym w systemie jednoprocesorowym.

Ta właściwość nosi nazwę dynamicznej skalowalności, umożliwiającej tworzenie potrzebnej liczby wirtualnych procesorów, praktycznie niezależnej od liczby procesorów fizycznych w komputerze. Poszczególne wątki systemu są wykonywane na oddzielnych procesorach wirtualnych. Umożliwia to także wykorzystanie szybkiego przełączania wątków między procesorami fizycznymi, jeśli w komputer wbudowano specjalne udogodnienia sprzętowe.

Sterowanie zasobami komputera

Podobnie jak poprzednie wersje, w tym dostępne w Polsce Informix OnLine 5 i 6, OnLine Server 7.1 w zakresie dostępu i obsługi dysków korzysta jedynie z funkcji systemowych najniższego poziomu, praktycznie przejmując sterowanie dyskiem.

Cała pamięć systemu komputerowego jest także wykorzystana wspólnie przez wszystkie aktywne procesory wirtualne. W pamięci przechowywane są zarówno wspólnie wykorzystywane dane, jak stos roboczy dla wszystkich wątków. W serwer wbudowano (niezależny od systemu operacyjnego) mechanizm obsługi defragmentacji tej pamięci.

Równoległe zapytania

Wspomniane mechanizmy serwera bazy danych Informix OnLine pozwalają na wykorzystanie wielu procesorów wirtualnych (i fizycznych) w celu równoległego realizowania operacji na bazie i zapytań. Zwiększa to szybkość ich wykonywania zwłaszcza w wypadku operacji indeksowania, sortowania, przeglądania dużych masywów danych, łączenia tabel i tworzenia agregacji (łączenie za pomocą operatorów GROUP BY, SUM, Average, MIN i in.). Równoległe wykonanie operacji jest możliwe jednak tylko w tym wypadku, gdy daje się ona podzielić na niezależne procesy.

Partycjonowanie tabel

Polega na podzieleniu dużych tabel na kilka dysków, obsługiwanych niezależnie. Dzięki temu rośnie szybkość odczytu, gdy potrzeba udostępnić różne rekordy tej samej tabeli. Rośnie także bezpieczeństwo danych. Tabele można dzielić na dyski zarówno w poziomie (różne rekordy na różnych dyskach), jak i w pionie (różne kolumny na różnych dyskach).

Przy korzystaniu z lustrzanej kopii bazy na dysku (RAID 0), serwer przyspiesza operacje odczytu wykonując je jednocześnie z bazy i jej kopii.

Wyposażenie dodatkowe

Informix OnLine Server 7.1 dostarczany jest z obszerną gamą narzędzi do administrowania bazą, wykonywania archiwalnej kopii bazy na jedną lub wiele stacji taśmy magnetycznej i ich kopii archiwalnych oraz odzyskiwanie danych z kopii w razie awarii systemu. Operacje te można wykonywać w zadanym momencie, na poziomie całej bazy lub poszczególnych tabel.

Wsparcie języków narodowych

Jeżeli używany system Unix jest wyposażony w rozszerzenie do obsługi języka narodowego (w szczególności ma zdefiniowaną sekwencję znaków do sortowania), zgodne ze specyfikacją NLS (native language support) X/Open XPG3, to Informix OnLine wykorzystuje je automatycznie do wykonywania operacji na bazie.

Tytułem komentarza

Informix OnLine Server 7.1 jest przykładem systemu zarządzania bazami danych przeznaczonego do realizowania dużych projektów informatycznych. Do uruchomienia samego serwera na komputerze Unix potrzeba 3,6 MB pamięci RAM; wspólna pamięć na bufor danych zajmuje co najmniej 1 MB i nie więcej niż 1 GB! Aby uruchomić ten serwer trzeba dysponować komputerem z pamięcią RAM co najmniej 64 MB.

Informix OnLine Server 7.1 nie nadaje się więc dla niewielkich zespołów programistów. Koszt całego systemu jest wysoki, a nie wiadomo czy opracowywaną za jego pomocą aplikację uda się korzystnie sprzedać.

To samo dotyczy małych firm, które zapewne będą gotowe uruchomić niewielką aplikację na tanim komputerze z Pentium, pod warunkiem, że nie będą musiały kupować serwera bazy danych "na wyrost". Informix nie oferuje tańszych wersji o takich samych lub zbliżonych właściwościach, ale przeznaczonych dla grup roboczych, małych firm czy nawet indywidualnego programisty.

Największy konkurent Informixa, czyli Oracle doszedł do wniosku, że nie można zaniedbywać rynku małych i średnich firm i oferuje, mniejsze wersje swego sztandarowego serwera baz danych Oracle 7.1 dla indywidualnego użytkownika (Personal Oracle), dla małej grupy 5 użytkowników (Oracle WorkGroup Server) oraz większej grupy roboczej lub małego przedsiębiorstwa - do 25 użytkowników (Oracle WorkGroup Enterprise Server).

Jeżeli więc nawet Informix OnLine wykazuje dobre parametry jeśli chodzi o szybkość i ma obszerne możliwości funkcjonalne obsługi dużych baz danych, to jednak nie będzie cieszył się powodzeniem na szerokim rynku małych i średnich firm. A to właśnie na tym rynku najwięcej pieniędzy zarabiają firmy, takie jak Microsoft czy Borland oferując Access 2 i FoxPro 2.6, Paradox czy dBase oraz Progress.


TOP 200