Za każdą stroną, za każdą aplikacją, za każdym systemem, stoją bazy danych. Niektórzy wręcz mówią, że cała informatyka polega na przeprowadzaniu operacji na zmiennych przechowywanych w tabelach (create, read, update, delete). Zapraszamy do przeglądu najczęściej wykorzystywanych relacyjnych baz danych.
MySQL – kiedyś na płatnej licencji, dzisiaj na open source
Nie zawsze tak było, że z MySQL można było korzystać dowolnie i bezpłatnie. Do 2000 roku dostępna była na płatnej licencji, a dopiero wraz z wejściem w kolejne stulecie postanowiono uczynić ją łatwiej dostępną. Ale od początku…
Premiera MySQL miała miejsce w 1995 roku w Szwecji. Z założenia miał to być nowy interfejs do mSQL, ale wyszło zupełnie inaczej i powstała nowa baza danych z nieco zmienioną nazwą. Co ciekawe, nazwa nawiązuje do imienia córki jednego z twórców bazy danych – My. Za stworzenie bazy danych i jej dystrybucję początkowo odpowiedzialna była szwedzka firma MySQL AB. Najpierw oferowana była jedynie na podstawie płatnej licencji, ale po 5 latach już każdy mógł mieć do niej dostęp i tak jest do dzisiaj. W kolejnych latach zmieniały się też firmy odpowiedzialne za MySQL. W 2008 roku przejęła ją firma Sun Microsystems, a od 2010 roku jest pod skrzydłami Oracle.
MySQL to kluczowy element stron internetowych. To właśnie ona odpowiada za przechowywanie danych, co jest niezbędne, aby witryna mogła prawidłowo funkcjonować. Przede wszystkim jest ona skierowana to twórców rozbudowanych serwisów internetowych, jednak świetnie odnajduje się także w mniejszych projektach opartych o WordPress.
Dużą zaletą MySQL jest skalowalność, w krótkim czasie może realizować wiele zapytań, w czasie nawet do miliona na sekundę. To sprawia, że korzystają z niej potężni gracze, jak Facebook czy YouTube. To, co docenia się szczególnie w tej bazie danych, to możliwość rozszerzenia jej o mechanizmy ochrony danych i zasobów, np. certyfikat SSL i uwierzytelnianie użytkownika. MySQL współpracuje również z wieloma systemami. Świetnie radzi sobie m.in. na Windowsie, Linuxie, macOS i AIX.
MS SQL Server - dziecko giganta Microsoft
Ma ona swoje korzenie w 1987 roku, a więc możemy uznać, że to prawdziwy weteran wśród relacyjnych baz danych. Wtedy to Microsoft rozpoczął współpracę nad serwerem baz danych z Sybase, w późniejszym czasie dołączył Ashton Tate. Pierwsza wersja ujrzała światło dzienne w 1989 roku, a potem już były kolejne, coraz bardziej udoskonalone, intuicyjne i o większych możliwościach. Niektórzy są zdania, że SQL Server mógłby być produktem Sybase, ponieważ dostrzec można pomiędzy tą bazą danych a produktami Sybase ogrom podobieństw. Oczywiście prawda jest inna i nie na miejscu jest odbieranie Microsoft tego projektu.
MS SQL Server dostępny jest w kilku wariantach. Jeśli dopiero zaczynasz pracę na bazach danych i zależy Ci na darmowym dostępie, to na start wybierz wersję Express. W nieco większych wdrożeniach lepiej sprawdzi się jej komercyjny wariant Standard, a w skomplikowanych projektach Enterprise. Zawiera wbudowany mechanizm replikacji i synchronizacji danych oraz rozwiązania zapewniające ich bezpieczeństwo, jak 2 tryby uwierzytelniania, autoryzacja pojawiająca się na poziomie danych czy też zarządzanie dzięki zastosowaniu ról. Jest też łatwa i szybka w instalacji Jest jednak haczyk… MS SQL Server to baza dostępna tylko na platformie Windows, a więc jej możliwości wykorzystania są mocno ograniczone.
Oracle - tajna „wyrocznia”
Wszystko zaczęło się w 1977 roku, kiedy Lawrence Ellison, Robert Miner i Edward Oates założyli firmę SDL specjalizującą się w rozwiązaniach do przetwarzania dużej liczby danych. Wśród jej potencjalnych klientów zainteresowanych ofertą było CIA. Udało się nawiązać współpracę, jednak jej szczegóły oraz sam projekt był mocno chroniony i na etapie twórczym wszystko było ściśle tajne, stąd nazwa projektu, a potem też bazy danych – Oracle, czyli po prostu wyrocznia. Prace zostały jednak na jakiś czas przerwane i powrócił do nich Lawrence Ellison, który dostrzegł możliwości komercyjnych baz danych, potwierdzone m.in. przez firmę IBM, która w przyszłości planowało wykorzystać relacyjne bazy danych w swoich komputerach.
Pierwsza wersja Oracle pojawiła się w 1979 roku. Potem już było tylko lepiej… Oracle wkroczył w branżę finansową, oferując 5 produktów z możliwościami operacji rozproszonych, pojawiły się pakiety dla programistów i zbiór aplikacji dla głównych gałęzi gospodarki. Obecnie Oracle, zaraz po Microsoft, jest drugim na świecie pod względem przychodów dostawcą oprogramowania.
Przychody firmy są ogromne, a to za sprawą zarówno możliwości bazy danych, jak też wysokiej ceny oprogramowania. Za Oracle trzeba zapłacić stosunkowo wysoką cenę, ale szczególnie przedsiębiorstwa z dużą liczbą danych doceniają to rozwiązanie. Im więcej danych, tym Oracle pracuje jeszcze lepiej. Pozwala na konsolidację kilku mniejszych baz danych w jedną dużą, poza tym w obrębie tej jednej można tworzyć wiele baz PDB. W Oracle łatwo tworzy się kopię zapasową i w krótkim czasie odzyskuje utracone dane. Z tej bazy danych korzystają m.in. instytucje finansowe i duże korporacje, które wykorzystują zintegrowane z bazą rozwiązania biznesowe i dodatkowe opcje, np. zaawansowane mechanizmy kompresji. Co ważne, co kwartał użytkownicy mogą liczyć na aktualizację systemu. Firma intensywnie pracuje nad udoskonalaniem swoich produktów, oferując klientom zawsze rozwiązanie na czasie, które jest odpowiedzią na dynamicznie zmieniający się rynek technologiczny.
PostgreSQL – obiektowo-relacyjna baza danych
To jedna z niewielu baz danych o charakterze obiektowo-relacyjnym. Jak sama nazwa wskazuje, jest połączeniem relacyjnej z obiektową bazą danych. Dane są układane w tabelach opisanych relacjami, jednak baza poszerzona jest dodatkowo o elementy związane z obiektowością, jak: obiekty, klasy i dziedziczenie. Dzięki temu w PostgreSQL można stworzyć klasę i jej obiekty, także klasę dziedziczącą. W odróżnieniu od typowej obiektowej bazy danych, w tej można używać strukturalnego języka zapytań, który jest charakterystyczny dla relacyjnych baz danych.
PostgreSQL był pewnego rodzaju kontynuacją projektu Ingres powstałego na University Of California, Berkeley. Przedstawicielem udoskonalonego projektu był Michael Stonebraker, który wcześniej był aktywnym członkiem zespołu Ingres. Pierwsza wersja oprogramowania pojawiła się w czerwcu 1989. Początkowo baza danych była skierowana do małej liczby użytkowników. Zainteresowanie nią jednak rosło, co zmotywowało zespół do modyfikacji i rozwoju projektu. 30 czerwca 1994 roku światło dzienne ujrzała finalna wersja pod licencją typu MIT.
Co zainteresuje wielu, PostgreSQL jest darmową bazą danych, dostępną dla każdego. Pozwala na dowolną modyfikację kodu źródłowego, dzięki czemu można bazę dopasować do indywidualnych wymagań. Oprogramowanie oferuje użytkownikom wiele ciekawych i przydatnych funkcji, w tym: zaawansowane indeksowanie GiST, procedury składowe z możliwością używania wielu języków programowania m.in. Java, Python i Ruby, system zasad i partycjonowanie. Ponadto PostgresSQL jest dostępny na Windows i wszystkie systemy UNIX.
SQLite – lekka baza danych
Nie zawsze potrzebujemy używać potężnego mechanizmu, czasem wystarczy prostsze oprogramowanie, które nadaje się do małych i średnich projektów. Jeśli chodzi o SQLite to świetnie odnajduje się w zarządzaniu mniejszymi bazami danych. Wykorzystuje się go często do przechowywania danych i zarządzania nimi w aplikacjach mobilnych, desktopowych i webowych.
Pomysł na prostą i lekką bazę danych zrodził się w głowie programisty D. Richarda Hippa w 2000 roku. Celem było stworzenie bazy danych, która mogłaby być wykorzystywana jako biblioteka języka C. Z założenia miało się ją dołączać do dowolnej aplikacji, bez konieczności używania dedykowanego serwera bazy danych. I to się udało!
SQLite jest otwartoźródłowym systemem zarządzania bazą danych, który jest wsparciem dla języka SQL, obsługując większość jego standardowych funkcji. To niewielki silnik sprawdzający się na urządzeniach o małych zasobach, np. smartfonach. Dane przechowywane są w jednym pliku, dzięki czemu baza może być łatwo przenoszona między architekturami i systemami. Posiada liczne biblioteki i bindingom, dzięki czemu SQLite może być używana z wieloma popularnymi językami, w tym Java czy Python. Wciąż jest rozwijana prze społeczeństwo i z powodzeniem może zastąpić wiele zdecydowanie bardziej skomplikowanych baz danych. Na uwagę zasługuje jednak poziom bezpieczeństwa bazy danych, który nie jest tak zaawansowanych jak w większych i bardziej rozbudowanych systemach. Jeśli aplikacja wymaga wysokiego poziomu bezpieczeństwa ze względu na newralgiczne dane, lepiej zdecydować się na inne rozwiązanie.
A Ty pracujesz na relacyjnych bazach danych? A może dopiero planujesz się w tym kierunku rozwijasz i zastanawiasz się, który kierunek obrać? Naukę możesz zacząć od SQLite, jednak pamiętaj, że to baza danych przeznaczona do niewielkich projektów. Świetnie sprawdzi się też MySQL, najpopularniejsza dzisiaj baza danych, której znajomość otwiera wiele drzwi do kariery specjalisty IT.