Bazy danych - ewolucja, systemy zarządzania, wyzwania

Przyrost zasobów informacji posiada dziś zawrotne tempo. Bez odpowiednich systemów zarządzania dane byłyby bezużyteczne, w najlepszym razie korzystanie z nich byłoby niezwykle trudne. Bazy danych tworzą zatem ustrukturyzowane systemy informacji, wzajemnie ze sobą powiązanych w celu umożliwienia sprawnego korzystania z gromadzonych zbiorów.

Choć niekiedy bazą danych nazywa się każdy zorganizowany zbiór informacji, na ogół używając tego terminu rozumiemy wszelkie informacje z określonych przestrzeni działania, np. baza danych firmy handlowej będzie zawierać informacje związane z finansami, dostawami, zaopatrzeniem, płacami itp. Obsługa tego rodzaju systemów należy do najbardziej podstawowych zastosowań komputerów.

Bazy danych są podstawowym elementem informatycznym każdego przedsiębiorstwa. Ich działanie analizowane jest pod kątem wydajności, czy sposobu obsługi, nie mniej istotna jest także kwestia bezpieczeństwa gromadzonych danych. Informacje przechowywane w systemach bazodanowych mogą być obiektem ataków ze strony osób nie posiadających odpowiedniej autoryzacji, ale także ofiarą uszkodzeń i awarii powodujących ich utratę. Utrata informacji, bądź dostępu do plików bazy danych stanowi zawsze poważny problem dla funkcjonowania podmiotu gospodarczego.

DBMS

Bazy danych przechowywane są w systemach komputerowych, a zarządzane przez odpowiednie oprogramowanie umożliwiające ich wykorzystanie, definiowanie i szybkie modyfikowanie zawartości. Zwykle są to rozbudowane struktury zarządzania (DBMS - database management system), które wraz z danymi oraz różnymi współpracującymi aplikacjami tworzą całe systemy nazywane potocznie bazami danych.

DBMS stanowią rodzaj łącznika pomiędzy gromadzonymi zasobami a jego użytkownikami lub oprogramowaniem. Umożliwiają wykorzystanie informacji oraz ich zarządzanie i organizację. Rolą DBMS jest także nadzorowanie bazy, jak również sprawowanie czynności administracyjnych (optymalizacja, tworzenie oraz aktualizowanie kopii backupowych, kontrola stopnia wydajności całego systemu).

Programy DBMS operują głównie na danych tekstowych i liczbowych. Większość systemów umożliwia jednak gromadzenie i obróbkę danych różnego rodzaju: graficznych, dźwiękowych, obiektów o nieokreślonej strukturze itp.

Podstawowe rodzaje baz danych

Bazy danych podzielić można na proste (hierarchiczne, kartotekowe) i złożone. Wśród tej drugiej grupy wyróżnić można bazy relacyjne, obiektowe, rozproszone, temporalne, strumieniowe i nierelacyjne (NoSQL), gryfowe, OLTP, open source, chmurowe, wielomodelowe oraz samoczynne. To tylko niektóre z dziesiątek wykorzystywanych typów. Wśród mniej popularnych znajdują się te, realizujące wąskie, ściśle wydzielone funkcje. Do najbardziej powszechnych baz zalicza się struktury o charakterze relacyjnym.

SQL

Większość baz danych do obsługi (zapytania, definiowanie, kontrola dostępu) wykorzystuje język SQL (Structured Query Language - strukturalny język zapytań). Język ten został opracowany przez IBM i Oracle jeszcze w latach siedemdziesiątych. Choć od tamtego czasu wprowadzono nowe standardy SQL ANSI i wiele rozszerzeń SQL, język SQL nadal znajduje się w powszechnym użyciu.

Ewolucja

Pierwsze bazy danych pojawiły się w użyciu jeszcze na początku lat sześćdziesiątych. Zaprojektowano wówczas dwa modele: hierarchiczny, pracujący w systemie North American Rockwell International Corporation i wykorzystany później przez IBM dla systemu IMS, oraz sieciowy (opracowany przez CODASYL), bardziej elastyczny, umożliwiający aranżowanie wielu relacji.

Jeszcze w roku 1970 zaprojektowany został model relacyjny, jednak praktycznie przez całą dekadę pozostawał w sferze badań. Podczas gdy model relacyjny czekał na odpowiedni poziom technologii, dominowały struktury zaprojektowane przez CODASYL (IDMS) oraz IBM (IMS). Dopiero w latach osiemdziesiątych poziom technologii (powstanie odpowiedniego sprzętu i oprogramowania) pozwolił aby relacyjne bazy danych zaczęły zyskiwać na popularności. Jednymi z prototypowych rozwiązań, choć już powszechnie stosowanych, były Oracle i DB2, zaś dla mikrokomputerów dBASE, pracujący pod systemami CP/M oraz PC-DOS i MS-DOS.

W latach dziewięćdziesiątych pojawiły się obiektowe bazy danych, obsługujące nieco bardziej skomplikowane struktury niż te, które mogły być realizowane dzięki bazom relacyjnym. W okresie tym rozwijały się także bazy danych typu open source.

Wiek XXI i rozwój sieci internetowej sprowokował konieczność szybszego przetwarzania informacji, co doprowadziło do rozwoju baz danych typu NoSQL. W tym samym czasie trwały prace nad systemami typu XML, bazami których celem było usunięcie podziału na różnego rodzaju informacje, co pozwoliłoby na wspólne gromadzenie różnych zasobów danych, bez względu na ich rodzaj i stopień strukturalizacji.

Współcześnie odnotowany zostaje rozwój chmurowych oraz samoczynnych baz danych wyznaczających nowe kierunki przechowywania i zarządzania informacją.

Wyzwania stojące przed współczesnymi systemami baz danych

  • Bezpieczeństwo - jak już zostało wspomniane kwestie bezpieczeństwa należą w tym przypadku do najbardziej palących. Zabezpieczenie dostępu przy jednoczesnym zagwarantowaniu szerokich możliwości wykorzystania baz danych stanowią poważne wyzwanie dla projektantów systemów. Sposoby ataków cyberprzestępców są coraz bardziej wyszukane i skuteczne, dlatego działania zabezpieczające na tym polu muszą podążać za rozwijającą się technologią. Bardzo istotna w przypadku łatwego i szerokiego dostępu jest także odporność systemu na wszelkie pomyłki ze strony podmiotów posiadających dostęp do przechowywanych informacji. Posiadanie kopii zapasowej jest oczywiście niezbędne dla prawidłowego funkcjonowania przedsiębiorstwa. Odzyskiwanie dostępu do uszkodzonej bazy danych bywa kłopotliwe i kosztowne.
  • Wzrost ilości przetwarzanych informacji - zaobserwowany współcześnie ogromny przyrost liczby urządzeń zbierających wszelkie rodzaje danych w kontekście ich magazynowania i obróbki także stanowi wyzwanie dla współcześnie rozwijanych systemów bazodanowych. Wszystko to wymaga oczywiście wytężonych działań administracyjnych i organizacyjnych podmiotu zaangażowanego w przetwarzanie gromadzonych plików danych.
  • Zarządzanie infrastrukturą systemu - systemy bazodanowe stają się coraz bardziej rozbudowane, co wraz z ogromną liczbą magazynowanych informacji stawia wyzwania dla ich administratorów. Konieczność ciągłego monitorowania stanu systemu, jego konserwacji, aktualizacji programowych powoduje konieczność zatrudniania specjalnego personelu oraz ciągłego szkolenia pracowników odpowiedzialnych za sprawne funkcjonowanie struktury.
  • Zaspokojenie rosnących wymagań użytkowników - potrzeba ciągłego dostępu do zasobów informacji, a także potrzeba rozwoju podmiotów gospodarczych i wynikająca z tego konieczność rozszerzenia możliwości systemu stawia przed ich projektantami wyzwanie ciągłego rozszerzania funkcjonalności i sposobów zarządzania bazami.

Pavel Kroupka

Galeria