#pinnalla

Pyry-Samuli Lahti

Rakas verkossa asustava päiväkirjamuotoinen blogi,

tänään voisin antaa sisäisen taiteilijani kukkia, ja lausua haikun uudehkosta piinallisen pinnallisesta #pinnalla -palvelusta.

Twiittiä pukkaa
Botti visertääkin jo
Mikset jo seuraa

Pyppe hei, sä oot herkkä mies

… saattaisi paatuneempikin linnakundi virkkoa em. runon luettuaan. Ja linnakundithan eivät väärässä ole! Kaikessa herkkyydessäni olen viime vuoden loppupuolella skipiduveinau-skoodaillut #pinnalla -palvelun, joka analysoi Suomen Twitter-liikennettä pyrkien muodostamaan siitä helppolukuisia vertailuja ja analyysejä.

Olennainen osa palvelua on @PinnallaFI -botti, joka laukoo päivittäin tiukkaa (ja paikoitellen löysää) statistiikkaa suomalaisten twiittauksista:

Huuda mulle sun ATK!

Palvelu pyörii Internetsissä ja toimii ATK:lla. Tarkemmin sanottuna taustapalvelin pyörii Play frameworkin päällä, twiitit kerätään Akka-kirjaston ja Twitter Streaming API:n kautta, analysoidut twiitit tallennetaan Elasticsearch-indeksiin, ja UI on toteutettu AngularJS:llä.

  • Palvelu on ollut pystyssä noin 3 kuukautta (verkkosivu pystytettiin 20.10.2014, ja ensimmäinen twiitti lähetettiin 29.10.2014)
  • @PinnallaFI on kerännyt tähän mennessä noin 800 seuraajaa ja lähettänyt noin 500 twiittiä
  • Tammikuussa 2015 verkkosivustolla oli 1150 uniikkia kävijää ja 6100 sivulatausta
  • Palvelu on kolmessa kuukaudessa analysoinut noin 15 miljoonaa twiittiä, joista noin 7,5 miljoonaa on tulkittu suomalaisiksi (yhteensä noin 190 tuhannelta uniikilta käyttäjältä) ja tallennettu tietokantaindeksiin
  • Tietokantaindeksi vie levytilaa 12 GB
  • Palvelun prosessit vievät aktiivitilassa muistia noin 2 GB (ja pyörivät jaetulla virtuaalipalvelimella, jossa on yhteensä muistia 4 GB)

Boring! Mitä seuraavaksi??

Jos ja kun jaksan palvelua jatkokehittää, olisi seuraavaksi tehtävälistalla:

  • Indeksin pilkkominen useammaksi (esim. jokainen kuukausi omaan indeksiinsä)
  • Avainkenttien vaihtaminen doc values -tyyppisiksi muistinkäytön pienentämiseksi (tai ainakin tämän protoilu). Nykyisellä datamassalla kyseilyissä käytettävät kentät eivät mahdu muistiin, minkä takia vapaat kyselyt ovat muuttuneet pikkuhiljaa hyvinkin hitaiksi
  • Vaihtoehtoisesti vanhojen twiittien poistaminen kokonaan palvelun nopeuttamiseksi ja tilan vapauttamiseksi
  • Lisää rautaa: Sekä RAM-muisti (noin 2 GB on #pinnalla-prosessien käytössä) että levytila rupeavat käymään pieniksi

Jos Teikäläisellä polttelee raha taskussa, ja haluat välttämättä teoriassa käytännössä sponsoroida palvelua, laita toki viestiä.

Vähemmän nörtti-läppää, kiitos!

// TODO: Implementation