Teknologiat

← Etusivu
Data ja tallennus

PostgreSQL — sivustosi ja verkkokauppasi tietokanta

Jokainen tuote, tilaus, liidi ja sivu, jonka luot 4buildsitessa, elää PostgreSQL-tietokannassa. Sinun ei tarvitse ylläpitää sitä — mutta kannattaa tietää, miksi valitsimme sen: transaktioiden eheys maksuille, lähes 30 vuoden todistettu luotettavuus ja nolla lisenssikustannusta hinnassasi.

Mikä PostgreSQL on ja mitä se säilyttää sivustollasi

PostgreSQL on avoimen lähdekoodin relaatiotietokantajärjestelmä, jota on kehitetty jatkuvasti vuodesta 1996 — sen juuret ovat Berkeleyn yliopiston POSTGRES-projektissa (1986). 4buildsitessa PostgreSQL on paikka, jossa sivustosi data elää: tuotteet ja varastosaldot, tilaukset ja maksut, lomakkeiden liidit ja sivujen sisältö. Sinä työskentelet visuaalieditorissa; PostgreSQL säilyttää jokaisen muutoksen turvassa.

Miksi sillä on merkitystä sinulle, jos et ole ohjelmoija? Koska ero vakavasti otettavan ja hauraan tietokannan välillä näkyy juuri vaikeina hetkinä: liikennepiikki kampanjan aikana, kahdesti toistettu maksu, palvelimen uudelleenkäynnistys. PostgreSQL on suunniteltu selviämään näistä hetkistä menettämättä tai vioittamatta dataa — siksi sitä käyttävät laajassa mittakaavassa Instagramin ja Redditin kaltaiset yritykset, ja historiallisesti se on ollut Skypen infrastruktuurin perustana.

  • Tuotteet, variantit ja varastosaldot — verkkokauppasi koko katalogi
  • Tilaukset, Stripe-maksut ja laskut — myyntihistoria ilman aukkoja
  • Lomakkeiden liidit — jokainen tarjouspyyntö tallennetaan
  • Sivujen ja mallipohjien sisältö — kaikki, mitä muokkaat visuaalieditorissa
  • Sivustosi verkkotunnukset, asetukset ja julkaistut versiot

Tilaukset ja maksut ilman vioittunutta dataa — ACID-eheys

Kun asiakas tekee tilauksen, tapahtuu useita asioita yhtä aikaa: varastosaldo pienenee, tilaus luodaan, Stripe-maksu kirjataan. PostgreSQL suorittaa ne yhtenä transaktiona: joko kaikki tapahtuu tai ei mikään. Jos maksu epäonnistuu puolivälissä, varastosaldo palautuu automaattisesti alkuperäiseen arvoonsa. Tätä käyttäytymistä kutsutaan ACID:ksi (Atomicity, Consistency, Isolation, Durability), ja PostgreSQL takaa sen millä tahansa taululla ilman erityisiä asetuksia.

Transaktioiden lisäksi PostgreSQL pakottaa eheyssäännöt suoraan tietokantaan: tilausrivi ei voi viitata olemattomaan tuotteeseen, varastosaldo ei voi muuttua negatiiviseksi, tilin sähköpostia ei voi kahdentaa. Nämä rajoitteet (foreign key, check, unique) pysäyttävät virheellisen datan ennen kuin se pääsee sisään — eikä vasta sen jälkeen, kun se on pilannut myyntiraporttisi.

Markkinapaikoilla eheys on kaksinkertaisesti tärkeää: Stripe Connectin kautta jaetut provisiot ja maksut lasketaan tilauksen datasta. Kaksoistilaus tai epäjohdonmukainen summa tarkoittaisi väärin jaettua rahaa myyjien kesken. PostgreSQL-transaktiot pitävät nämä laskelmat oikeina, tilaus tilaukselta.

Nopea haku katalogista ja joustava sisältö

PostgreSQL sisältää kokotekstihakumoottorin: asiakkaat hakevat ”juoksukengät” ja löytävät sopivat tuotteet, stemming-sanakirjoilla, myös romanian kielelle. pg_trgm-laajennus lisää kirjoitusvirheiden sietoa. Verkkokaupalle nämä ominaisuudet tarkoittavat, että katalogista voi hakea hyvin ilman erillistä Elasticsearch-tyyppistä palvelua — siis vähemmän komponentteja, jotka voivat kaatua, ja pienemmät infrastruktuurikustannukset.

Visuaalieditorissa rakennettujen sivujen sisällöllä ei ole kiinteää rakennetta — hero-lohkolla, lomakkeella ja galleriassa on eri kentät. PostgreSQL ratkaisee tämän JSONB:llä: se tallentaa natiivia JSONia, indeksoitavissa GIN-indeksein, kyseltävissä kuten mikä tahansa sarake. Saat dokumenttitietokannan joustavuuden mutta säilytät relaatioeheyden tilauksille ja maksuille — samassa järjestelmässä, ei kahdessa.

  • tsvector + stemming-sanakirjat (romania mukana) — relevantti haku katalogista
  • pg_trgm — asiakkaat löytävät tuotteen, vaikka kirjoittaisivat kirjaimen väärin
  • JSONB GIN-indeksein — joustavat sivulohkot pysyvät nopeasti kyseltävinä

Luotettavuus: varmuuskopiointi, palautus ja ei yllätyksiä

PostgreSQL kirjoittaa jokaisen muutoksen ensin lokiin (WAL — Write-Ahead Log) ja vasta sitten varsinaiseen dataan. Jos palvelin pysähtyy äkillisesti, uudelleenkäynnistyksessä tietokanta rakennetaan uudelleen lokista ilman vioittunutta dataa. Samaan mekanismiin PostgreSQL perustaa myös pistekohtaisen palautuksen (PITR) — moottorin vakio-ominaisuus asennuksille, jotka arkistoivat WAL-lokin. 4buildsitessa data on pysyvillä volyymeillä, erillään sovelluksesta, joten alustan uudelleenkäynnistys tai päivitys ei koske siihen.

PostgreSQL tukee myös streaming-replikointia — tietokannan synkronoitu kopio, joka on valmis ottamaan liikenteen vastaan tarvittaessa. Sivustollesi tietokannan luotettavuus näkyy siinä, että sivu vastaa jatkuvasti; toistuvat 5xx-virheet vaikeuttavat indeksointia Googlessa.

Skaalaus ja kustannukset — kasva ilman lisenssilaskuja

Kun kauppasi kasvaa, PostgreSQL kasvaa mukana: indeksit pitävät kyselyt nopeina satojentuhansien tuotteiden katalogeissa, partitiointi jakaa tilaushistorian ajanjaksoihin ja lukureplikat ottavat raporttiliikenteen. Instagram ja Reddit ovat skaalanneet PostgreSQL:llä satoihin miljooniin käyttäjiin — verkkokauppa saavuttaa tämän teknologian rajat paljon myöhemmin kuin luulet.

PostgreSQL:llä on vapaa lisenssi (PostgreSQL License, BSD-tyyppinen) — ei lisenssikustannuksia eikä kaupallista omistajaa, joka voisi muuttaa sääntöjä yhdessä yössä. Kaupalliset tietokannat lisensoidaan yleensä suorittimen ydintä kohden, ja kustannus päätyy väistämättä asiakkaan maksamaan hintaan. 4buildsitessa tietokanta sisältyy tilaukseen hostingin ja SSL:n rinnalla — ilman erillistä maksua.

Edut ja rajoitukset

Edut

  • Täydet ACID-transaktiot — tilaukset ja maksut pysyvät johdonmukaisina myös virheissä tai palvelimen kaatuessa.
  • Todistettu luotettavuus vuodesta 1996, tuotannossa Instagramilla, Redditillä ja historiallisesti Skypellä.
  • Natiivi JSONB — joustava sivujen sisältö uhraamatta relaatioeheyttä.
  • Kokotekstihaku mukana, romanian stemmingillä — haku katalogista ilman erillistä palvelua.
  • Vapaa lisenssi — ei piilotettua lisenssikustannusta tilauksesi hinnassa.
  • WAL-loki — palvelimen äkillisessä pysähtymisessä tietokanta rakennetaan uudelleenkäynnistyksessä ilman vioittunutta dataa.

Rajoitukset

  • Edistynyt ylläpito (tuning, replikointi, failover) vaatii kokemusta — 4buildsitessa hoidamme sen, mutta itse isännöitynä se on vaativaa.
  • Kirjoitukset kulkevat yhden primäärisolmun kautta — jakaminen usealle solmulle (sharding) ei ole natiivia ja vaatii lisätyökaluja.
  • Jokainen yhteys kuluttaa suhteellisen paljon muistia — suurella yhteysmäärällä tarvitaan poolausta (PgBouncer).
  • Kokotekstihaku on hyvä, mutta jää alle erikoismoottoreiden edistyneessä relevanssissa ja hakuehdotuksissa.

Lyhyt yhteenveto

PostgreSQL on vakiovalinta sivustoille, verkkokaupoille, markkinapaikoille ja SaaS-alustoille, joissa tilauksia, maksuja ja liidejä ei saa hukata. Yksinkertainen blogi pärjäisi vähemmälläkin — mutta vapaa lisenssi tarkoittaa, että 4buildsitessa saat tämän turvatason joka tapauksessa, ilman lisäkustannusta.

Tekniset tiedot

OminaisuusRaja / kynnysTyypillinen käyttö
Transaktioiden eheysTäysi ACID + MVCC millä tahansa taulullaHyvin pitkät transaktiot pitävät resursseja lukittuinaTilaukset, maksut, varastosaldot
JSONBNatiivi JSON, indeksoitavissa GIN:lläHyvin monimutkaiset JSON-kyselyt hitaampia kuin perinteisillä sarakkeillaSivujen sisältö, asetukset, tuotteen attribuutit
Kokotekstihakutsvector + pg_trgm, monikielinen (romania mukana)Relevanssi alle erikoishakumoottoreidenHaku verkkokaupan katalogista
Varmuuskopiointi ja replikointiWAL, PITR, streaming-replikointiAutomaattinen failover vaatii ulkoisia työkaluja (esim. Patroni)Palautuminen häiriöistä, korkea käytettävyys
SkaalausLukureplikat, taulujen partitiointiKirjoitukset pysyvät primäärisolmussaSuuret katalogit ja tilaushistoriat
KustannusAvoin lähdekoodi, vapaa lisenssiTodellinen kustannus on infrastruktuuri ja ylläpitoSisältyy 4buildsiten tilauksiin

PostgreSQL vs MySQL vs MongoDB

KriteeriPostgreSQLMySQLMongoDB
ACID-eheysTäysi, millä tahansa taululla, oletuksenaTäysi vain InnoDB-moottorillaUsean dokumentin transaktiot vasta v4.0:sta, rajoituksin
Tietotyypit ja JSONIndeksoitava JSONB + rikkaat tyypit (array, range)Validi JSON, epäsuora indeksointi (generoidut sarakkeet)Natiivit BSON-dokumentit, ei pakotettua skeemaa
KokotekstihakuMukana: tsvector, pg_trgm, monikielinen stemmingPerus (InnoDB FTS)Perus; edistynyt versio (Atlas Search) vain kaupallisessa pilvessä
Lisenssi / kustannusPostgreSQL License — vapaa, ei kaupallista omistajaaGPL, Oraclen omistama (kaupalliset versiot)SSPL — ei enää perinteinen avoimen lähdekoodin lisenssi
EkosysteemiTehokkaat laajennukset (PostGIS, pgvector), tuki kaikissa ORM:issäKaikkialla perinteisessä PHP/WordPress-hostingissaVahva Node.js:ssä, suppeampi muualla
Soveltuvuus verkkokauppaanErinomainen — tilaukset, varastosaldot ja maksut johdonmukaisiaHyvä — historiallinen standardi (Magento, WooCommerce)Joustaviin katalogeihin; tilausten johdonmukaisuus vaatii lisäpanostusta

Usein kysytyt kysymykset

Vaikuttaako PostgreSQL sivustoni nopeuteen?

Ei negatiivisesti. Julkiset sivut tarjoillaan Next.js:stä välimuistilla, ja indeksoidut PostgreSQL-kyselyt vastaavat millisekunneissa. Tyypillisen sivuston tai verkkokaupan koossa tietokanta ei tyypillisesti ole pullonkaula — frontend ja kuvat vaikuttavat koettuun nopeuteen paljon enemmän.

Miksi ei WordPress MySQL:llä, kuten kaikki muut?

WordPress on PHP-CMS, jonka teemoja ja lisäosia on ylläpidettävä ja päivitettävä jatkuvasti. 4buildsite generoi Next.js-sivustoja PostgreSQL:llä, ilman paikattavia lisäosia ja vähemmillä tietoturva-aukoilla. MySQL ei ole huono valinta — mutta PostgreSQL tuo indeksoitavan JSONB:n, paremman kokotekstihaun ja tiukemman eheyden samalla vapaalla lisenssillä.

Mitä datalleni tapahtuu, jos palvelin kaatuu?

PostgreSQL kirjoittaa jokaisen muutoksen ensin WAL-lokiin, joten uudelleenkäynnistyksessä tietokanta rakennetaan uudelleen ilman vioittunutta dataa — äkillinen palvelinkaatuminen ei vioita tilauksiasi. Lisäksi data on pysyvillä volyymeillä, erillään sovelluksesta, joten alustan uudelleenkäynnistys tai päivitys ei koske siihen.

Voinko viedä datani pois, jos lähden 4buildsitesta?

Kyllä. Datasi on PostgreSQL:ssä, alan standardimuodossa — tuotteet, tilaukset ja asiakkaat voi viedä yleisiin formaatteihin (CSV, SQL). Omaa formaattia, joka lukitsisi sinut alustalle, ei ole.

Riittääkö PostgreSQL, jos kauppani kasvaa?

Kyllä, erittäin suurella marginaalilla. Instagram ja Reddit ovat skaalanneet PostgreSQL:llä satoihin miljooniin käyttäjiin käyttäen indeksejä, partitiointia ja lukureplikoita — samat tekniikat ovat käytettävissä myös 4buildsitessa. Verkkokauppa saavuttaa PostgreSQL:n rajat paljon myöhemmin kuin oman logistiikkansa rajat.

Paljonko PostgreSQL-lisenssi maksaa?

Ei mitään. PostgreSQL:llä on vapaa lisenssi (PostgreSQL License, BSD-tyyppinen), ei palvelin- tai ydinkohtaisia maksuja. 4buildsitessa tietokanta sisältyy tilaukseesi hostingin ja SSL:n kanssa — et maksa siitä erikseen mitään.

4b2b.net
Liiketoiminnan ekosysteemi
4conta.ro
Kirjanpito
4invoices.net
Laskutussovellus
4expenses.net
Kulunhallinta
4notify.net
Ilmoitukset
4hosting.net
Webhotelli
4database.net
Tietokannat
4buildsite.net
Kotisivukone
4myapp.net
Sovelluskehitin
4avatars.net
AI-avatarit
4chaty.net
AI-chatbot
4webagency.net
Ohjelmisto verkkotoimistoille
4softedu.net
Verkkosivut oppilaitoksille
4softcrm.net
CRM-alusta
4softerp.net
Toiminnanohjaus
4softhr.net
Henkilöstöhallinto
4mystaff.net
Henkilöstöportaali
4myprojects.net
Projektinhallinta
4mycontracts.net
Sopimukset
4docs.net
Dokumenttienhallinta
4appointments.net
Ajanvaraus
4marketingonline.net
Markkinointi
4insurance.net
Vakuutusohjelmisto
4property.net
Kiinteistönvälitys
4lawyers.net
Asianajotoimiston ohjelmisto
4mygarage.net
Autokorjaamo
4driving.net
Autokoulut
4fleet.net
Kalustonhallinta
4myevents.net
Tapahtumat
4therapy.net
Terapiavastaanotto
4clinics.net
Klinikat
4dental.net
Hammasklinikat
4restaurants.net
Ravintolat
4beautify.net
Kauneushoitola
4gym.net
Kuntosalit ja liikuntakeskukset
4guards.net
Vartiointiliikkeet
4softvet.net
Eläinlääkäriasemat
4softauto.net
Autoalan ohjelmisto
4construct.net
Rakennusliikkeet
4marketplace.net
Kauppapaikka
4shopy.net
Verkkokauppa
4pricing.net
Hintavertailu
4salefood.net
Ruoan verkkokauppa
4rentify.net
Vuokraus
4transports.net
Kuljetus
4agencytravel.net
Matkatoimisto
4hotel.net
Hotellijärjestelmä
4ong.net
Yhdistysten hallinta