Uvod
Pre svega treba napraviti razliku izmedju pojmova: “baza podataka”, “sistem za upravljanje bazama podataka” (tzv.DBMS “Database Management System”) i samog “SQL jezika”.
“Relacijska baza podataka” je digitalna baza podataka na osnovu relacijskog modela podataka i predstavlja skup povezanih podataka koji zamenjuju neki aspekt stvarnog sveta.
“Relaciski sistem za upravljanje bazama podataka” (RDBMS) je softver koji se koristi za održavanje relacijskih baza podataka. On pruža interfejs između podataka i softverske aplikacije tj. prihvata zahtev za podacima iz aplikacije i nalaže operativnom sistemu da pruži određene podatke.
SQL (Structured Query Language) je jezik koji se koristi pri upravljanju relacionim bazama. Ovaj jezik je dizajniran da korisniku omogući čuvanje, pronalaženje, upravljanje ili manipulisanje podacima unutar sistema za upravljanje bazama
podataka (DBMS).
SQLlite
SQLite je “file-based” sistem koji ne zahteva nikakvu instalaciju ili podešavanje izuzetno male veličine oko 700KB. To znači da se aplikacija ne pokreće u okviru odvojenog procesa servera koji treba pokrenuti, zaustaviti ili konfigurisati. Ova arhitektura bez servera omogućava da baza podataka bude kompatibilna sa više platformi.
Kompletna baza podataka SQL sadržana je u jednoj datoteci diska i sva čitanja i upisivanja odvijaju se direktno na ovoj datoteci diska. Budući da baza podataka SQLite ne zahteva administraciju, ona dobro funkcioniše na uređajima koji moraju da rade bez ljudske podrške. SQLite je pogodan za upotrebu u mobilnim telefonima, set-top box uređajima, televizorima, igraćim konzolama… Ovo je jednostavan sistem koji podržava samo pet tipova podataka: BLOB, NULL, INTEGER, TEKST, REAL (dok napreednije dbms podržavaju skoro sve moguće tipove). Upravo njegova jednostavnost omogućava da za razliku od drugih naprednijih dbms-a bude veoma brz.
Jedan od glavnih nedostataka SQLite sistema je nedostatak mogućnosti rada sa više korisnika koje se mogu naći u RDBMS sistemima kao što su MySQL i PostgreSQL. Pošto radi samo sa jednim korisnikom SQLite ne pruža sistem za potvrdu identiteta pri pristupu datoteci baze podataka. Još jedan veliki nedostatak SQLite-a je rukovanje operacijama upisivanja koje su serializovane. Ovo može biti glavno usko grlo za aplikacije koje zahtevaju istovremeno izvršavanje operacija.
MySQL
Za razliku od SQLite, MySQL koristi arhitekturu server/klijent koja se sastoji od SQL servera sa više niti. Ova višenitna priroda MySQL-a omogućava veće performanse jer niti jezgra mogu lako koristiti više CPU-a. Ovaj sistem ima sigurnosne funkcije koje omogućavaju autentifikaciju korisnika, sistem upravljanja korisničkim računom i šifrovane veze pomoću SSL-a. Za razliku od SQLlite MySQL podržava rada sa više korisnika. Ovaj sistem je dostupan na svim većim platformama: Windows, Linux i Mac OS X.
Mana MySQL-a je ta da veći broj INSERT-ova može imati negativan uticaj na performanse (u ovome je odličan PostgreSQL). Takođe ne radi dobro sa dugotrajnim SELECT-ima te je u slučaju MySQL-a najbolje koristi manje SELECT-e.
PostgreSQL
Kao i MySQL, PostgreSQL koristi model baze podataka tipa klijent/server. PostgreSQL ima mogućnost da obrađuje istovremene klijentske sesije stvaranjem („račvanje“) novog procesa za svaku vezu. Poput MySQL, PostgreSQL takođe ima nekoliko naprednih funkcija vezanih za sigurnosti i replikaciju. Zbog svojih superiornih mogućnosti paralelne obrade, PostgreSQL je odličan (za razliku od MySQL-a) kada pokreće dugačke SELECT-ove. Kada se poredi sa MySQL-om u potrošnji energije tu je značajno lošiji i ima veliku potrošnju. Još jedan veliki nedostatak može se uočiti tokom čestih UPDATE-a, gde zbog nepodržane grupisanih indeksa PostgreSQL može imati negativan uticaj na performanse u poređenju sa MySQL bazama.
Microsoft SQL Server
Ovo je Microsoft-ov sistem za upravljanje relacionim bazama koj takodje koristi model baze podataka tipa klijent/server. Prednosti ovog sistema su relativno jednostavno održavanje, lak za upotrebu i razumevanje, a pristup i administracija su vrlo jednostavni. Može se koristiti kod malih i velikih projekata. SQL Server je razvio Microsoft prvobitno samo za operativni sistem Vindovs, mada je Microsoft objavio odluku da RDBMS učini dostupnim i na Linuksu kao i na Mac OS (putem Dockera).
Jedna od mana ovoga sistem je što novije verzije trebaju napredne tehnologije za pokretanje. Dakle, ako se vaš hardver sastoji uglavnom od starijeg hardvera, možda ćete morati da investirate u novije mašine da biste koristili Microsoft SQL Server.