W dzisiejszym wpisie chciałbym przedstawić kilka popularnych baz danych, ich cechy, jakie są plusy, a jakie minusy. Po tym wpisie zyskasz wstępny obraz jakich produktów możesz używać do przechowywania swoich danych. Pamiętaj, że nie są to wszystkie bazy danych dostępne na rynku, a kilka wybranych przeze mnie.
Ok, startujemy 🙂
MySQL
Jest to bardzo popularny silnik bazodanowy, który dostępny jest na praktycznie wszystkie systemy operacyjne tzn., że można go zainstalować zarówno na Windowsie, jak i MacOS, Linuxach. MySQL został wydany w 1995 roku i do tego czasu doczekał się 8 wersji. Poza bardzo dużym atutem w postaci możliwości działania na dosłownie każdym systemie operacyjnym, drugim co do wielkości plusem jest fakt, że można go wykorzystywać za darmo. MySQL posiada również wersję płatną, którą należy zakupić w momencie, jeżeli nasz produkt, który używa MySQL nie jest zgodny z licencją GPL. MySQL jest relacyjną bazą danych. Jest bardzo często używany, więc jest to ciekawa opcja na start, aby z pomocą tego silnika bazodanowego rozpocząć swoją przygodę z bazami danych. Dobrze sprawdzi się w aplikacjach, gdzie struktura danych jest ustalona. Niestety w momencie, jeżeli potrzebujemy, aby nasza baza danych była rozproszona, wtedy warto pomyśleć o innych bazach danych.
Microsoft SQL Server
Jest to produkt Microsoftu, który został opublikowany w 1989 roku. Aktualnie dostępna jest 15 wersja nazywana jako SQL Server 2019. Jest to jeden z wiodących systemów bazodanowych dla rozwiązań komercyjnych. Jest to baza danych płatna (i niestety tanio nie jest), ale posiada on również swoją wersję bezpłatną (express). Do komunikacji z tą bazą danych używa się języka T-SQL. Jest to baza danych strukturalna, w której można też przechowywać dane częściowo strukturalne (np. JSON) (spokojnie do tego dojdziemy w kolejnych wpisach).
Jest to zdecydowanie produkt dla osób z budżetem. Dlaczego więc wspominam o tym silniku bazodanowym? Dlatego, że m.in. na tym silniku będę chciał pokazywać jak wyglądają bazy danych w kolejnych wpisach. W pracy zawodowej na pewno spotkasz się z tym silnikiem bazodanowym wcześniej czy później. O ile w prywatnych projektach osobiście skusiłbym się na inne rozwiązania (darmowe lub tańsze), tak w pracy zawodowej znajomość tej bazy danych jest bardzo ważna, dlatego warto nie odrzucać tej bazy danych.
Oracle Database
Jest to produkt firmy Oracle, którego początki sięgają lat 70 dwudziestego wieku. Jest to najpopularniejszy silnik do zarządzania relacyjnymi bazami danych używany komercyjnie. Aktualną wersją jest wersja 19c. Jest to ogromny kombajn, który używany jest przez setki tysięcy firm,więc na pewno w swojej karierze zawodowej napotkasz ten produkt. Oracle posiada wiele wersji swojego systemu do zarządzania bazami danych, m.in. Oracle Enterprise Edition, Oracle Standard Edition, Oracle Express Edition, Oracle Lite.
PostreSQL
Jest to aktualnie jedna z trzech najbardziej popularnych baz danych typu open source obok MySQL i SQLite. Używana w ogromnej liczbie aplikacji, systemów i stron www. Podobnie jak MySQL może być instalowana na wielu systemach operacyjnych. Jest to baza danych darmowa, którą też chciałbym opisywać w przyszłości na blogu w przykładach związanych ze ścieżką, na której początku właśnie jesteś.
MongoDB
Jest to przykład nierelacyjnej bazy danych. MongoDB w świecie baz nierelacyjnych jest bardzo popularny. Posiada kilka licencji zarówno płatnych, jak i bezpłatnych. Jeżeli dane są dokumentami lub są np. w postaci JSON, XML, to zdecydowanie warto zwrócić się ku tej bazie danych. Jeżeli kiedyś staniesz przed wyborem z jakiej bazy NoSQL skorzystać, to już wiesz od jakiej bazy należy zacząć swoje rozważania. Jeżeli jednak Twoja baza jest bazą strukturalną to MongoDB jest złym adresem :p
SQLite
Jest to baza danych typu openSource (z otwartym kodem źródłowym). Doskonale sprawdza się w przypadku np. aplikacji mobilnych lub w innych przypadkach, gdzie w naszą aplikację musi być wbudowana baza danych i nie ma tam możliwości komunikacji z serwerem bazodanowym. Obsługiwana przez wiele języków programowania za pomocą wygodnego API.
Elasticsearch
Jest to narzędzie stworzone do pełnotekstowego wyszukiwania. Używa się go najczęściej do zbierania logów (informacji o błędach i zdarzeniach w naszej aplikacji) w naszej aplikacji. Dzięki Elasticsearch w łatwy sposób można wyszukiwać tekstowo zawartość naszych danych. Każda aplikacja powinna odkładać jakieś informacje o błędach, które się zdarzają, a z wykorzystaniem Elasticsearch analiza ich będzie przyjemnością. Elasticsearch również umieściłem w tym wpisie, ponieważ jak wspominałem w poprzednim wpisie (tutaj) bazy danych są zbiorem usystematyzowanych danych zapisanych zgodnie z określonymi regułami.
Apache Cassandra
Ostatni system bazodanowy, który chciałem opisać w dzisiejszym poście. Cassandra została stworzona przez Facebooka i została zaprojektowana dla obsługi dużej ilości rozproszonych danych na wielu serwerach. Świetnie sprawdzi się w przypadku hurtowni danych. Do minusów można jednak zaliczyć brak transakcyjności. Ważną informacją jest też fakt, że jest to rozwiązanie typu open source.
Uff … Nie są to wszystkie systemy bazodanowe, jakie istnieją na rynku, a zaledwie kilka wybranych przeze mnie, które uważam, że warto znać przynajmniej ze słyszenia i wiedzieć kilka podstawowych informacji.
A jakie Ty bazy danych wymieniłbyś w zestawieniu najpopularniejszych baz danych? Może znasz jakieś, które są jeszcze warte dodania do listy ? 🙂