Jaką bazę danych wybrać?

Oracle
oracle

Historia rozpoczyna się w 1978r. Jest to chyba obecnie najczęściej stosowne rozwiązanie na świecie (komercyjne). Często sprzedawane razem z dedykowanym hardwarem. Oracle chwali się, że ich bazy przetrzymują petabajty danych. O ile świetnie radzi sobie z wielkimi bazami to ze względu na trudność instalacji i koszty jest mało popularna w mniej rozbudowanych rozwiązaniach, chociaż w 2005r. pojawiła się darmowa wersja ‚Express’ (ograniczona funkcjonalnie) – przygotowana właśnie do mniejszych projektów.

 

MySQL

mysql

Najpopularniejsza baza wśród mniejszych projektach. Chyba każdy kto rozpoczyna naukę tworzenia stron poznaje na początku właśnie MySQL. Dzieje się tam ponieważ jest darmowa, dostępna na praktycznie każdym hostingu oraz jest wydajna (korzystają z niej Wikipedia czy Facebook).

Ciekawostką jest, że MySQL powstał w 1995r. na prywatny użytek jako przeróbka mSQL.

 

Microsoft SQL Server

ms-sql-server

Powstawał między 1989 a 1996r. Pod względem zaawansowania przypomina Oracle. Posiada dobrą integrację z produktami Microsoftu (co jest dosyć oczywiste) ale słabą na innych platformach. Posiada wersje ‚Compact’ będącą alternatywą dla SQLite.

 

PostgreSQL

postgreqsl

Dużym plusem jest maksymalna zgodność ze standardem SQL. Baza powstała jako projekt uniwersytecki w 1982r. i jest to drugi popularny i darmowy system obok MySQL. Korzystają z niej, np. Instagram czy Reddit.

 

DB2

db2

Produkt IBM powstały w 1970r. Projekt komercyjny tworzymy z myślą o przechowywaniu wielkich ilości danych. Stosowany na tzn. farmach serwerowych. Podobnie jak Oracle, wraz z bazą sprzedaje dedykowany hardware.

 

Microsoft Access

msaccess

Stworzony w 1992r. przez Microsoft i dosyć mocno odbiega od reszty. Może zbierać do kilku gigabajtów danych oraz jest mało wydajna i ciężko skalowalna. MS Access jest w rzeczywistości graficznym interfejsem do dazy Microsoftu – ‚Jet’, ale może służyć również jako interface innych baz. Plusem jest kompatybilność z innymi produktami Microsoftu dlatego stosowany może być w małych firmach gdy ilość informacji jest niewielka a dedykowane rozwiązania zbyt drogie. W praktyce stosowany rzadko. Raczej w sytuacjach gdzie bezpośrednio w użyciu jest pakiet Office.

 

SQLite

sqlite

Bardzo ciekawa opcja powstała w 2000r. Samą ideą całkowicie różnie się od reszty baz ponieważ nie występuje jako zewnętrzny program. Cała baza przetrzymywana jest w jednym pliku o pojemności maksymalnie 140TB, czyli całkiem sporo. Dzięki temu, że zawarta jest w pliku to nie musimy martwić się o jej instalacje, tworzenie uprawnień czy użytkowników. Jest całkiem prosta i bardzo szybka. Stosowana w produktach Mozilli, Adobre, Google Chrome czy Skype.

 

 

Którą wybrać?

Pytania jakie musimy sobie zadać to ‚do jakich celów będzie stosowana?’, ‚jaki mamy budżet?’, ‚jakie technologie są już stosowane w firmie?’.
Najczęściej są to albo rozwiązania dla wielkich firm – korporacyjne, rozwiązania prostych baz (np. niewielkie strony internetowe) czy rozwiązania gdzie stawiamy na lekkość bazy.

Jeżeli posiadamy większy budżet, ludzi a baza stosowana będzie w korporacjach to najczęstszym wyborem jest Oracle, Microsoft SQL Server i DB2. Budżet jest bardzo ważny ponieważ są to bazy komercyjne oraz dostarczane wraz z dedykowanym hardwarem. Jeśli nie masz okazji pracować przy takich projektach a chciałbyś podszkolić się w tej dziedzinie to każde rozwiązanie posiada mniejsze, ograniczone darmowe wersje.

W przypadku prostych baz czyli, np. zdecydowana większość stron internetowych to najlepszym rozwiązaniem będą MySQL i PostgreSQL. Są proste w instalacji, darmowe, a także posiadają całkiem spore możliwości.

Gdy potrzebujemy lekkich baz to najlepszym wyborem będzie SQLite czy MS Access. Takie bazy stosowane są najczęściej w programach PC czy aplikacjach mobilnych, gdzie nad bazą pracuje w jednej chwili tylko jedne użytkownik.

 

Co na początek dla web developera?

Wymienione wyżej bazy mają bardzo rozległe zastosowanie, ale co wybrać jeżeli dopiero zaczynasz przygodę z web developerką? Jestem w 90% pewny, że swoja przygodę rozpoczniesz z MySQL i będzie to dobra decyzja ponieważ jest to absolutna podstawa dla web developera (chociażby dlatego, ze korzysta z niego WordPress). Gdy opanujesz MySQL to polecam Ci zainteresować się SQLite – fajne rozwiązanie przy małych, prostych stronkach. Te dwie bazy będą wystarczające w większości przypadków pracy nad stroną.