PostgreSQL — baza podataka vašeg sajta i prodavnice
Svaki proizvod, porudžbina, lead i stranica koje kreirate na 4buildsite žive u PostgreSQL bazi podataka. Ne morate vi da je administrirate — ali vredi znati zašto smo je izabrali: transakcioni integritet za plaćanja, pouzdanost proverena skoro 30 godina i nula troškova licence u vašoj ceni.
Šta je PostgreSQL i šta on čuva na vašem sajtu
PostgreSQL je relacioni sistem za upravljanje bazama podataka otvorenog koda, koji se kontinuirano razvija od 1996. godine — sa korenima u projektu POSTGRES sa Univerziteta Berkli (1986). Na 4buildsite-u PostgreSQL je mesto gde žive podaci vašeg sajta: proizvodi i zalihe, porudžbine i plaćanja, lead-ovi iz formulara i sadržaj stranica. Vi radite u vizuelnom editoru; PostgreSQL bezbedno čuva svaku izmenu.
Zašto je to važno za vas, ako niste programer? Zato što se razlika između ozbiljne i krhke baze podataka vidi baš u teškim trenucima: nalet saobraćaja tokom promocije, plaćanje poslato dvaput, restart servera. PostgreSQL je projektovan da prođe kroz te trenutke bez gubitka ili oštećenja podataka — zato ga u velikom obimu koriste kompanije poput Instagrama i Reddita, a istorijski je bio u osnovi infrastrukture Skype-a.
- Proizvodi, varijante i zalihe — kompletan katalog vaše prodavnice
- Porudžbine, Stripe plaćanja i fakture — istorija prodaje, bez rupa
- Lead-ovi iz formulara — svaki zahtev za ponudu je zagarantovano sačuvan
- Sadržaj stranica i šablona — sve što uređujete u vizuelnom editoru
- Domeni, podešavanja i objavljene verzije vašeg sajta
Porudžbine i plaćanja bez oštećenih podataka — ACID integritet
Kada kupac poruči, istovremeno se dešava više stvari: smanjuju se zalihe, kreira se porudžbina, beleži se Stripe plaćanje. PostgreSQL ih izvršava kao jednu transakciju: ili se dese sve, ili nijedna. Ako plaćanje propadne na pola puta, zalihe se automatski vraćaju na početnu vrednost. Ovo ponašanje se zove ACID (Atomicity, Consistency, Isolation, Durability) i PostgreSQL ga garantuje na svakoj tabeli, bez posebnih podešavanja.
Pored transakcija, PostgreSQL nameće pravila integriteta direktno u bazi: stavka porudžbine ne može da upućuje na nepostojeći proizvod, zaliha ne može postati negativna, email naloga ne može da se duplira. Ova ograničenja (strani ključevi, check, unique) zaustavljaju pogrešne podatke pre nego što uđu — a ne nakon što vam pokvare izveštaj o prodaji.
Za marketplace-ove integritet važi dvostruko: provizije i podeljena plaćanja preko Stripe Connect-a računaju se iz podataka porudžbine. Duplirana porudžbina ili nedosledan iznos značili bi pogrešno podeljen novac između prodavaca. PostgreSQL transakcije održavaju te proračune tačnim, porudžbinu po porudžbinu.
Pretraga kataloga i fleksibilan sadržaj
PostgreSQL uključuje full-text pretraživač: kupci traže „patike za trčanje“ i pronalaze odgovarajuće proizvode, uz rečnike za stemming koji obuhvataju i rumunski jezik. Ekstenzija pg_trgm dodaje toleranciju na greške u kucanju. Za prodavnicu to znači da se katalog može dobro pretraživati bez posebnog servisa tipa Elasticsearch — dakle manje komponenti koje mogu da otkažu i niži troškovi infrastrukture.
Sadržaj stranica izgrađenih u vizuelnom editoru nema fiksnu strukturu — hero blok, formular i galerija imaju različita polja. PostgreSQL to rešava pomoću JSONB-a: čuva nativni JSON, indeksabilan GIN indeksima, upitljiv kao bilo koja kolona. Dobijate fleksibilnost baze dokumenata, ali zadržavate relacioni integritet za porudžbine i plaćanja — u istom sistemu, a ne u dva.
- tsvector + rečnici za stemming (rumunski uključen) — relevantna pretraga kataloga
- pg_trgm — kupci pronalaze proizvod čak i ako pogreše slovo
- JSONB sa GIN indeksima — fleksibilni blokovi stranica ostaju dostupni za upite
Pouzdanost: backup, oporavak i bez iznenađenja
PostgreSQL svaku izmenu prvo upisuje u dnevnik (WAL — Write-Ahead Log), a tek zatim u same podatke. Ako se server naglo zaustavi, pri ponovnom pokretanju baza se rekonstruiše iz dnevnika, bez oštećenih podataka. Na istom mehanizmu PostgreSQL gradi i oporavak do tačke u vremenu (PITR) — standardnu mogućnost motora za instalacije koje arhiviraju WAL dnevnik. Na 4buildsite-u podaci se nalaze na trajnim volumenima, odvojenim od aplikacije, pa ih restart ili ažuriranje platforme ne dotiču.
PostgreSQL podržava i streaming replikaciju — sinhronizovanu kopiju baze podataka, spremnu da preuzme saobraćaj po potrebi. Za vaš sajt pouzdanost baze podataka utiče na SEO i GEO: sajt koji stalno odgovara može da se stalno crawl-uje i indeksira, dok ponovljene 5xx greške otežavaju crawlovanje.
Skaliranje i troškovi — rastite bez računa za licence
Kada prodavnica raste, PostgreSQL raste sa njom: indeksi održavaju upite brzim na katalozima sa stotinama hiljada proizvoda, particionisanje deli istoriju porudžbina po periodima, a replike za čitanje preuzimaju saobraćaj izveštaja. Instagram i Reddit su se na PostgreSQL-u skalirali do stotina miliona korisnika — onlajn prodavnica stiže do granica ove tehnologije mnogo kasnije nego što misli.
PostgreSQL ima slobodnu licencu (PostgreSQL License, BSD tipa) — bez troškova licence i bez komercijalnog vlasnika koji preko noći može da promeni pravila. Komercijalne baze podataka se obično licenciraju po jezgru procesora, a trošak neizbežno završi u ceni koju plaća klijent. Na 4buildsite-u baza podataka je uključena u plan, zajedno sa hostingom i SSL-om — bez ikakve posebne naknade.
Prednosti i ograničenja
Prednosti
- Pune ACID transakcije — porudžbine i plaćanja ostaju konzistentni čak i pri greškama ili padu servera.
- Pouzdanost dokazana od 1996, u produkciji na Instagramu, Reddit-u i, istorijski, Skype-u.
- Nativni JSONB — fleksibilan sadržaj stranica bez žrtvovanja relacionog integriteta.
- Ugrađena full-text pretraga, sa stemming-om za rumunski — pretraga kataloga bez posebnog servisa.
- Slobodna licenca — nula troška licence skrivenog u ceni vašeg plana.
- WAL dnevnik — pri naglom zaustavljanju servera baza se pri ponovnom pokretanju rekonstruiše bez oštećenih podataka.
Ograničenja
- Napredna administracija (tuning, replikacija, failover) zahteva iskustvo — na 4buildsite-u to radimo mi, ali self-hosted je zahtevno.
- Upisi idu na jedan primarni čvor — raspodela na više čvorova (sharding) nije nativna i traži dodatne alate.
- Svaka konekcija troši relativno mnogo memorije — pri velikom broju konekcija potreban je pooling (PgBouncer).
- Full-text pretraga je dobra, ali ispod namenskih pretraživača po naprednoj relevantnosti i predlozima pretrage.
Kratak zaključak
PostgreSQL je standardni izbor za sajtove, onlajn prodavnice, marketplace-ove i SaaS platforme u kojima porudžbine, plaćanja i lead-ovi ne smeju da se izgube. Jednostavan blog bi se snašao i sa manje — ali slobodna licenca znači da na 4buildsite-u ovaj nivo sigurnosti ionako dobijate bez dodatnog troška.
Tabela specifikacija
| Mogućnost | Ograničenje / prag | Tipična upotreba | |
|---|---|---|---|
| Transakcioni integritet | Pun ACID + MVCC, na svakoj tabeli | Veoma duge transakcije drže resurse zaključanim | Porudžbine, plaćanja, zalihe |
| JSONB | Nativni JSON, indeksabilan pomoću GIN-a | Veoma složeni upiti nad JSON-om sporiji su nego nad klasičnim kolonama | Sadržaj stranica, podešavanja, atributi proizvoda |
| Full-text pretraga | tsvector + pg_trgm, višejezično (rumunski uključen) | Relevantnost ispod namenskih pretraživača | Pretraga kataloga prodavnice |
| Backup i replikacija | WAL, PITR, streaming replikacija | Automatski failover traži spoljne alate (npr. Patroni) | Oporavak posle incidenata, visoka dostupnost |
| Skaliranje | Replike za čitanje, particionisanje tabela | Upisi ostaju na primarnom čvoru | Veliki katalozi i istorije porudžbina |
| Cena | Open-source, slobodna licenca | Pravi trošak su infrastruktura i administracija | Uključeno u 4buildsite planove |
PostgreSQL naspram MySQL-a naspram MongoDB-a
| Kriterijum | PostgreSQL | MySQL | MongoDB |
|---|---|---|---|
| ACID integritet | Potpun, na svakoj tabeli, podrazumevano | Potpun samo sa InnoDB motorom | Transakcije nad više dokumenata tek od v4.0, uz ograničenja |
| Tipovi podataka i JSON | Indeksabilan JSONB + bogati tipovi (array, range) | Validan JSON, posredno indeksiranje (generisane kolone) | Nativni BSON dokumenti, bez nametnute šeme |
| Full-text pretraga | Uključena: tsvector, pg_trgm, višejezični stemming | Osnovna (InnoDB FTS) | Osnovna; napredna varijanta (Atlas Search) samo u komercijalnom cloud-u |
| Licenca / cena | PostgreSQL License — slobodna, bez komercijalnog vlasnika | GPL, u vlasništvu Oracle-a (komercijalna izdanja) | SSPL — više nije klasična open-source licenca |
| Ekosistem | Snažne ekstenzije (PostGIS, pgvector), podrška u svim ORM-ovima | Sveprisutan u klasičnom PHP/WordPress hostingu | Snažan na Node.js-u, uži u ostalim okruženjima |
| Pogodnost za e-trgovinu | Odlična — porudžbine, zalihe i plaćanja zagarantovano konzistentni | Dobra — istorijski standard (Magento, WooCommerce) | Za fleksibilne kataloge; konzistentnost porudžbina traži dodatni trud |
Često postavljana pitanja
Da li PostgreSQL utiče na brzinu mog sajta?
Ne u negativnom smislu. Javne stranice se serviraju iz Next.js-a sa kešom, a baza podataka se pri čitanju oslanja na indekse. Pri veličini tipičnog sajta ili prodavnice baza podataka obično nije usko grlo — frontend i slike mnogo više utiču na percipiranu brzinu.
Zašto ne WordPress sa MySQL-om, kao svi?
WordPress je PHP CMS sa temama i plugin-ovima koje treba stalno održavati i ažurirati. 4buildsite generiše Next.js sajtove sa PostgreSQL-om: bez plugin-ova koje treba krpiti i sa manje sigurnosnih propusta. MySQL nije loš izbor — ali PostgreSQL dodaje indeksabilan JSONB, bolju full-text pretragu i stroži integritet, uz istu slobodnu licencu.
Šta se dešava sa mojim podacima ako server padne?
PostgreSQL svaku izmenu prvo upisuje u WAL dnevnik, pa se pri ponovnom pokretanju baza rekonstruiše bez oštećenih podataka — nagli pad servera ne kvari vaše porudžbine. Pored toga, podaci se nalaze na trajnim volumenima, odvojenim od aplikacije, pa ih restart ili ažuriranje platforme ne dotiču.
Mogu li da izvezem svoje podatke ako napustim 4buildsite?
Da. Vaši podaci su u PostgreSQL-u, industrijskom standardnom formatu — proizvodi, porudžbine i klijenti mogu se izvesti u uobičajenim formatima (CSV, SQL). Ne postoji vlasnički format koji bi vas vezao za platformu.
Može li PostgreSQL da izdrži ako moja prodavnica raste?
Da, sa veoma velikom rezervom. Instagram i Reddit su se na PostgreSQL-u skalirali do stotina miliona korisnika, koristeći indekse, particionisanje i replike za čitanje — iste tehnike dostupne su i na 4buildsite-u. Onlajn prodavnica stiže do granica PostgreSQL-a mnogo kasnije nego do granica sopstvene logistike.
Koliko me košta PostgreSQL licenca?
Ništa. PostgreSQL ima slobodnu licencu (PostgreSQL License, BSD tipa), bez naknada po serveru ili po jezgru. Na 4buildsite-u je baza podataka uključena u vaš plan, zajedno sa hostingom i SSL-om — za nju ne plaćate ništa posebno.