PostgreSQL — databáza vášho webu a e-shopu
Každý produkt, objednávka, lead a stránka, ktoré vytvoríte na 4buildsite, žijú v databáze PostgreSQL. Nemusíte ju spravovať vy — ale oplatí sa vedieť, prečo sme ju zvolili: transakčná integrita pre platby, spoľahlivosť overená takmer 30 rokmi a nulové licenčné náklady v cene, ktorú platíte.
Čo je PostgreSQL a čo všetko drží vo vašom webe
PostgreSQL je open-source relačný databázový systém, nepretržite vyvíjaný od roku 1996 — s koreňmi v projekte POSTGRES na Kalifornskej univerzite v Berkeley (1986). Na 4buildsite je PostgreSQL miestom, kde žijú dáta vášho webu: produkty a zásoby, objednávky a platby, leady z formulárov a obsah stránok. Vy pracujete vo vizuálnom editore; PostgreSQL bezpečne uchováva každú zmenu.
Prečo na tom záleží aj vám, ak nie ste programátor? Pretože rozdiel medzi serióznou a krehkou databázou sa ukáže presne v ťažkých chvíľach: špička návštevnosti pri akcii, platba spracovaná dvakrát, reštart servera. PostgreSQL je navrhnutý tak, aby tieto chvíle prešiel bez straty alebo poškodenia dát — preto ho vo veľkom meradle používajú spoločnosti ako Instagram a Reddit a historicky bol základom infraštruktúry Skype.
- Produkty, varianty a zásoby — kompletný katalóg vášho e-shopu
- Objednávky, platby Stripe a faktúry — história predajov bez medzier
- Leady z formulárov — každá žiadosť o ponuku je zaručene uložená
- Obsah stránok a šablón — všetko, čo upravujete vo vizuálnom editore
- Domény, nastavenia a publikované verzie vášho webu
Objednávky a platby bez poškodených dát — integrita ACID
Keď zákazník zadá objednávku, deje sa naraz viacero vecí: znižuje sa zásoba, vytvára sa objednávka, zaznamenáva sa platba Stripe. PostgreSQL ich vykoná ako jedinú transakciu: buď sa stanú všetky, alebo žiadna. Ak platba zlyhá v polovici, zásoba sa automaticky vráti na pôvodnú hodnotu. Toto správanie sa nazýva ACID (Atomicity, Consistency, Isolation, Durability) a PostgreSQL ho garantuje na každej tabuľke, bez špeciálnych nastavení.
Okrem transakcií presadzuje PostgreSQL pravidlá integrity priamo v databáze: riadok objednávky nemôže odkazovať na neexistujúci produkt, zásoba sa nemôže dostať do záporu, e-mail účtu sa nedá zduplikovať. Tieto obmedzenia (cudzie kľúče, check, unique) zastavia chybné dáta skôr, než sa dostanú dnu — nie potom, čo vám pokazili report predajov.
Pri marketplacoch má integrita dvojnásobný význam: provízie a platby rozdelené cez Stripe Connect sa počítajú z dát objednávky. Duplicitná objednávka alebo nekonzistentná suma by znamenali nesprávne rozdelené peniaze medzi predajcov. Transakcie PostgreSQL udržiavajú tieto výpočty správne, objednávku po objednávke.
Rýchle vyhľadávanie v katalógu a flexibilný obsah
PostgreSQL obsahuje fulltextový vyhľadávací engine: zákazníci hľadajú „bežecké topánky“ a nájdu zodpovedajúce produkty, so slovníkmi stemmingu aj pre rumunčinu. Rozšírenie pg_trgm pridáva toleranciu voči preklepom. Pre e-shop tieto schopnosti znamenajú, že v katalógu sa dá dobre vyhľadávať bez samostatnej služby typu Elasticsearch — teda menej komponentov, ktoré môžu zlyhať, a nižšie náklady na infraštruktúru.
Obsah stránok vytvorených vo vizuálnom editore nemá pevnú štruktúru — hero blok, formulár a galéria majú rôzne polia. PostgreSQL to rieši cez JSONB: ukladá natívny JSON, indexovateľný indexmi GIN, dotazovateľný ako ktorýkoľvek stĺpec. Získate flexibilitu dokumentovej databázy, no zachováte relačnú integritu pre objednávky a platby — v jednom systéme, nie v dvoch.
- tsvector + slovníky stemmingu (vrátane rumunčiny) — relevantné vyhľadávanie v katalógu
- pg_trgm — zákazníci nájdu produkt, aj keď sa pomýlia o jedno písmeno
- JSONB s indexmi GIN — flexibilné bloky stránok zostávajú rýchlo dotazovateľné
Spoľahlivosť: záloha, obnova a žiadne prekvapenia
PostgreSQL zapisuje každú zmenu najprv do žurnálu (WAL — Write-Ahead Log) a až potom do samotných dát. Ak sa server náhle zastaví, pri reštarte sa databáza rekonštruuje zo žurnálu, bez poškodených dát. Na tom istom mechanizme PostgreSQL stavia aj obnovu k danému okamihu (PITR) — štandardnú schopnosť enginu pri inštaláciách, ktoré archivujú žurnál WAL. Na 4buildsite sú dáta na perzistentných zväzkoch oddelených od aplikácie, takže reštart alebo aktualizácia platformy sa ich nedotkne.
PostgreSQL podporuje aj streaming replikáciu — synchronizovanú kópiu databázy, pripravenú v prípade potreby prevziať prevádzku. Pre váš web sa spoľahlivosť databázy priamo premieta do SEO a GEO: web, ktorý odpovedá stabilne, sa stabilne crawluje a indexuje, kým opakované chyby 5xx znižujú pozície v Google a sťažujú systémom AI čítanie obsahu.
Škálovanie a náklady — rastiete bez licenčných poplatkov
Keď e-shop rastie, rastie s ním aj PostgreSQL: indexy udržiavajú dotazy rýchle aj pri katalógoch so státisícmi produktov, partitioning rozdeľuje históriu objednávok podľa období a read repliky preberajú prevádzku reportov. Instagram a Reddit škálovali na PostgreSQL na stovky miliónov používateľov — online obchod dosiahne hranice tejto technológie omnoho neskôr, než si myslí.
PostgreSQL má voľnú licenciu (PostgreSQL License, typu BSD) — bez licenčných nákladov a bez komerčného vlastníka, ktorý by mohol zmeniť pravidlá cez noc. Komerčné databázy sa zvyčajne licencujú podľa jadra procesora a náklady sa nevyhnutne premietnu do ceny, ktorú platí zákazník. Na 4buildsite je databáza súčasťou plánu, spolu s hostingom a SSL — bez akéhokoľvek samostatného poplatku.
Výhody a obmedzenia
Výhody
- Plnohodnotné transakcie ACID — objednávky a platby zostávajú konzistentné aj pri chybách či výpadkoch servera.
- Spoľahlivosť overená od roku 1996, v produkcii v Instagrame, Reddite a historicky aj v Skype.
- Natívny JSONB — flexibilný obsah stránok bez obetovania relačnej integrity.
- Fulltextové vyhľadávanie v cene, so stemmingom pre rumunčinu — vyhľadávanie v katalógu bez samostatnej služby.
- Voľná licencia — nulový licenčný poplatok skrytý v cene vášho plánu.
- Žurnál WAL — pri náhlom zastavení servera sa databáza pri reštarte rekonštruuje bez poškodených dát.
Obmedzenia
- Pokročilá správa (tuning, replikácia, failover) vyžaduje skúsenosti — na 4buildsite ju robíme my, ale self-hosted je náročná.
- Zápisy idú cez jediný primárny uzol — distribúcia na viac uzlov (sharding) nie je natívna a vyžaduje ďalšie nástroje.
- Každé pripojenie spotrebúva pomerne veľa pamäte — pri veľkom počte pripojení je potrebný pooling (PgBouncer).
- Fulltextové vyhľadávanie je dobré, no pri pokročilej relevancii a návrhoch vyhľadávania zaostáva za dedikovanými enginmi.
Stručné zhrnutie
PostgreSQL je štandardná voľba pre weby, e-shopy, marketplacy a platformy SaaS, kde sa objednávky, platby a leady nesmú stratiť. Jednoduchý blog by si poradil aj s menej — no voľná licencia znamená, že na 4buildsite túto úroveň bezpečnosti dostanete tak či tak, bez dodatočných nákladov.
Tabuľka špecifikácií
| Schopnosť | Limit / prah | Typické použitie | |
|---|---|---|---|
| Transakčná integrita | Plné ACID + MVCC, na každej tabuľke | Veľmi dlhé transakcie držia zdroje zablokované | Objednávky, platby, zásoby |
| JSONB | Natívny JSON, indexovateľný cez GIN | Veľmi zložité dotazy nad JSON sú pomalšie než nad klasickými stĺpcami | Obsah stránok, nastavenia, atribúty produktov |
| Fulltextové vyhľadávanie | tsvector + pg_trgm, viacjazyčné (vrátane rumunčiny) | Relevancia pod úrovňou dedikovaných vyhľadávacích enginov | Vyhľadávanie v katalógu e-shopu |
| Záloha a replikácia | WAL, PITR, streaming replikácia | Automatický failover vyžaduje externé nástroje (napr. Patroni) | Obnova po incidentoch, vysoká dostupnosť |
| Škálovanie | Read repliky, partitioning tabuliek | Zápisy zostávajú na primárnom uzle | Veľké katalógy a história objednávok |
| Náklady | Open-source, voľná licencia | Skutočné náklady sú infraštruktúra a správa | V cene plánov 4buildsite |
PostgreSQL vs MySQL vs MongoDB
| Kritérium | PostgreSQL | MySQL | MongoDB |
|---|---|---|---|
| Integrita ACID | Úplná, na každej tabuľke, predvolene | Úplná iba s enginom InnoDB | Transakcie nad viacerými dokumentmi až od v4.0, s obmedzeniami |
| Dátové typy a JSON | Indexovateľný JSONB + bohaté typy (array, range) | Platný JSON, nepriame indexovanie (generované stĺpce) | Natívne dokumenty BSON, bez vynútenej schémy |
| Fulltextové vyhľadávanie | V cene: tsvector, pg_trgm, viacjazyčný stemming | Základné (InnoDB FTS) | Základné; pokročilá varianta (Atlas Search) iba v komerčnom cloude |
| Licencia / náklady | PostgreSQL License — voľná, bez komerčného vlastníka | GPL, vlastní ju Oracle (komerčné edície) | SSPL — už to nie je klasická open-source licencia |
| Ekosystém | Výkonné rozšírenia (PostGIS, pgvector), podpora vo všetkých ORM | Všadeprítomná v klasickom PHP/WordPress hostingu | Silná v Node.js, inde užšia |
| Vhodnosť pre e-commerce | Výborná — objednávky, zásoby a platby zaručene konzistentné | Dobrá — historický štandard (Magento, WooCommerce) | Pre flexibilné katalógy; konzistencia objednávok vyžaduje dodatočné úsilie |
Často kladené otázky
Ovplyvňuje PostgreSQL rýchlosť môjho webu?
Nie v negatívnom zmysle. Verejné stránky sa servírujú z Next.js s cache a indexované dotazy PostgreSQL odpovedajú v milisekundách. Pri veľkosti typického webu alebo e-shopu databáza zvyčajne nie je úzkym miestom — pre vnímanú rýchlosť sú rozhodujúcejší frontend a obrázky.
Prečo nie WordPress s MySQL, ako všetci?
WordPress je PHP CMS s témami a pluginmi, ktoré treba neustále udržiavať a aktualizovať. 4buildsite generuje weby v Next.js s PostgreSQL: bez pluginov, ktoré treba záplatovať, a s menším počtom bezpečnostných trhlín. MySQL nie je zlá voľba — ale PostgreSQL pridáva indexovateľný JSONB, lepšie fulltextové vyhľadávanie a prísnejšiu integritu, pri rovnakej voľnej licencii.
Čo sa stane s mojimi dátami, ak server spadne?
PostgreSQL zapisuje každú zmenu najprv do žurnálu WAL, takže pri reštarte sa databáza rekonštruuje bez poškodených dát — náhly výpadok servera vám objednávky nepoškodí. Dáta sú navyše na perzistentných zväzkoch oddelených od aplikácie, takže reštart alebo aktualizácia platformy sa ich nedotkne.
Môžem si dáta exportovať, ak odídem z 4buildsite?
Áno. Vaše dáta sú v PostgreSQL, štandardnom formáte v odbore — produkty, objednávky a zákazníkov možno exportovať v bežných formátoch (CSV, SQL). Neexistuje proprietárny formát, ktorý by vás viazal na platformu.
Zvládne PostgreSQL rast môjho e-shopu?
Áno, s veľkou rezervou. Instagram a Reddit škálovali na PostgreSQL na stovky miliónov používateľov pomocou indexov, partitioningu a read replík — rovnaké techniky sú dostupné aj na 4buildsite. Online obchod narazí na limity PostgreSQL omnoho neskôr než na limity vlastnej logistiky.
Koľko ma stojí licencia PostgreSQL?
Nič. PostgreSQL má voľnú licenciu (PostgreSQL License, typu BSD), bez poplatkov za server či jadro. Na 4buildsite je databáza súčasťou vášho plánu spolu s hostingom a SSL — nič za ňu osobitne neplatíte.