PostgreSQL — la base de dades que hi ha darrere del teu web i de la teva botiga en línia
Cada producte, comanda, lead i pàgina que creeu a 4buildsite viu en una base de dades PostgreSQL. Mai no l'haureu d'administrar, però val la pena saber per què l'hem triat: integritat transaccional per als pagaments, fiabilitat demostrada durant gairebé 30 anys i cost de llicència zero en el vostre preu.
Què és PostgreSQL i què emmagatzema per al vostre web
PostgreSQL és un sistema de bases de dades relacional de codi obert, en desenvolupament continu des de 1996, amb arrels en el projecte POSTGRES de la Universitat de Califòrnia, Berkeley (1986). A 4buildsite, PostgreSQL és on viuen les dades del vostre web: productes i estoc, comandes i pagaments, leads dels formularis i contingut de les pàgines. Vosaltres treballeu a l'editor visual; PostgreSQL manté segur cada canvi.
Per què us ha d'importar si no sou programadors? Perquè la diferència entre una base de dades seriosa i una de fràgil es nota precisament en els moments difícils: un pic de trànsit durant una promoció, un pagament reintentat dues vegades, un reinici del servidor. PostgreSQL està dissenyat per superar aquests moments sense perdre ni corrompre dades; per això empreses com Instagram i Reddit el fan servir a gran escala, i històricament va impulsar la infraestructura de Skype.
- Productes, variants i estoc: el catàleg complet de la vostra botiga
- Comandes, pagaments amb Stripe i factures: el vostre historial de vendes, sense buits
- Leads dels formularis: cada sol·licitud de pressupost, desada amb garantia
- Contingut de pàgines i plantilles: tot el que editeu a l'editor visual
- Els dominis, la configuració i les versions publicades del vostre web
Comandes i pagaments sense dades corruptes: integritat ACID
Quan un client fa una comanda, passen diverses coses alhora: l'estoc disminueix, es crea la comanda i es registra el pagament amb Stripe. PostgreSQL les executa com una sola transacció: o passen totes, o no en passa cap. Si el pagament falla a mitges, l'estoc torna automàticament al valor inicial. Aquest comportament s'anomena ACID (Atomicity, Consistency, Isolation, Durability) i PostgreSQL el garanteix a totes les taules, sense cap configuració especial.
A més de les transaccions, PostgreSQL aplica regles d'integritat directament a la base de dades: una línia de comanda no pot referenciar un producte que no existeix, l'estoc no pot ser negatiu i el correu d'un compte no es pot duplicar. Aquestes restriccions (foreign keys, check, unique) aturen les dades incorrectes abans que entrin, no després que hagin espatllat l'informe de vendes.
En els marketplaces, la integritat importa doblement: les comissions i els pagaments dividits amb Stripe Connect es calculen a partir de les dades de les comandes. Una comanda duplicada o un import inconsistent significaria diners repartits incorrectament entre els venedors. Les transaccions de PostgreSQL mantenen aquests càlculs correctes, comanda a comanda.
Cerca al catàleg i contingut flexible
PostgreSQL inclou un motor de cerca de text complet: els clients escriuen «sabatilles de córrer» i troben els productes adequats, amb diccionaris de stemming que inclouen el romanès. L'extensió pg_trgm hi afegeix tolerància a errors tipogràfics. Per a una botiga, aquestes capacitats permeten cercar bé al catàleg sense un servei separat tipus Elasticsearch: menys components que poden fallar i uns costos d'infraestructura més baixos.
El contingut de les pàgines creades a l'editor visual no té una estructura fixa: un bloc hero, un formulari i una galeria tenen camps diferents. PostgreSQL ho resol amb JSONB: emmagatzematge JSON natiu, indexable amb índexs GIN i consultable com qualsevol columna. Obteniu la flexibilitat d'una base de dades de documents mantenint la integritat relacional per a comandes i pagaments, en un sol sistema, no en dos.
- tsvector + diccionaris de stemming (romanès inclòs): cerca rellevant al catàleg
- pg_trgm: els clients troben el producte fins i tot amb una errada tipogràfica
- JSONB amb índexs GIN: els blocs de pàgina flexibles continuen sent ràpids de consultar
Fiabilitat: còpia de seguretat, recuperació i cap sorpresa
PostgreSQL escriu cada canvi primer en un registre (WAL — Write-Ahead Log) i només després a les dades reals. Si el servidor s'atura de sobte, la base de dades es reconstrueix a partir del registre en reiniciar-se, sense dades corruptes. El mateix mecanisme és la base de la recuperació a un punt en el temps (PITR), una capacitat estàndard del motor per a instal·lacions que arxiven el registre WAL. A 4buildsite, les dades viuen en volums persistents, separats de l'aplicació, de manera que un reinici o una actualització de la plataforma no les toca mai.
PostgreSQL també admet la replicació en streaming: una còpia sincronitzada de la base de dades, a punt per assumir el trànsit quan calgui. Per al vostre web, la fiabilitat de la base de dades també compta per al SEO: un web que respon de manera consistent es rastreja i s'indexa de manera consistent, mentre que els errors 5xx repetits en dificulten el rastreig i la indexació.
Escalat i costos: creixeu sense factures de llicència
Quan la vostra botiga creix, PostgreSQL creix amb ella: els índexs mantenen les consultes ràpides en catàlegs de centenars de milers de productes, el particionat divideix l'historial de comandes per períodes i les rèpliques de lectura absorbeixen el trànsit d'informes. Instagram i Reddit van escalar amb PostgreSQL fins a centenars de milions d'usuaris: una botiga en línia arriba als límits d'aquesta tecnologia molt més tard del que pensa.
PostgreSQL té una llicència lliure (la PostgreSQL License, d'estil BSD): sense quotes de llicència i sense cap propietari comercial que pugui canviar les regles de la nit al dia. Les bases de dades comercials se solen llicenciar per nucli de CPU, i aquest cost acaba inevitablement en el preu del client. A 4buildsite, la base de dades està inclosa en el vostre pla, juntament amb l'allotjament i el SSL, sense cap tarifa a part.
Avantatges i limitacions
Avantatges
- Transaccions ACID completes: les comandes i els pagaments es mantenen consistents fins i tot davant d'errors o caigudes del servidor.
- Fiabilitat demostrada des de 1996, en producció a Instagram, Reddit i, històricament, Skype.
- JSONB natiu: contingut de pàgina flexible sense sacrificar la integritat relacional.
- Cerca de text complet integrada, amb stemming romanès: cerca al catàleg sense un servei a part.
- Llicència lliure: cost de llicència zero amagat en el preu del vostre pla.
- Registre WAL: després d'una aturada brusca del servidor, la base de dades es reconstrueix en reiniciar-se sense dades corruptes.
Limitacions
- L'administració avançada (tuning, replicació, failover) requereix experiència: a 4buildsite ens en encarreguem nosaltres, però autoallotjar-lo és exigent.
- Les escriptures viuen en un únic node primari: repartir-les entre nodes (sharding) no és natiu i necessita eines addicionals.
- Cada connexió utilitza comparativament més memòria: moltes connexions requereixen pooling (PgBouncer).
- La cerca de text complet és bona, però queda per sota dels motors dedicats en rellevància avançada i suggeriments de cerca.
Veredicte ràpid
PostgreSQL és l'opció estàndard per a webs, botigues en línia, marketplaces i plataformes SaaS on les comandes, els pagaments i els leads no es poden perdre mai. Un blog senzill podria viure amb menys, però amb la llicència lliure, a 4buildsite obteniu aquest nivell de seguretat igualment, sense cost addicional.
Taula d'especificacions
| Capacitat | Límit / llindar | Ús típic | |
|---|---|---|---|
| Integritat transaccional | ACID complet + MVCC, a totes les taules | Les transaccions molt llargues retenen recursos | Comandes, pagaments, estoc |
| JSONB | JSON natiu, indexable amb GIN | Les consultes JSON molt complexes són més lentes que les columnes clàssiques | Contingut de pàgines, configuració, atributs de producte |
| Cerca de text complet | tsvector + pg_trgm, multilingüe (romanès inclòs) | Rellevància inferior als motors de cerca dedicats | Cerca al catàleg de la botiga |
| Còpia de seguretat i replicació | WAL, PITR, replicació en streaming | El failover automàtic necessita eines externes (p. ex. Patroni) | Recuperació d'incidents, alta disponibilitat |
| Escalat | Rèpliques de lectura, particionat de taules | Les escriptures es mantenen al node primari | Catàlegs grans i historials de comandes |
| Cost | Codi obert, llicència lliure | El cost real és la infraestructura i l'administració | Inclòs en els plans de 4buildsite |
PostgreSQL vs MySQL vs MongoDB
| Criteri | PostgreSQL | MySQL | MongoDB |
|---|---|---|---|
| Integritat ACID | Completa, a totes les taules, per defecte | Completa només amb el motor InnoDB | Transaccions multidocument només des de la v4.0, amb límits |
| Tipus de dades i JSON | JSONB indexable + tipus rics (array, range) | JSON vàlid, indexació indirecta (columnes generades) | Documents BSON natius, sense esquema imposat |
| Cerca de text complet | Integrada: tsvector, pg_trgm, stemming multilingüe | Bàsica (InnoDB FTS) | Bàsica; l'avançada (Atlas Search) només al núvol comercial |
| Llicència / cost | PostgreSQL License: lliure, sense propietari comercial | GPL, propietat d'Oracle (edicions comercials) | SSPL: ja no és una llicència de codi obert clàssica |
| Ecosistema | Extensions potents (PostGIS, pgvector), compatible amb tots els ORM | Omnipresent en l'allotjament clàssic PHP/WordPress | Fort a Node.js, més limitat en altres entorns |
| Adequació al comerç electrònic | Excel·lent: comandes, estoc i pagaments garantits consistents | Bona: l'estàndard històric (Magento, WooCommerce) | Per a catàlegs flexibles; la consistència de comandes requereix un esforç addicional |
Preguntes freqüents
PostgreSQL afecta la velocitat del meu web?
Les pàgines públiques es serveixen des de Next.js amb memòria cau, i les consultes indexades de PostgreSQL responen en mil·lisegons. A la mida d'un web o botiga típics, la base de dades sol no ser el coll d'ampolla: el frontend i les imatges pesen molt més en la velocitat percebuda.
Per què no WordPress amb MySQL, com tothom?
WordPress és un CMS en PHP amb temes i connectors que necessiten manteniment i actualitzacions constants. 4buildsite genera webs amb Next.js recolzats per PostgreSQL: sense connectors que parchejar i amb menys forats de seguretat. MySQL no és una mala opció, però PostgreSQL hi afegeix JSONB indexable, millor cerca de text complet i una integritat més estricta, amb la mateixa llicència lliure.
Què passa amb les meves dades si cau el servidor?
PostgreSQL escriu cada canvi primer al registre WAL, de manera que en reiniciar-se la base de dades es reconstrueix sense dades corruptes: una caiguda brusca del servidor no corromp les vostres comandes. A més, les dades viuen en volums persistents, separats de l'aplicació, de manera que un reinici o una actualització de la plataforma no les toca mai.
Puc exportar les meves dades si deixo 4buildsite?
Sí. Les vostres dades viuen a PostgreSQL, un format estàndard de la indústria: productes, comandes i clients es poden exportar en formats habituals (CSV, SQL). No hi ha cap format propietari que us lligui a la plataforma.
PostgreSQL pot seguir el ritme si la meva botiga creix?
Sí, amb un marge molt ampli. Instagram i Reddit van escalar amb PostgreSQL fins a centenars de milions d'usuaris, amb índexs, particionat i rèpliques de lectura: les mateixes tècniques disponibles a 4buildsite. Una botiga en línia arriba als límits de PostgreSQL molt més tard que als seus propis límits logístics.
Quant costa la llicència de PostgreSQL?
Res. PostgreSQL té una llicència lliure (la PostgreSQL License, d'estil BSD), sense tarifes per servidor ni per nucli. A 4buildsite, la base de dades està inclosa en el vostre pla, juntament amb l'allotjament i el SSL: no pagueu res a part.