Witam, jestem pasjonatem informatyki i wszystkiego, co jest związane z komputerami. Od pewnego czasu zaczynam coraz bardziej interesować się systemami baz danych. Niestety, moja wiedza w tej dziedzinie, jak na razie, jest znikoma. Z tego, co wiem, to na rynku istnieje wiele różnego rodzaju produktów przeznaczonych zarówno dla mniejszych, jak i bardziej zaawansowanych rozwiązań. Które z nich najlepiej wybrać do zastosowań internetowych? Co sprawdzi się w większych firmach?
JacekMiło nam słyszeć, że Czytelnicy Magazynu INTERNET interesują się tak poważnymi zagadnieniami, jakimi są bazy danych. Tak naprawdę jest to temat rzeka. Ponieważ jest Pan laikiem w tym temacie, to na początku chciałbym przedstawić możliwe ścieżki kształcenia w wybranej przez Pana dziedzinie. Rozpatrując sprawę najbardziej ogólnie istnieją dwie drogi:
1. Administratora baz danych – osoby odpowiedzialnej za zarządzanie bazami danych, konfigurowanie, tworzenie kopii zapasowych, wiązanie w klastry, zarządzanie użytkownikami i ich uprawnieniami oraz dbanie o bezpieczeństwo.
2. Programisty baz danych – odpowiedzialnego przede wszystkim za wydobywanie, umieszczanie oraz aktualizacje danych w bazie z poziomu języka zapytań SQL lub innego rodzaju interfejsu API umożliwiającego komunikację z bazą (na przykład JDBC dla Javy).
W mniejszych systemach baz danych funkcje te najczęściej są łączone, w dużych środowiskach podział ten może być jeszcze bardziej szczegółowy.
Jeżeli chodzi o dostępność produktów, to naprawdę jest w czym wybierać. Dla mniejszych projektów internetowych polecam przede wszystkim bazę MySQL, która z pewnością poradzi sobie z większością amatorskich stron internetowych. Dużą przewagą MySQL-a jest przede wszystkim ogólna dostępność i otwarty kod źródłowy. Ponadto środowisko to znakomicie integruje się z językiem PHP oraz wszelkimi innymi rozszerzeniami udostępniającymi API dla połączeń z bazą. Minusem technologii MySQL jest mała efektywność w przypadku dużej ilości danych przechowywanych w systemie.
Innym wartym uwagi środowiskiem jest PostgreSQL, który podobnie jak MySQL cieszy się dość sporą popularnością w połączeniu z językiem PHP. Przewagą PostgreSQL-a jest bardziej ujednolicona składnia oraz większe możliwości języka SQL.
Nietrudno się domyślić, że firma Microsoft jest również producentem dość popularnego środowiska bazodanowego o nazwie SQL Server. Tym, czym wyróżnia się on wśród innych produktów, jest przede wszystkim bardzo intuicyjny system zarządzania bazami i doskonała integracja ze środowiskiem MS Visual Studio.
Został jeszcze Oracle, prawdziwy kombajn, który po zainstalowaniu zajmuje prawie 1,5 GB. Oprócz możliwości przechowywania i optymalnej obsługi nawet kilku terabajtów danych, ma on również swoje własne rozszerzenie języka SQL, tak zwany PL SQL. Tak naprawdę jest to proceduralny język programowania baz danych, powstały na podłożu znanego nam SQL-a. Dzięki niemu istnieje możliwość tworzenia pętli, funkcji, procedur oraz instrukcji warunkowych przy użyciu składni podobnej do SQL-a.
Bazy danych Oracla w przypadku zastosowań komercyjnych są płatne. Dla celów edukacyjnych można je natomiast pobrać i używać za darmo.
Jak widać, możliwości wyboru jest naprawdę dużo. Nie opisałem tutaj wszystkich produktów, tylko te najbardziej popularne. Podstawy teoretyczne dla wszystkich rozwiązań są podobne. Problemy zaczynają się dopiero wtedy, gdy wejdziemy w szczegóły. Różnice polegają przede wszystkim na braku kompatybilności w poleceniach języka SQL oraz stosowaniu różnych mechanizmów przez różnych producentów. (TG)