#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:

OMG, haluan heti seurata @PinnallaFI »

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

Kommentit