Webissä on keskusteltu viime aikoina paljon Diggin uuden version ongelmista, joista yksi on alustan epästabiilius kovan kuormituksen alla. Ongelmista on syytetty siirtymistä Cassandraan, joka on alkujaan Facebookin kehittämä NoSQL-tietokanta ja nykyään Apache-projekti.

Jos asiaa kuitenkin tutkii hieman sensaatio-otsikoita syvemmälle, käy nopesti ilmi, että tietokanta ei ole Diggin ainoa ongelmakohta. Taustalla on ilmeisimmin kuormitusongelmia arkkitehtuurin monissa eri osissa. Tämän lisäksi Cassandra on muutenkin käytössä esimerkiksi Redditissä, joka ei ole kärsinyt vastaavista ongelmista.

Diggnationin uusimmassa jaksossa CEO Kevin Rose itse asiassa kertoo, että Diggin aiempi, MySQL:n varaan rakennettu versio kärsi jo niin suurista suorituskykyongelmista, että siirtyminen Cassandraan oli oikeastaan välttämätöntä. Vanhasta versiosta jouduttiin poistamaan ominaisuuksia käytöstä, koska MySQL-pohjainen arkkitehtuuri ei enää pystynyt pyörittämään niitä.

Olen itse kokeillut Cassandraa tutustumismielessä muutamissa pikkuprojekteissa. Oma kokemukseni on, että sovelluksia on suhteellisen helppo kehittää Thrift-API:lla, mutta tietokanta-alustan ylläpito ja deploymentit voivat olla tuskallisia. Jos Cassandraa verrataan esimerkiksi CouchDB:hen, niin jälkimmäinen on paljon helpommin asennettavissa (apt-get install couchdb) ja hallittavissa sisäänrakennetuilla ylläpitotyökaluilla. Tämän vaikutusta sovelluskehityksen ketteryyteen ei kannata aliarvioida .

Oma "tuomioni" Cassandralle siis on, että sen kehitystä kannattaa seurata, mutta hyvin harva projekti oikeasti hyötyy sen tuomista eduista suhteessa käytön hankaluuteen nähden. Ehkä mielenkiintoisin vaihtoehto Cassandralle tällä hetkellä on Cloudantin avoimena lähdekoodina julkaisema BigCouch, joka tuo partitioidun klusteroinnin CouchDB:hen. Mikäli nämä ominaisuudet saadaan integroitua CouchDB:n coreen, siinä alkaa olla aineksia todella universaaliksi tietokantaratkaisuksi aina sulautetuista järjestelmistä satojen miljoonien käyttäjien web-palveluihin asti.

Published 11.9.2010