Bazy nowych generacji

Komputerowe magazyny danych i informacji

Co to są bazy danych? Jak można gromadzić dane na własny użytek? Co robić, gdy danych szybko przybywa? Zarządzanie danymi, różnorakie zastosowanie baz danych, podejmowanie decyzji na podstawie danych, a nie tylko intuicji. Co umożliwiają komputerowe bazy danych?
Każdy układa bazy danych na swój prywatny użytek. W kalendarzyku zapisuje się adresy i telefony znajomych, ale także dla pamięci różne zadania przy określonych datach. Wielu zapisuje swoje dochody i wydatki, aby móc je porównywać ze sobą. Uczniowie i studenci notują daty, fakty, wielkości liczbowe, definicje i kategorie, aby móc się przygotować do egzaminu, ale przecież mogą zajrzeć do podręcznika czy encyklopedii, gdzie wszystko to jest już zapisane i odpowiednio pogrupowane. A zatem podręczniki i encyklopedie to także bazy danych, tak jak książki telefoniczne, almanachy, słowniki, bibliografie, katalogi.
Współczesne techniki informatyczne pozwalają coraz szybciej i doskonalej magazynować tradycyjne bazy danych na różnych nośnikach elektronicznych, dyskach twardych i przenośnych, dyskietkach magnetycznych. Dziś już można szybko zapisać i poddawać obróbce gigantyczne ilości wszelkich informacji, jakich jeden człowiek nie jest w stanie przyswoić sobie po prostu z braku czasu. Np. na jednej popularnej i taniej płytce CD-ROM można zapisać 650 MB, czyli w przeliczeniu na strony znormalizowanego maszynopisu, która zawiera 1800 znaków, ok. 360 tys. stron. Gdyby przeliczyć to na kartkę typowej książki, na której się mieszczą 2-3 strony maszynopisu, wówczas na jednej płytce mieści się 100 tys. stron książek. Jeśli założyć, że typowy, a więc średnio gruby podręcznik ma ok. 500 stron, to na płytce CD dałoby się zapisać 200 takich podręczników. To już całkiem pokaźna biblioteka – albo, jak kto woli – baza danych.

Dane ściśnięte
jak w walizce

Oczywiście, nie wszystkie informacje, które chcielibyśmy zapisywać w komputerach, są w postaci tekstowej, w bazach danych mogą znajdować się także elementy graficzne czy dźwiękowe. Chociaż tutaj formy zapisu nie są już tak wydajne jak w przypadku tekstów, mimo to często posiadacze prywatnych baz danych kolekcjonują je, zapychając do ostateczności pamięć w swoich komputerach. Również zwykłe teksty zapisywane w komputerze mogą zawierać więcej miejsca, jeśli zechcemy je przechowywać wraz z informacjami o ich sformatowaniu czy strukturze, czyli np. w postaci plików MS Word. Dlatego też przyjęło się, że duże pliki zwykle kompresuje się, “pakuje, upychając kolanem” tak jak ubrania w walizce, przez co objętość takiego pliku zmniejsza się prawie trzykrotnie. Zaleca się archiwizowanie plików tekstowych w ich najprostszej postaci, np. w formacie ASCII, byle tylko dało się je po otwarciu odczytać.
Cała technologia organizacji zapisu, przechowywania, przetwarzania i udostępniania danych w postaci elektronicznej stała się dziś poważnym przedmiotem biznesu. Niektóre firmy, jak np. Oracle, wyspecjalizowały się w produkcji i sprzedaży oprogramowania do baz danych.

Pliki, czyli rekordy

W bazie danych, tak jak w domowym archiwum czy bibliotece, powinien panować jakiś porządek, aby można było potrzebne informacje wyszukać. Najprostszy jest, oczywiście, układ alfabetyczny, ale zdarzają się systemy porządkowania tematyczne albo np. w zależności od częstotliwości korzystania z nich – archiwum lub biblioteka podręczna i magazyn główny, do którego zagląda się dużo rzadziej.
Także w komputerowych bazach danych istnieją różne sposoby organizacji. Powiązane tematycznie dane są jednak zwykle grupowane w jednostki zwane rekordami i zapamiętywane w plikach; rekord odpowiada na ogół pewnemu konkretnemu opisywanemu obiektowi (osobie, rzeczy, pojęciu), pliki zaś grupują rekordy o podobnej strukturze.
Np. w prościutkiej bazie danych, jaką jest spis numerów telefonów, rekord jest po prostu informacją odpowiadającą danej osobie i składa się z dwóch pól, w jednym jest nazwisko, w drugim numer telefonu. Układ złożony z kilku numerów telefonów i odpowiadających im nazwisk abonentów przypomina tabelę. Taką bazę danych w tabeli można i trzeba uporządkować. Albo nazwiska układa się alfabetycznie, albo numery telefonów szereguje się od najniższego (zaczynającego się od cyfry 1) do najwyższego (zaczynającego się na 9). W tabeli stanowiącej spis telefonów zawarte są też dodatkowe dane (np. adresy abonentów, informacje o ich zawodach, miejscu pracy, numerze telefonu komórkowego). Wtedy tabela ma więcej niż dwa pola, a cała baza danych staje się coraz bardziej skomplikowana. Trzeba pamiętać, że posiadacz takiego spisu telefonów sam nieustannie komplikuje sytuację, bo dokonuje w nim różnych uzupełnień, kiedy np. jego znajomi zmieniają adres albo numer telefonu, wyjeżdżają za granicę, umierają itd.
Trzeba pamiętać, że sprawność operacji na danych maleje szybko ze wzrostem liczby rekordów oraz wielkości i liczby pól. Trudności sprawia też powiązanie ze sobą dwóch albo większej ilości zbiorów danych. W celu uporządkowania plików układa się je w katalogi, natomiast katalogi tworzyć mogą całe “drzewa”. Same katalogi plików, podobnie jak pliki, mogą być w bazie danych tworzone i usuwane w razie potrzeby.

Uporządkowany
magazyn

Komputerowy program bazy danych powinien spełniać kilka funkcji. Przede wszystkim musi na żądanie wyszukiwać potrzebne dane, np. tak jak w książce telefonicznej po wywołaniu litery “A” pokazuje wszystkich abonentów, których nazwiska zaczynają się na “A”. Po drugie, program bazy danych musi umożliwiać zmienianie danych, a więc dopisywanie nowych, modyfikację już istniejących oraz kasowanie niepotrzebnych. Samo wyszukiwanie w bazie danych jest procesem dość skomplikowanym, a niekiedy i długotrwałym. Jeśli np. w komputerowej, ogólnopolskiej książce telefonicznej będziemy szukać abonenta o nazwisku Kowalski, to proces tego wyszukiwania może trwać bardzo długo i przynieść mizerne rezultaty, bo program wyszuka setki tysięcy osób, które noszą to samo nazwisko. Dlatego też, szukając czegoś w bazie danych, należy już na samym wstępie ograniczyć przeszukiwanie do jak najmniejszej “gałęzi” drzewa katalogu, a więc podać, że nasz Kowalski ma na pierwsze imię Jan, na drugie Jerzy, mieszka we Wrocławiu, przy ulicy Długiej itd. Przy tak zawężonym poszukiwaniu komputer o wiele szybciej i sprawniej wyszuka nam żądany numer telefonu.
Dla przykładu najnowsza polska książka telefoniczna na CD-ROM-ie zawiera numery telefonów i adresy ponad 740 tys. firm z 16 nowych, czyli 49 starych województw.

Systemy zarządzania
bazami

Takie przykłady odnoszą się do małej bazy danych, stworzonej dla jednego użytkownika. Problem się komplikuje, jeśli weźmiemy bazę danych dla wielu użytkowników, np. pracowników dużego przedsiębiorstwa, które ma kilka zakładów, zajmuje się produkcją i sprzedażą swoich wyrobów, zatrudnia wiele osób na różnych szczeblach. Dostęp do takiej dużej bazy danych musi być zróżnicowany. Taka baza danych wymaga już specjalistycznego zarządzania – całego systemu zarządzania.
Programy tego typu należą do najbardziej skomplikowanych. Systemy baz danych są używane w fabrykach, bankach, szpitalach, urzędach itp., gdzie na co dzień korzysta się z wielu danych. Korzystanie z systemów zarządzania bazami danych staje się wtedy niezbędne, bo np. dane personalne o pracownikach większej firmy lub instytucji muszą być wykorzystywane równolegle zarówno przez dział kadr, dział płacowy, jak i dział socjalny. Część tych danych, np. o wysokości wynagrodzeń, może mieć charakter poufny, zatem dostęp do ich odczytywania, a tym bardziej ich zmieniania, musi być ściśle reglamentowany i udostępniany tylko kilku wybranym pracownikom. Jeśli w przedsiębiorstwie zacząłby działać haker komputerowy, to nie tylko zdobyłby wiedzę o płacach wszystkich pracowników, ale także mógłby nanosić poprawki, podwyższać lub obniżać pensje, premie, zasiłki sobie lub wybranym osobom. Przez tego typu nieszczelnością komputerowych baz danych trzeba się dokładnie zabezpieczyć.
Innym zagadnieniem, które wymaga systemu zarządzania bazami danych, są informacje z magazynu firmy, które muszą być nieustannie modyfikowane na podstawie raportów o sprzedaży i produkcji, uzupełniane na bieżąco i aktualizowane, tym bardziej że korzystać z nich będzie się również w działalności marketingowej i planowaniu akcji promocyjnych.
Zarządzanie bazami danych musi spełniać szereg warunków i wykonywać podstawowe operacje, jak tworzenie kont dla użytkowników danej bazy danych w zależności od ich kompetencji i usytuowania w hierarchii przedsiębiorstwa, definiowanie uprawnień dostępu dla wybranych grup pracowników, wreszcie nieustanne monitorowanie działania bazy danych, która nie może sobie pozwolić na awarie, nieumyślne kasowanie danych, blokowanie i zawieszanie się.

Oracle 9i

Jednym z czołowych, komercyjnych systemów relacyjnych baz danych jest system Oracle (najnowsza wersja 9i) stworzony przez Oracle Corporation. Na strukturę bazy danych Oracle składają się tzw. przestrzenie tabel, co umożliwia grupowanie danych o podobnej tematyce wykorzystywanych przez poszczególne aplikacje. Tabele te są następnie powiązane związkami tzw. relacji, co umożliwia tworzenie wielopoziomowych struktur danych, łatwych do przeszukiwania.
System Oracle 9i ma też szereg potrzebnych zabezpieczeń, strzegących danych, do których dostęp ma wiele osób i komórek w jakimś przedsiębiorstwie. System stosuje różne blokady, ale jednocześnie zapewnia klientowi wyłączność dostępu do modyfikowanych przez niego danych. Nie pozwala również, aby zmiany wprowadzane przez jednego klienta systemu wprowadzały błędy, np. przemieszczały się do danych udostępnianych innym klientom. System Oracle stosuje najczęściej blokady automatycznie, w sposób niewidoczny dla użytkownika, choć zdarzają się sytuacje, kiedy system jawnie deklaruje, że zakłada blokadę na określone działania użytkownika. Wszystko to, oczywiście, w trosce o funkcjonowanie bazy danych i całego przedsiębiorstwa.
Specjaliści uważają, iż bazy danych Oracle posiadają najbardziej wydajne rozwiązania, pozwalają na realizację właściwie wszystkich projektów i są idealne przy rozbudowaniu systemów obciążanych wielką ilością zapytań i transakcji. Bazy te jednak wymagają odpowiednio drogiego i wydajnego sprzętu komputerowego.
System Oracle posiada wiele specyficznych cech funkcjonalnych, które spowodowały, że jest to obecnie najchętniej instalowana baza w systemach biznesowych, jak również w portalach internetowych. Należą do nich:
– system archiwizowania i odtwarzania po awarii,
– możliwość zapewnienia ciągłej pracy (Parallel Server),
– replikacja (kopie zapasowe),
– wielodostęp i skalowalność,
– partycjonowanie, przydatne w obsłudze bardzo dużych baz danych,
– równoległe przetwarzanie zapytań – przyspiesza przeszukiwanie danych,
– obsługa danych multimedialnych (także audio i wideo),
– możliwość definiowania danych obiektowych (dowolna struktura i typy danych),
– pełna obsługa języka Java (funkcja niezbędna w zastosowaniach internetowych),
– wsparcie dla pracy w środowisku rozproszonym (w systemie o wielu serwerach),
– kontrola dostępu i kodowanie danych przesyłanych siecią.

Serwer szuka 3 sekundy

Jakie są efekty zastosowania oprogramowań Oracle w przedsiębiorstwie? Można to zilustrować, podając wyniki testu wykonanego w amerykańskim stanie Connecticut w 1995 roku. Chodziło o utworzenie 12-miesięcznego zestawienia porównawczego sprzedaży płatków Kellog’s w stosunku do wszystkich typów płatków śniadaniowych sprzedawanych w sklepach na terenie stanu. Aby otrzymać żądany wynik, należało każdorazowo przeszukać 170.000.000 rekordów, zaś utworzony zbiór danych zawierał 14.560 pozycji.
Pierwsza generacja wyników wykonana metodą tradycyjną trwała 1 godzinę, 1 minutę i 32 sekundy. Po zastosowaniu optymalizacji typu Star za pomocą serwera Oracle, który optymalizował kolejność wykonywania poszczególnych fragmentów instrukcji, aby zminimalizować czas przeszukiwania – ten sam wynik został osiągnięty w czasie 1 minuty i 11 sekund. Na końcu wykonano to samo zapytanie, również przy użyciu optymalizacji typu Star z włączoną dodatkowo opcją 64-bitowego przetwarzania – czas wyszukiwania zmniejszył się do 3 sekund.

 

Wydanie: 49/2000

Kategorie: Nowe Technologie

Napisz komentarz

Odpowiedz na treść artykułu lub innych komentarzy