Blog summ-it

Baza danych jest zbiorem trwałych i uporządkowanych informacji, które są wykorzystywane przez określone aplikacje. Wraz z systemem zarządzania nią tworzy system bazodanowy. I chociaż w ogólnym ujęciu zasada działania wszystkich takich rozwiązań jest podobna, architektura systemu baz danych może być czynnikiem, które je różnicuje. Czym dokładnie jest to pojęcie i jakie typy architektury systemu baz danych można wymienić? Dowiedz się więcej.

System baz danych – co to jest

Mianem systemu baz danych określa się – mówiąc najogólniej – system przechowywania danych zorganizowanych w pliki. Jego elementami są:

  • same dane, które mogą mieć różną postać i wymagać ujednolicenia,
  • sprzęt, a zatem komputery i serwery, gdzie są przechowywane informacje,
  • programy służące do zarządzania bazą daną oraz jej obsługi,
  • język komunikowania się z bazą danych,
  • ludzie, a zatem użytkownicy bazy danych.

Warto jednak pamiętać, że to pojęcie jest stosowane bardzo często zamiennie z systemem zarządzania bazą danych. Jest to system, który pozwala wykonywać operacje na bazie danych i, zgodnie z nazwą – zarządzać nią.

Architektura systemu baz danych – rodzaje

O architekturze systemu baz danych można mówić w dwóch ujęciach Pierwsze to to związane ze standardem ANSI/SPARC – opisujące w ogólnym ujęciu poziomy systemu baz danych. Drugie to architektura komunikacyjna. Przyjrzyjmy się obu tym aspektom.

Architektura systemu baz danych wg standardu ANSI/SPARC

Na tych schemacie, zaproponowanym po raz pierwszy w 1975 roku, opiera się zdecydowana większość stosowanych współcześnie baz danych, bez względu na ich rodzaj czy spectrum zastosowania. W tej perspektywie wyróżnia się trzy poziomy architektury systemu ba zdanych.

  1. Poziom wewnętrzny – inaczej jest określany fizycznym, ponieważ jest związany z „fizycznym” sposobem przechowywania danych oraz tym, jak wygląda dostęp do nich. Przykładowo, w lokalnych bazach danych cały zbiór informacji jest przechowywany na jednym komputerze. Istnieją jednak również np. chmurowe bazy danych, w których informacje są przechowywane w modelu rozproszonym, a więc na co najmniej dwóch (a zazwyczaj więcej) urządzeniach fizycznych.
  2. Poziom zewnętrzny – jest określany także poziomem użytkownika. W tym kontekście istotne jest to, w jaki sposób dane są prezentowane konkretnym odbiorcom. Na tym poziomie nie są prezentowane zbędne dane oraz te, do których użytkownik końcowy nie ma prawa dostępu.
  3. Poziom pojęciowy, czyli koncepcyjny – to aspekt związany z opisem zawartości bazy danych oraz powiązań i relacji pomiędzy poszczególnymi jej elementami.

Zamów bezpłatną konsultację

Architektura komunikacyjna systemu baz danych

W tym ujęciu chodzi o zróżnicowanie sposobu, w jaki baza danych komunikuje się z klientem. Składają się na nią opis elementów stanowiących system baz danych, sposób ich powiązana, jak również logika stojąca za takim, a nie innym sposobem organizacji. W tym ujęciu wyróżnia się:

  • architekturę jednowarstwową

To taka, w której program dający dostęp do bazy danych ma bezpośredni kontakt z użytkownikiem, a system natychmiast dokonuje wszystkie zmiany w zawartości zbioru danych;

  • architekturę dwuwarstwową

W dwuwarstwowych systemach baz danych komunikacja między klientem a serwerem z danymi odbywa się za pośrednictwem odpowiednich sterowników. Ustanowienie połączenia to „odpowiedzialność” serwera, natomiast nadzorowanie poprawności pracy bazy leży po stronie klienta.

Dwuwarstwowa architektura zwiększa bezpieczeństwo serwera, jak i przechowywanych na nim danych, jak również odciąża centralny komputer od obsługiwania interfejsu użytkownika. Można ją również wykorzystać w połączeniu z wieloma technologiami – jest dość uniwersalna. Należy jednak pamiętać, że z drugiej strony oznacza ona wiele wyzwań administracyjnych, brak kontroli nad działaniami użytkowników oraz ryzyko, że gdy dojdzie do awarii serwera, nastąpi całkowity brak dostępu do danych.

W większości przypadków lokalne bazy danych opierają się na modelu jednowarstwowym, natomiast bazy o architekturze klient-serwer, na dwu- lub wielowarstwowym modelu.

  • architekturę trójwarstwową

Jest to architektura typu klient-serwer, w której interfejs użytkownika, składowanie danych oraz ich przetwarzanie stanowią osobne moduły. W efekcie komunikacja między użytkownikami a serwerem bazy znajduje się jeszcze serwer aplikacji. To do niego zapytania (najczęściej przez stronę www) kieruje użytkownik, i to z nim komunikuje się baza danych.

Ten typ architektury baz danych pozwala uniezależnić sposób prezentacji danych od tego, jak są one przechowywane. Takie rozwiązanie ma wiele zalet, ponieważ:

  • daje możliwość dostępu do bazy danych za pomocą różnych urządzeń końcowych oraz aplikacji – to zwiększa zarówno możliwości wykorzystania bazy danych, jak i ich zastosowanie praktyczne,
  • pozwala on ukryć fizyczną implementację – oznacza to, że mało znaczące dla użytkowników końcowych informacje o sposobie zapisu danych nie są dostępne dla klientów końcowych. Ma to duży sens funkcjonalny, ponieważ podnosi komfort użytkowania systemu baz danych,
  • daje możliwość dokonywania zmian w systemie w sposób, który nie zaburza korzystania z bazy danych – przy wykorzystaniu tej architektury administrator może np. dokonać zmiany dysku twardego bez naruszania struktury danych w bazie, jak również zmiany koncepcji bazy danych.

Oznacza to, że trójwarstwowa architektura jest znacznie bardziej elastyczna oraz dostosowana do wymogów, które są stawiane nowoczesnemu oprogramowaniu, mierzącemu się z coraz większą liczbą danych. Jej stosowanie przekłada się też na łatwiejszą skalowalność systemu bazy danych oraz możliwość jego modernizacji wraz z upływem czasu.

Jak działa architektura klient-serwer?

W przypadku systemów baz danych najczęściej stosowana jest architektura klient-serwer. W tym modelu jeden klient może jednocześnie korzystać z usług wielu serwerów, a jeden serwer – być użytkowany przez wielu użytkowników tym samym czasie. Oznacza to podział ról pomiędzy klienta a serwer – tak, że spoczywają na nich inne obowiązki. Jak dokładnie wygląda podział ról? Otóż:

  • klient jest stroną żądającą dostępu do bazy danych – to on aktywnie wysyła żądanie do serwera i oczekuje na jego odpowiedź. Korzysta on z dedykowanego interfejsu. Nie ma jednak wpływu na połączenie z serwerem, ochronę znajdujących się na nich danych ani na ich przetwarzanie;
  • po stronie serwera jest ustanowienie połączenia, przetwarzanie danych oraz ich ochrona. Pełni on jednak rolę pasywną – świadczy usługę (a więc dostarcza przetworzonych w odpowiedni sposób danych) na żądanie.

Protokoły komunikacyjne są precyzyjnie opisane i dostosowane do specyfiki konkretnej bazy danych.

Jaka architektura systemu baz danych jest najlepszym rozwiązaniem?

Architektura dwuwarstwowa czy trzywarstwowa? To pytanie, na które nie ma jednoznacznej odpowiedzi. Podobnie jak różne są typy baz czy systemów do zarządzania nimi, tak i ich architektury mają swoje zalety oraz wady. Kluczem jest dopasowanie odpowiedniego rozwiązania do planowanego zastosowania. Wybierając je, warto wziąć pod uwagę choćby zakres danych, jaki ma objąć baza, liczbę jej użytkowników, jak również stopień zaangażowania operacji, które będą wykonywane na zbiorze czy sposób dostępu do danych. Inne są potrzeby związane z utworzeniem chmurowej bazy danych, a inne, gdy ma powstać prosta i niewielka relacyjna baza lokalna.

Warto pamiętać, że od wybranej architektury bazy będzie zależał nie tylko sposób jej obsługi. Wpływa ona również na szybkość przetwarzanych informacji, ich bezpieczeństwo, jak również inne aspekty działania systemu zarządzania bazą danych. Dobrze jest więc omówić planowane rozwiązanie z ekspertami i wspólnie z nimi podjąć świadomą decyzję.

Masz pytania lub szukasz idealnego rozwiązania dla swojej firmy?

Umów sie na bezpłatną konsultację poprzez formularz na naszej stronie i uzyskaj specjalistyczne informacje dopasowane do Twoich potrzeb.

Jakub Mazerant
Head of Sales

Umów się na bezpłatną konsultację

Skonsultuj potrzeby Twojej firmy z naszymi ekspertami. Poznaj rozwiązania, które pomogą Twojej firmie usprawnić procesy biznesowe i zapewnić bezpieczeństwo danych.

Wypełnij formularz:

Twoja wiadomość została wysłana. Dziękujemy!