Kysy konsultilta: Mitä tarkoittaa NoSQL?


Johan Stenroth | 8. maaliskuuta 2024

Mitä tarkoittaa NoSQL?

NoSQL

SQL (Structured Query Language) on deklaratiivinen, standardoitu kyselykieli tietokantadatan käsittelyyn. NoSQL-termin merkitys on epämääräisempi. Se voi tarkoittaa ettei tietokanta tue SQL:ää ollenkaan (No SQL) - tai se voi tarkoittaa, ettei SQL-tuki ole ainoa tietokannan käytettävissä oleva kyselykieli (Not only SQL). NoSQL-kannat yleistyivät 2000-luvun ensimmäisen vuosikymmenen lopulla, jolloin tiedon varastoinnin hinnat laskivat voimakkaasti.
NoSQL-kantojen ominaisuudet vaihtelevat, mutta yleisominaisuutena SQL-kannoista poiketen, NoSQL-kannat varastoivat dataa tyypillisesti kuitenkin muuten kuin taulukkomaisessa muodossa.

NoSQL-kannat ovat nopeita, joustavaskeemaisia, horisontaalisesti hyvin skaalautuvia, ja ne voivat parhaimmillaan olla kehittäjille paljon helpompia käyttää kuin tauluihin perustuvat SQL-kannat. Esimerkiksi key-value -kannat (yksi NoSQL-kantojen päätyypeistä) tarjoavat helposti lähestyttävän kantaratkaisun.

CAP-teoreeman (Consistency, Availability, Partition tolerance) näkökulmasta useat NoSQL-kannat joustavat eheydessä (engl. consistency) samalla saatavutta (engl. availability) priorisoiden.
Sopivia käyttötapauksia NoSQL-kannoille ovat esimerkiksi:

  1. Sovellukset, joissa käsitellään valtavia datamääriä
  2. Mikropalveluarkkitehtuuria noudattavat sovellukset ja datastriimaus
  3. Prototyyppien ja Proof of Concept (POC) -sovellusten nopea rakentaminen


DB-engines -sivuston mittausten mukaan (tarkistettu tammikuussa 2024) maailman suosituimpia NoSQL-tietokantoja olivat MongoDB, Redis ja Elasticsearch. Kaikista tietokannoista suosituin NoSQL-kanta oli MongoDB viidennellä sijalla neljän perinteisen SQL-relaatiokanna jälkeen.


Väärinkäsityksiä

Yleinen väärinkäsitys on, että relaatiodata sopii aina parhaimmin juuri relaatiokantaan. Sopivimman tietokannan valintaperusteisiin vaikuttaa useampi tekijä. Monet NoSQL-kannat tukevat relaatioita; ne vain tekevät sen eri tavoin, eikä dataa tarvitse hajauttaa eri tauluihin. Esimerkiksi JSON-muotoiseen dokumenttidatamalliin perustuvissa NoSQL-tietokannoissa relaatioita voidaan sisällyttää dataan sisäkkäisyyksien avulla.

Moni NoSQL-tietokanta tukee myös ACID-transaktioita, vaikka helposti ajatellaan ettei ominaisuus ole NoSQL-kannoissa saatavilla. ACID-transaktiotuki on saatavilla esimerkiksi AWS DynamoDB- ja MongoDB -kannoissa.


NoSQL-taulujen päätyyppejä

NoSQL-tietokantojen voidaan sanoa vakiintuneen neljäksi päätyypiksi.
1) Dokumenttikantoihin, joihin talletetaan dokumenttityyppisiä tietueita, kuten JSON-rakenne. Esimerkiksi AWS DynamoDB ja MongoDB tukevat dokumenttidatamallia.
2) Key-value -kantoihin, joissa tietueet nimensä mukaisesti ovat avain-arvo -pareja. Esimerkiksi Redis ja AWS DynamoDB ovat avain-arvo -kantoja.
3) Wide-Column -kantoihin, joissa dataa varastoidaan taulukoihin, riveihin ja dynaamisiin sarakkeisiin. Apache Cassandra ja sen kanssa yhteensopiva AWS Keyspaces ovat Wide-Column -tietokantoja.
4) sekä Graafikantoihin, jotka sopivat vahvasti verkottuneelle datalle, jossa varastoidaan sekä yhtymäkohtia (engl. node), että niiden välisiä kaaria (engl. edge). Kaaret voivat sisältää tietoa yhtymäkohtien välisistä suhteista, kuten ihmisten välisistä sukulaissuhteista tai kaupunkien välisistä kulkuyhteyksistä. Neo4j ja Amazon Neptune ovat esimerkkejä graafikannoista.

Johan Stenroth
Consultant

Pilvi haltuun

Huolehdimme pilvestä kokonaisuutena, jotta asiakkaamme voivat keskittyä kasvuun, kehitykseen ja asiakkaisiinsa.

Varmistamme, että digitaaliset palvelut toimivat luotettavasti ja tukevat liiketoimintaa kaikissa tilanteissa.

Uusimmat kirjoitukset

6. lokakuuta 2026
Webscale Cloud Morning Pilviriskit hallintaan Tiistai 27.10.2026 klo 8.30 Pilven suurimmat riskit eivät aina näy päällepäin. Liian laajat käyttöoikeudet, yhden avainhenkilön varaan jäänyt osaaminen, puutteelliset varmistukset tai harjoittelematon palautuminen voivat tuntua pieniltä asioilta, kunnes jokin niistä häiritsee liiketoimintaa. Mitkä pilviympäristön riskit ovat aidosti merkittäviä liiketoiminnalle? Mistä organisaatio vastaa itse ja mistä pilvipalveluntarjoaja? Ja miten tunnistaa riippuvuudet ja haavoittuvuudet ennen kuin niistä syntyy ongelma? Webscale Cloud Morning -sarjan toisessa webinaarissa käymme läpi käytännönläheisesti: millaiset pilviympäristön riskit voivat vaikuttaa liiketoiminnan jatkuvuuteen missä vastuu pilvipalveluntarjoajan ja oman organisaation välillä kulkee miten tunnistaa teknologiaan, ihmisiin ja toimintamalleihin liittyviä kriittisiä riippuvuuksia miten varautua häiriöihin ja varmistaa, että palautuminen toimii myös käytännössä millä keinoilla pilven riskejä voidaan tunnistaa ja pitää hallinnassa 30 minuutin aamustartti Jos pilvipalvelut ovat liiketoiminnallenne kriittisiä, mutta riskien todellinen taso ei ole täysin kirkas, tämä puolituntinen kannattaa käyttää.
IT- ja digijohtaja
21. syyskuuta 2026
Tekoälyn kehitys, uudet regulaatiot ja muuttunut turvallisuusympäristö nostavat teknologiavalintojen merkitystä. Pilvi- ja infrastruktuuripäätöksissä on huomioitava tämän päivän tarpeiden lisäksi jatkuvuus, riippuvuudet ja tulevaisuuden liikkumavara.
Tekijä Teemu Peräkylä • 19. elokuuta 2026
AI-avusteinen ohjelmistokehitys nopeuttaa kehitystä, mutta tuo mukanaan uusia tietoturvariskejä. CNAPP auttaa tunnistamaan olennaiset riskit ja turvaamaan nopeasti muuttuvat pilviympäristöt.