Close

Not a member yet? Register now and get started.

lock and key

Sign in to your account.

Account Login

Forgot your password?

Dietro il data journalism del Guardian

27 Apr Posted by in Uncategorized | 3 comments

Personalmente, come molti, ritengo che attualmente il Guardian sia il punto di riferimento a livello mondiale per il data journalism.

Quello che probabilmente in pochi sanno è che dietro questi report e queste interfacce grafiche più o meno interattive che tanto apprezziamo c’è MongoDB, un database orientato ai documenti, distribuito e open-source, basato sull’architettura NoSQL.

Rispetto agli RDBMS tradizionali, utilizzare un prodotto con architettura NoSQL risulta molto vantaggioso quando occorre gestire dati non strutturati oppure per conferire maggiore controllo sui dati all’utente.

Tanto per intenderci, Google, Facebook, Twitter, Linkedin, Ning, AOL, Amazon , NYT, Adobe, Baidu, Qantcast, Bit.ly e altri usano soluzioni simili per la gestione dei loro dati.

Accoppiando inoltre NoSQL con la piattaforma MapReduce di Google, si possono elaborare enormi quantità di dati (large datasets), abbattendo tempi di elaborazione lunghissimi (per esempio da alcune giornate a poche ore), distribuendo il calcolo attraverso una rete di computer (distributed processing) e riaggregando infine le singole risposte.

MongoDB è dunque una delle diverse soluzioni NoSQL disponibili, che distribuisce sia la capacità elaborativa che i dati stessi (distributed database): al suo interno i dati sono organizzati in gerarchie – a volte anche complesse – e l’accesso agli stessi è reso più veloce.

Il supporto per gli indici geospaziali rende MongoDB adatto per gestire contenuti geolocalizzati – tipici di molti mashup tra mappe e dati – come spesso avviene nel caso del Guardian.

A livello di codice, le differenze tra mySQL e MongoDB possono essere riassunte come segue (clicca sull’immagine per ingrandirla).

Cosa succedeva negli ultimi anni al Guardian?

L’architettura utilizzata dai giornalisti prevedeva dei web server, degli application server, flussi di feed RSS e un CMS (che costringeva ad avere strutture dei dati fisse).

Periodicamente però era necessario evolvere o scalare questa architettura per gestire esigenze sempre più complesse; ciò comportava interruzioni del servizio.

Il Guardian riuscì in un primo tempo a risolvere il problema delle prestazioni e della scalabilità, grazie a un complesso sistema di caching e di API, ma ciò non risolveva quello di ridurre la complessità di tutta l’architettura, sempre meno gestibile.

Occorreva un cambiamento drastico e questo si chiamava NoSQL.

La scelta del database è ricaduta su MongoDB, ritenuto il più adatto per le esigenze del Guardian: semplice e flessibile proprio come serviva, ha consentito anche di organizzare da un punto di vista semantico le informazioni destrutturate.

A questo punto è partita la migrazione definitiva dalla precedente piattaforma Oracle a NoSQL e da allora i risultati sono sotto gli occhi di tutti.

Ecco come lo stesso Guardian racconta la propria evoluzione.

 

3 comments

  • Matteo Brunati ha detto:

    Tanto ci sarebbe da dire, io sto per iniziare delle prove con CouchDB, sulla medesima lunghezza d’onda, parlando della BBC…

    -> BBC – CouchDB Replication

    E poi verso i Linked Data .)
    -> Linking bbc.co.uk to the Linked Data cloud

    Ho proprio parlato con un paio di loro ad Amsterdam, dei grandi davvero!

    • roberto ha detto:

      Grazie per il link che hai segnalato 🙂
      Io ho cercato di non scendere troppo sul tecnico per non annoiare chi tecnico non è, puntando invece a far comprendere le potenzialità di approcci come questo.
      CouchDB lo seguo da quasi due anni, insieme a tanti altri sistemi distribuiti.
      Se ti interessa del materiale te lo giro volentieri, tanto a me manca il tempo per dedicarmicisi perché in questo momento mi sto occupando d’altro.

    • roberto ha detto:

      Uff…quelli di CouchDB hanno rimosso il caso studio della BBC.
      Metto allora qui il link della pagina con tutti i casi studio in linea


Leave a comment