PostgreSQL — baza podataka iza vaše web-stranice i online trgovine
Svaki proizvod, narudžba, lead i stranica koje kreirate na 4buildsite žive u PostgreSQL bazi podataka. Nikada je ne morate administrirati — ali vrijedi znati zašto smo je odabrali: transakcijski integritet za plaćanja, pouzdanost dokazana tokom skoro 30 godina i nula troška licence u vašoj cijeni.
Šta je PostgreSQL i šta pohranjuje za vašu web stranicu
PostgreSQL je open-source sistem relacijskih baza podataka, u kontinuiranom razvoju od 1996. — s korijenima u projektu POSTGRES na Univerzitetu Kalifornije u Berkeleyju (1986). Na 4buildsite, PostgreSQL je mjesto gdje žive podaci vaše web stranice: proizvodi i zalihe, narudžbe i plaćanja, leadovi iz formulara i sadržaj stranica. Vi radite u vizuelnom uređivaču; PostgreSQL čuva svaku promjenu na sigurnom.
Zašto je to važno vama ako niste programer? Zato što se razlika između ozbiljne i krhke baze podataka vidi upravo u teškim trenucima: skok saobraćaja tokom promocije, plaćanje ponovljeno dvaput, ponovno pokretanje servera. PostgreSQL je projektovan da prođe kroz te trenutke bez gubitka ili oštećenja podataka — zbog čega ga kompanije poput Instagrama i Reddita koriste u velikom obimu, a historijski je pokretao i infrastrukturu Skypea.
- Proizvodi, varijante i zalihe — kompletan katalog vaše trgovine
- Narudžbe, Stripe plaćanja i fakture — historija vaše prodaje, bez praznina
- Leadovi iz formulara — svaki zahtjev za ponudu zagarantovano je sačuvan
- Sadržaj stranica i šablona — sve što uređujete u vizuelnom uređivaču
- Domene, postavke i objavljene verzije vaše stranice
Narudžbe i plaćanja bez oštećenih podataka — ACID integritet
Kada kupac napravi narudžbu, istovremeno se dešava nekoliko stvari: zaliha se smanjuje, narudžba se kreira, Stripe plaćanje se bilježi. PostgreSQL ih izvršava kao jednu transakciju: ili se dese sve, ili nijedna. Ako plaćanje propadne na pola puta, zaliha se automatski vraća na početnu vrijednost. Ovo ponašanje zove se ACID (Atomicity, Consistency, Isolation, Durability), a PostgreSQL ga garantuje na svakoj tabeli, bez posebne konfiguracije.
Osim transakcija, PostgreSQL provodi pravila integriteta direktno u bazi podataka: stavka narudžbe ne može upućivati na proizvod koji ne postoji, zaliha ne može postati negativna, e-mail naloga ne može biti duplikat. Ova ograničenja (foreign key, check, unique) zaustavljaju loše podatke prije nego uđu — a ne nakon što su pokvarili vaš izvještaj o prodaji.
Za marketplaceove integritet je važan dvostruko: provizije i podijeljena plaćanja putem Stripe Connecta računaju se iz podataka o narudžbama. Duplicirana narudžba ili nedosljedan iznos značili bi pogrešno podijeljen novac među prodavačima. PostgreSQL transakcije održavaju te proračune ispravnim, narudžbu po narudžbu.
Brza pretraga kataloga i fleksibilan sadržaj
PostgreSQL dolazi s mehanizmom za pretragu cijelog teksta: kupci upišu „patike za trčanje“ i pronađu odgovarajuće proizvode, uz rječnike za stemming koji uključuju rumunski. Ekstenzija pg_trgm dodaje toleranciju na greške u kucanju. Za trgovinu te mogućnosti znače da se katalog može dobro pretraživati bez posebnog servisa tipa Elasticsearch — dakle manje komponenti koje mogu zatajiti i niži troškovi infrastrukture.
Sadržaj stranica izgrađenih u vizuelnom uređivaču nema fiksnu strukturu — hero blok, formular i galerija imaju različita polja. PostgreSQL to rješava pomoću JSONB-a: izvorna pohrana JSON-a, indeksabilna GIN indeksima, upitljiva kao bilo koja kolona. Dobijate fleksibilnost dokumentne baze podataka uz zadržavanje relacijskog integriteta za narudžbe i plaćanja — u jednom sistemu, a ne u dva.
- tsvector + rječnici za stemming (uključujući rumunski) — relevantna pretraga kataloga
- pg_trgm — kupci pronalaze proizvod čak i uz grešku u kucanju
- JSONB s GIN indeksima — fleksibilni blokovi stranica ostaju brzi za upite
Pouzdanost: sigurnosna kopija, oporavak i bez iznenađenja
PostgreSQL svaku promjenu prvo zapisuje u dnevnik (WAL — Write-Ahead Log), a tek zatim u same podatke. Ako se server naglo zaustavi, baza podataka se pri ponovnom pokretanju obnavlja iz dnevnika, bez oštećenih podataka. Isti mehanizam je osnova na kojoj PostgreSQL gradi oporavak do određene tačke u vremenu (PITR) — standardnu mogućnost sistema za instalacije koje arhiviraju WAL dnevnik. Na 4buildsite podaci žive na trajnim volumenima, odvojeno od aplikacije, pa ih ponovno pokretanje ili ažuriranje platforme nikada ne dira.
PostgreSQL podržava i streaming replikaciju — sinhronizovanu kopiju baze podataka, spremnu da preuzme saobraćaj kada zatreba. Za vašu web stranicu pouzdana baza podataka znači da stranice odgovaraju dosljedno, bez ponovljenih 5xx grešaka — i posjetiocima i crawlerima.
Skaliranje i troškovi — rast bez računa za licence
Kada vaša trgovina raste, PostgreSQL raste s njom: indeksi održavaju upite brzima na katalozima sa stotinama hiljada proizvoda, particionisanje dijeli historiju narudžbi po periodima, a read replike preuzimaju saobraćaj izvještavanja. Instagram i Reddit skalirali su se na PostgreSQL-u do stotina miliona korisnika — online trgovina dostiže granice ove tehnologije mnogo kasnije nego što misli.
PostgreSQL ima besplatnu licencu (PostgreSQL License, u stilu BSD-a) — bez naknada za licencu i bez komercijalnog vlasnika koji može preko noći promijeniti pravila. Komercijalne baze podataka obično se licenciraju po CPU jezgru, a taj trošak neizbježno završi u cijeni za klijenta. Na 4buildsite baza podataka je uključena u vaš paket, uz hosting i SSL — bez posebne naknade.
Prednosti i nedostaci
Prednosti
- Potpune ACID transakcije — narudžbe i plaćanja ostaju konzistentni čak i kroz greške ili padove servera.
- Pouzdanost dokazana od 1996., u produkciji na Instagramu, Redditu i, historijski, Skypeu.
- Izvorni JSONB — fleksibilan sadržaj stranica bez žrtvovanja relacijskog integriteta.
- Ugrađena pretraga cijelog teksta, s rumunskim stemmingom — pretraga kataloga bez posebnog servisa.
- Besplatna licenca — nula troška licence skrivenog u cijeni vašeg paketa.
- WAL dnevnik — nakon naglog zaustavljanja servera baza podataka se pri ponovnom pokretanju obnavlja bez oštećenih podataka.
Ograničenja
- Napredno administriranje (tuning, replikacija, failover) zahtijeva stručnost — na 4buildsite to radimo mi, ali vlastito hostovanje je zahtjevno.
- Upisi žive na jednom primarnom čvoru — njihovo širenje na više čvorova (sharding) nije izvorno i zahtijeva dodatne alate.
- Svaka konekcija troši razmjerno više memorije — veliki broj konekcija zahtijeva pooling (PgBouncer).
- Pretraga cijelog teksta je dobra, ali slabija od namjenskih mehanizama za naprednu relevantnost i prijedloge pretrage.
Brzi zaključak
PostgreSQL je standardni izbor za web stranice, online trgovine, marketplaceove i SaaS platforme gdje se narudžbe, plaćanja i leadovi nikada ne smiju izgubiti. Jednostavan blog mogao bi proći i s manje — ali besplatna licenca znači da na 4buildsite ovaj nivo sigurnosti dobijate svejedno, bez dodatnog troška.
Tabela specifikacija
| Mogućnost | Granica / prag | Tipična upotreba | |
|---|---|---|---|
| Transakcijski integritet | Potpuni ACID + MVCC, na svakoj tabeli | Veoma duge transakcije drže resurse | Narudžbe, plaćanja, zalihe |
| JSONB | Izvorni JSON, indeksabilan GIN-om | Veoma složeni JSON upiti sporiji su od klasičnih kolona | Sadržaj stranica, postavke, atributi proizvoda |
| Pretraga cijelog teksta | tsvector + pg_trgm, višejezično (uključujući rumunski) | Relevantnost slabija od namjenskih mehanizama za pretragu | Pretraga kataloga trgovine |
| Sigurnosna kopija i replikacija | WAL, PITR, streaming replikacija | Automatski failover zahtijeva vanjske alate (npr. Patroni) | Oporavak nakon incidenta, visoka dostupnost |
| Skaliranje | Read replike, particionisanje tabela | Upisi ostaju na primarnom čvoru | Veliki katalozi i historija narudžbi |
| Trošak | Open-source, besplatna licenca | Stvarni trošak je infrastruktura i administriranje | Uključeno u 4buildsite pakete |
PostgreSQL naspram MySQL-a i MongoDB-a
| Kriterij | PostgreSQL | MySQL | MongoDB |
|---|---|---|---|
| ACID integritet | Potpun, na svakoj tabeli, po zadanim postavkama | Potpun samo uz InnoDB engine | Transakcije nad više dokumenata tek od v4.0, uz ograničenja |
| Tipovi podataka i JSON | Indeksabilan JSONB + bogati tipovi (array, range) | Validan JSON, indirektno indeksiranje (generisane kolone) | Izvorni BSON dokumenti, bez nametnute šeme |
| Pretraga cijelog teksta | Ugrađena: tsvector, pg_trgm, višejezični stemming | Osnovna (InnoDB FTS) | Osnovna; napredna (Atlas Search) samo u komercijalnom cloudu |
| Licenca / trošak | PostgreSQL License — besplatna, bez komercijalnog vlasnika | GPL, u vlasništvu Oraclea (komercijalna izdanja) | SSPL — više nije klasična open-source licenca |
| Ekosistem | Snažne ekstenzije (PostGIS, pgvector), podržan u svakom ORM-u | Sveprisutan u klasičnom PHP/WordPress hostingu | Snažan uz Node.js, uži drugdje |
| Pogodnost za e-trgovinu | Odlična — narudžbe, zalihe i plaćanja zagarantovano konzistentni | Dobra — historijski standard (Magento, WooCommerce) | Za fleksibilne kataloge; konzistentnost narudžbi zahtijeva dodatni trud |
Često postavljana pitanja
Utiče li PostgreSQL na brzinu moje web stranice?
Ne negativno. Javne stranice servira Next.js uz keširanje, a indeksirani PostgreSQL upiti odgovaraju u milisekundama. Pri veličini tipične web stranice ili trgovine baza podataka rijetko je usko grlo — za doživljenu brzinu mnogo su važniji frontend i slike.
Zašto ne WordPress s MySQL-om, kao svi ostali?
WordPress je PHP CMS s temama i dodacima koji zahtijevaju stalno održavanje i ažuriranje. 4buildsite generiše Next.js web stranice s PostgreSQL-om u pozadini: bez dodataka koje treba krpiti i s manje sigurnosnih propusta. MySQL nije loš izbor — ali PostgreSQL dodaje indeksabilan JSONB, bolju pretragu cijelog teksta i strožiji integritet, pod istom besplatnom licencom.
Šta se dešava s mojim podacima ako server padne?
PostgreSQL svaku promjenu prvo zapisuje u WAL dnevnik, pa se pri ponovnom pokretanju baza podataka obnavlja bez oštećenih podataka — nagli pad servera ne kvari vaše narudžbe. Osim toga, podaci žive na trajnim volumenima, odvojeno od aplikacije, pa ih ponovno pokretanje ili ažuriranje platforme nikada ne dira.
Mogu li izvesti svoje podatke ako napustim 4buildsite?
Da. Vaši podaci žive u PostgreSQL-u, industrijskom standardnom formatu — proizvodi, narudžbe i kupci mogu se izvesti u uobičajenim formatima (CSV, SQL). Ne postoji vlasnički format koji vas veže za platformu.
Može li PostgreSQL pratiti rast moje trgovine?
Da, s vrlo velikom rezervom. Instagram i Reddit skalirali su se na PostgreSQL-u do stotina miliona korisnika, koristeći indekse, particionisanje i read replike — iste tehnike dostupne su i na 4buildsite. Online trgovina dostiže granice PostgreSQL-a mnogo kasnije nego granice vlastite logistike.
Koliko košta licenca za PostgreSQL?
Ništa. PostgreSQL ima besplatnu licencu (PostgreSQL License, u stilu BSD-a), bez naknada po serveru ili po jezgru. Na 4buildsite baza podataka je uključena u vaš paket, zajedno s hostingom i SSL-om — za nju ne plaćate ništa posebno.