NoSQL

NoSQL (englannin sanoista Not only SQL) on käsite, jolla kuvataan perinteisestä relaatiomallista poikkeavia tietokantoja. Nämä tietokannat eivät seuraa mitään kiinteästi määrättyä taulukkoskeemaa, minkä ansiosta ne skaalautuvat hyvin horisontaalisesti. 

NoSQL-tietokannaksi kutsuttiin aluksi Carlo Strozzin vuonna 1998 esittämää järjestelmää, jossa ei käytetty SQL-kyselykieltä. Termi yleistyi vuonna 2009 Johan Oskarssonin järjestämässä tapaamisessa, jossa keskusteltiin ei-relaatiomallin mukaisista ohjelmistoista kuten Cassandra ja Voldemort.

Tarkoituksena oli löytää yhteinen nimitys kasvavalle määrälle tietokantajärjestelmiä, jotka poikkeavat ACID-periaatteista. Tunnettuja NoSQL-toteutuksia ovat muun muassa Google BigTable ja Amazon Dynamo. 

Avain-arvo -tietokantajärjestelmiä ovat muun muassa Redis, Memcached ja Riak.
Sarakkeisia tietokantajärjestelmiä ovat muun muassa Apache Cassandra, Apache HBase ja ClickHouse.
Dokumentti-orientoituneita tietokantajärjestelmiä ovat muun muassa MongoDB, Couchbase ja Apache CouchDB.
Graafitietokantajärjestelmiä ovat muun muassa Neo4j, ArangoDB ja OrientDB.

Arkkitehtuuri 

Relaatiotietokannat soveltuvat huonosti suurten dokumenttimäärien käsittelyyn ja pilvilaskennan käyttöön. Parhaimmillaan ne ovat, kun käsitellään pieniä transaktioita tai suoritetaan harvoin tapahtuvia suuria eräajoja. Ne eivät kuitenkaan ole kovin tehokkaita, jos tietokantaan tarvitsee tehdä paljon muutoksia tihein väliajoin. NoSQL taas pystyy suoriutumaan hyvinkin suuresta samanaikaisesta määrästä luku- ja kirjoitusoperaatioita. 

Tekniikan heikkoihin puoliin kuuluu, että NoSQL-arkkitehtuurit eivät välttämättä takaa datan eheyttä eri palvelimilla. Ne kuitenkin pyrkivät siihen, että tiedot päivitetään lopulta, vaikka se ei tapahtuisikaan välittömästi. Useat NoSQL-toteutukset tukevat tietokantojen hajauttamista, jossa tiedot ovat toisteisesti useilla palvelimilla ja ne on mahdollista löytää esimerkiksi hajautetun tiivisteen avulla. Tällä tavoin järjestelmiä on helppo skaalata, ja ne toimivat, vaikka verkkoyhteydet sen joidenkin solmujen välillä katkeaisivatkin.

Lähteet

Aiheesta muualla 

Tietokannat