Ekosystem bazy danych. 4 najważniejsze terminy.

Chcesz wiedzieć jak komunikować się z ludźmi odpowiedzialnymi za bazę danych? Administratorami bazy danych, architektami bazy danych czy programistami bazy danych? A może chcesz być jednym z nich? Zdradzę ci 4 podstawowe terminy bazodanowego świata, a na koniec powiem do czego bazie danych pamięć RAM.

Materiał na YouTube
Co to jest baza danych?

Najważniejszy termin na początek: baza danych. Jest to zbiór danych zapisany na nośniku. Najstarszą znaną bazą danych jest zapis transakcji na glinianych tabliczkach. Pochodzi z Sumeru i ma ponad 5,5 tysiąca lat.

Gliniane tabliczki z Sumeru. Za Wikipedia.org.

Innymi prostymi przykładami jest spis kontaktów w Twoim telefonie lub zestawienie domowych wydatków w arkuszu kalkulacyjnym. Baza danych wykorzystywana w przedsiębiorstwie to zbiór ustrukturyzowanych danych zapisany na dyskach twardych podłączonych do komputera.

Dane – co to jest i po co je gromadzić?

Dane są to fakty wartościowe dla właściciela bazy danych – przedsiębiorstwa. Fakty mogą dotyczyć tego co przedsiębiorstwo ma lub tego co klient przedsiębiorstwa zrobił.

Po co firma gromadzi dane? Na podstawie danych o tym co przedsiębiorstwo ma można wyciągnąć wnioski jak przedsiębiorstwo prosperuje. Generuje zysk czy stratę. I w jakiej wysokości. Natomiast na postawie danych dotyczących zachowań klientów można wyciągnąć wnioski jakie zachowania przedsiębiorstwa powiększają zyski, a jakie generują stratę. Dzieje się to w procesie analizy danych. Czyli zamiany danych w informacje.

Co to jest motor baz danych?

Danymi zapisanymi na dysku manipuluje odpowiednia aplikacja. Czyli program komputerowy. Całkiem prosty gdy obsługuje spis kontaktów w telefonie. Nieco bardziej rozbudowany gdy obsługuje arkusz kalkulacyjny i całkiem skomplikowany gdy zarządza bazą danych przedsiębiorstwa. Aplikacja umożliwiająca manipulację danymi w komputerowej bazie danych, nazywa się motorem bazy danych. Innymi określeniami z którymi możesz się spotkać jest silnik bazy danych, system zarządzania bazą danych lub z angielskiego DBMS – DataBase Management System.

Zwróć uwagę na określenie 'system’. Wskazuje z jak skomplikowanym oprogramowaniem masz do czynienia. Skoro jest określane mianem 'system’, a nie 'apka’ to możesz domniemywać jak bogate jest w różnego rodzaju funkcjonalności. Funkcjonalności, które mają ułatwić ci manipulowanie danymi. Z kolei słowo 'zarządzania’ wskazuje, że funkcjonalności nie ograniczają się tylko do manipulowania danymi. Umożliwiają także manipulację strukturą danych oraz mechanizmami zabezpieczenia danych. Tak przed utratą, uszkodzeniem jak i niepowołanym dostępem.

W najprostszych bazach danych jak na przykład lista kontaktów w Twoim telefonie nie masz wpływu jakie dane o kontakcie przechowasz. Jest to z góry narzucona, przez twórców aplikacji, struktura danych. W nieco bardziej wyrafinowanym arkuszu kalkulacyjnym masz wpływ na strukturę danych, ale nie masz wpływu na dostęp do nich. W systemach zarządzania bazą danych masz wpływ na wszystko.

Rola motoru bazy danych jako pośrednika pomiędzy użytkownikami, a bazą danych

Motor bazy danych to pośrednik pomiędzy bazą danych, a użytkownikami. Trzeba pamiętać, że system zarządzania bazą danych jest zaprojektowany aby zapewniać zdalny dostęp oraz bezkonfliktową i wydajną obsługę żądań manipulacji danymi dla wielu użytkowników jednocześnie.

Co to jest instancja bazy danych?

Jak bardzo skomplikowane i bogate w funkcje oprogramowanie motoru bazy danych by nie było jest to tylko zbiór plików binarnych zainstalowany w systemie operacyjnym. Aby skorzystać z ich bogactwa funkcjonalności trzeba to oprogramowanie uruchomić. Podczas startu w systemie operacyjnym pojawia się jeden lub wiele procesów oraz zaalokowane zostają obszary pamięci RAM. To właśnie jest instancja bazy danych.

Łatwo sobie wyobrazić, że ilość i moc obliczeniowa procesorów w komputerze, przekłada się na ilość możliwych do obsłużenia użytkowników oraz na tempo wykonania poleceń. Ale po co instancji pamięć RAM? Użytkownicy pracują z danymi przechowywanymi przez instancję w pamięci RAM. Dane z dysków kopiowane są, przez procesy instancji, do pamięci RAM i z niej udostępniane użytkownikom. Modyfikacje danych także odbywają się w pamięci. Dopiero zmodyfikowane dane zapisywane są na dysk do bazy danych. Obszary pamięci RAM wykorzystywane przez instancję nazywane są buforami lub pamięcią podręczną. Z angielska cache, bazy danych. Warto aby instancja bazy danych miała pod dostatkiem pamięci.

Pamięć podręczna instancji bazy danych
Usługa bazy danych w chmurze

Specyficzną wersją instancji bazy danych jest usługa bazy danych świadczona przez dostawcę chmury. Nazywana z angielska DBaaS – DataBase as a Service. Przykładami takich usług są Oracle Autonomous Database, Azure SQL Database czy IBM Db2 on Cloud. Nazwy usług przypominają nazwy motorów baz danych znanych z instalacji on-premises. Trzeba jednak pamiętać, że to nie są identyczne wersje. Instancja bazy danych sprzedawana jako usługa chmurowa bazuje na binariach silnie dostosowanych do środowiska chmurowego. Mogą być pozbawione niektórych funkcjonalności. Niemniej chmura może być publiczna jak Oracle Cloud, Azure czy IBM Cloud lub prywatna. Korporacje o restrykcyjnych zasadach bezpieczeństwa tworzą środowiska chmurowe wyłącznie na własne potrzeby.

W chmurze dostępne są także usługi zawierające w nazwie nazwę motorów o otwartym kodzie jak MySQL czy PostgreSQL. Mimo, że bazują na otwartym kodzie to został on dostosowany do specyficznych wymagań danego dostawcy chmury. Niemniej dostosowanie nie jest już kodem otwartym. Tylko dostawca chmury wie co dopisał do oryginalnej wersji otwartej. Na szczególną uwagę zasługuje PostgreSQL. Podstawą tego motoru jest modułowa budowa. Część istotnej funkcjonalności dostępna jest jako moduły rozwijane niezależnie od motoru bazy danych. O tym które moduły możesz wykorzystać w usłudze bazy danych, bazującej na PostgreSQL, decyduje dostawca chmury.

Niewątpliwą zaletą usługi bazy danych w chmurze jest ukrycie przed klientem dużej części technicznych detali związanych z zarządzaniem instancją bazy danych. Nieistotnych z punktu widzenia prowadzonej przez firme działalności. Na przykład zarządzanie sprzętem, binariami czy dostępnością danych. Rozważając wyniesienie swojej bazy danych do chmury publicznej trzeba pamiętać, że oddajesz dostawcy chmury kontrolę nad swoimi danymi. Część danych objęta jest regulacjami, które ograniczają możliwość ich przechowywania w chmurze publicznej oraz poza granicami kraju. Ciekawą opcją jest chmura prywatna. Jest to infrastruktura chmurowa ulokowana w centrum danych właściciela danych. Twojej firmy. Chmura prywatna jest zarządzana zdalnie przez dostawcę chmury. Tę opcję wybierają firmy ceniące bezpieczeństwo swoich danych.

Podsumowanie
  • Komputerowa baza danych to ustrukturyzowany zbiór danych zapisany na dyskach twardych podłączonych do komputera.
  • Motor bazy danych to oprogramowanie służące do manipulacji oraz ochrony danych w bazie danych. Inaczej nazywany może być silnikiem bazy danych, systemem zarządzania bazą danych lub z angielska DBMS – DataBase Management System.
  • Instancja bazy danych to zbiór procesów oraz obszarów pamięci RAM w systemie operacyjnym. Umożliwiają zdalny i wydajny dostęp do danych dla wielu użytkowników jednocześnie.
  • Usługa bazy danych w chmurze to instancja bazy danych zarządzana przez dostawcę chmury.

To pierwsza część cyklu o ekosystemie bazy danych.

Kolejna część: 5 architektur baz danych.

Marcin Badtke

Przyjaźnie o SQL, bazach danych i ludziach

Może Ci się spodobać...

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *