Aloittelija saa Firebasesta sovellukselle tietokannan, kirjautumisen, tiedostotallennuksen ja julkaisun ilman omaa palvelinta. Kaikki neljä kytketään päälle samasta selainkonsolista, ja maksuton Spark-taso riittää ensimmäiseen projektiin. Google omistaa palvelun, ja se pyörii Google Cloudin päällä, joten kasvuvaraa on enemmän kuin ensimmäinen sovellus tarvitsee.
Käytännössä Firebase korvaa sen työn, jota ilman sitä tekisit itse: palvelimen pystytyksen, tietokannan asennuksen, salasanojen käsittelyn ja varmenteiden uusimisen. Sinä kirjoitat vain sen osan, jonka käyttäjä näkee.
Palat, joista kokonaisuus koostuu
Cloud Firestore on dokumenttitietokanta. Data tallennetaan kokoelmiin ja dokumentteihin, jotka muistuttavat rakenteeltaan JSON-objekteja, ja sovellus voi kuunnella muutoksia reaaliajassa. Kun toinen käyttäjä lisää rivin, se ilmestyy toisen ruudulle ilman sivun päivitystä.
Firebase Authentication hoitaa kirjautumisen. Se kattaa sähköpostin ja salasanan, Googlen ja muiden palveluiden kirjautumiset sekä puhelinnumerovarmennuksen. Salasanoja et käsittele itse missään vaiheessa.
Cloud Storage on tiedostoille: kuvat, PDF-tiedostot, ääni. Firebase Hosting taas tarjoilee itse sivuston tai sovelluksen käyttäjän selaimeen.
Nämä neljä riittävät yllättävän pitkälle. Yksi kaupallinenkin sovellus voi elää koko ensimmäisen vuotensa pelkästään näiden varassa, koska ne kattavat datan, käyttäjät, tiedostot ja jakelun.
Ilmaisen Spark-tason rajat
Maksuton Spark-taso on käyttökelpoinen tuotantoympäristö pienelle sovellukselle. Se sisältää Cloud Firestoressa 1 GiB tallennustilaa, 50 000 dokumenttilukua, 20 000 kirjoitusta ja 20 000 poistoa vuorokaudessa. Firebase Authentication kattaa saman hinnaston mukaan 50 000 kuukausittaista aktiivista käyttäjää, ja SAML- ja OIDC-kirjautuminen 50 käyttäjää.
Hosting saa saman hinnaston mukaan 10 GB tallennustilaa ja 360 MB siirtoa vuorokaudessa. Tuo siirtoraja on se, johon aloittelija törmää ensimmäisenä, koska pakkaamattomat kuvat syövät sen nopeasti. Cloud Storage antaa moderneille firebasestorage.app-ämpäreille 5 GB-kuukautta tallennustilaa ja 100 GB latausta kuukaudessa, kun ämpäri sijaitsee jollakin kolmesta yhdysvaltalaisesta alueesta us-central1, us-west1 tai us-east1.
Lukuraja kannattaa ymmärtää oikein, koska se mittaa dokumenttihakuja. Yksi näkymä, joka hakee kaksikymmentä dokumenttia, kuluttaa kaksikymmentä lukua joka kerta kun se avataan. Sata kertaa päivässä avattu lista on kaksituhatta lukua, ja sama data haettuna kerran ja pidettynä muistissa on kaksikymmentä. Tästä syystä kyselyjen rajaaminen ja tulosten välimuistitus ovat aloittelijalle tärkeämpiä taitoja kuin tietokannan viilaaminen.
Hinnasto myös elää. Remote Configin hinnoittelu muuttui saman sivun mukaan 1.9.2026, joten yhden palan hinta voi olla eri kuin edellisellä lukukerralla.
Tietoturvasäännöt ennen ensimmäistä julkaisua
Firebasen suurin sudenkuoppa on se, että tietokanta puhuu suoraan selaimen kanssa. Sovelluksesi asetukset, mukaan lukien API-avain, ovat kenen tahansa luettavissa sivun lähdekoodista. Se on tarkoituksellista, ja siksi suojaus on säännöissä.
Firebase Security Rules estää oletuksena kaiken pääsyn, ja lukitun tilan sääntö on match /{document=**} { allow read, write: if false; }. Tuo sääntö tarkoittaa, että mikään ei toimi ennen kuin kirjoitat omat sääntösi. Se tuntuu ensin hankalalta ja on juuri oikea oletus.
Aloittelijan tyypillinen virhe on avata säännöt testin ajaksi muotoon, joka sallii kaiken, ja jättää ne siihen. Silloin kuka tahansa voi lukea koko tietokannan tai kirjoittaa siihen mitä haluaa. Kirjoita sääntö sen sijaan käyttäjäkohtaiseksi heti alusta: käyttäjä saa lukea ja kirjoittaa vain dokumentteja, joissa hänen oma tunnisteensa on kentässä. Tekoälytyökalu osaa kirjoittaa tämän säännön puolestasi, mutta lue lopputulos itse, koska sääntö on ainoa lukko koko datan edessä.
Testaa säännöt ennen julkaisua konsolin sääntösimulaattorilla. Se kysyy, kuka tekee mitä ja mihin dokumenttiin, ja kertoo meneekö pyyntö läpi. Viisi minuuttia simulaattorissa säästää sen tilanteen, jossa tuntematon on lisännyt tietokantaasi tuhat riviä roskaa.
Paikallinen emulaattori ennen pilveä
Firebase CLI sisältää emulaattorit, jotka ajavat Firestoren, Authenticationin, Storagen ja Hostingin omalla koneellasi. Sovellus kytketään niihin yhdellä asetuksella, ja kaikki data jää paikalliseksi.
Aloittelijalle emulaattorista on kaksi hyötyä. Kokeilut eivät kuluta vuorokausikiintiötä, joten voit ajaa saman haun sata kertaa peräkkäin virhettä etsiessäsi. Ja kun kokeilet uutta tietorakennetta, voit tyhjentää koko tietokannan yhdellä komennolla ilman että joudut siivoamaan tuotantodataa käsin.
Emulaattori ajaa myös tietoturvasäännöt. Se on nopein tapa nähdä, estääkö sääntösi sen mitä luulit sen estävän, koska saat kieltäytymisen samalla sekunnilla kun kirjoitat väärän kyselyn.
Julkaisu ja oma verkkotunnus
Firebase Hosting tarjoaa SSL:n ilman asetuksia, jakelun CDN-reunapalvelimilta gzip- tai Brotli-pakattuna sekä palautuksen edelliseen julkaisuun yhdellä klikkauksella. Käytännössä julkaiset komennolla, ja sivusto on muutamassa kymmenessä sekunnissa maailmanlaajuisesti jaossa.
Palautus on se ominaisuus, jota aloittelija ei osaa arvostaa ennen kuin tarvitsee sitä. Kun julkaiset rikkinäisen version perjantai-iltana, edellinen versio palaa yhdellä klikkauksella ilman että tarvitsee muistaa, mitä muutit.
Oma verkkotunnus liitetään konsolissa, ja Firebase hankkii SSL-varmenteet automaattisesti kaikille siihen liitetyille verkkotunnuksille. Sinun osuutesi on lisätä nimipalvelutietue verkkotunnuksesi hallintaan ja odottaa, että muutos leviää.
Tilanteet, joissa Firebase ei ole oikea valinta
Firestore on dokumenttitietokanta, eikä siinä ole liitoksia taulujen välillä. Jos datassasi on paljon suhteita, kuten laskuja, rivejä, asiakkaita ja tuotteita ristiin, joudut joko toistamaan dataa moneen paikkaan tai tekemään useita kyselyitä peräkkäin. Relaatiotietokanta hoitaa saman yhdellä kyselyllä. Ero näkyy heti, kun raportointi alkaa kiinnostaa. Tämä on myös se kohta, jossa kannattaa lukea Supabasen ja Firebasen vertailu ennen valintaa.
Toinen rajoite on hinnoittelun malli. Firebase laskuttaa operaatioiden määrän mukaan. Se on halpaa pienellä käytöllä ja arvaamatonta silloin, kun jokin silmukka alkaa hakea samaa dataa uudestaan. Aseta siksi laskutushälytys heti, kun siirryt maksulliselle tasolle.
Kolmas on siirrettävyys. Firestoren kyselyt, säännöt ja kirjautuminen perustuvat Googlen omaan malliin, joten myöhempi muutto toiselle alustalle tarkoittaa datan siirron lisäksi koodin uudelleenkirjoitusta.
Ensimmäinen projekti pystyyn
Aloita yhdestä näkymästä, joka lukee ja kirjoittaa yhtä kokoelmaa. Luo projekti konsolissa, ota Firestore käyttöön lukitussa tilassa, lisää Authenticationiin sähköpostikirjautuminen ja liitä Firebasen asetukset sovellukseesi. Kirjoita sen jälkeen sääntö, joka sallii käyttäjälle vain hänen omat dokumenttinsa, ja testaa se simulaattorilla.
Kun tuo toimii, lisää yksi ominaisuus kerrallaan ja katso konsolin käyttömittareita jokaisen lisäyksen jälkeen. Mittarit näyttävät lukujen ja kirjoitusten määrän vuorokaudessa, ja niistä näet heti, jos uusi näkymä hakee kymmenkertaisen määrän dataa siihen nähden mitä se näyttää.