Web-scale: il problema dei database

Infrastrutture Web-scale e problematiche inerenti i database: dalle soluzioni dei "pionieri" fino alle attuali tendenze del settore.

Web-scale

Web-scale è un termine che non trova una precisa traduzione in italiano ma che sta ad indicare, in sintesi, un’infrastruttura IT in grado di garantire un ottimale livello di scalabilità ed agilità, al fine di soddisfare le esigenze dei clienti  e dell’azienda stessa. TechCrunch ha dedicato un articolo a questa tematica ripercorrendone rapidamente la storia dai primi approcci di pionieristiche aziende fino alle tendenze attuali, vediamo di riassumerne qui di seguito le parti più importanti.

L’editorialista esordisce indicando compagnie come Google e Facebook tra le prime ad aver studiato ed adoperato infrastrutture di tale genere, sia perchè “obbligate” dall’elevato numero di clienti da servire adeguatamente sia perchè in grado di disporre, naturalmente, delle risorse finanziare necessarie. Fin dagli inizi l’elemento che si è rivelato più arduo da gestire in “ottica Web-scale” è stato il database: oltre alla complessità tecnica insita nell’implementazione di quest’ultimo nell’infrastruttura anche la necessità di preservarne proprietà quali atomicity, consistency, isolation e durability (indicate anche con l’acronimo ACID) – pena un negativo impatto sulle applicazioni da esso dipendenti ed una qualità del servizio offerto ai clienti non adeguata.

Web-scale e layer di astrazione

Il problema dei database relazionali è stato risolto grazie ai layer di astrazione (abstraction layer), detti anche “data access layer”, in grado di rendere le applicazioni  indipendenti dal database e frapporsi tra i due elementi in questione per garantire maggiore affidabilità e performance. I “pionieri” che escogitarono la soluzione si ritrovarono tuttavia a dover essenzialmente riprogrammare le applicazioni in base al layer di astrazione adoperato e non al database di riferimento, inconveniente che solo successivamente è stato superato con l’impiego di un transparent network-level proxy, in grado di fungere da intermediario tra applicazioni e database – si richiama l’attenzione del lettore sull’aggettivo “transparent” da contrapporre idealmente all’iniziale “opacità” del layer di astrazione.

La soluzione, prosegue l’editorialista, rientra nella più generale tendenza di astrazione e virtualizzazione delle tecnologie (virtualizzazione dei server, software-defined networking, web load balancers) ma richiede ingenti risorse finanziare per essere “fabbricata in casa” sul modello di Google e Facebook. E’ per questo che il restante 99% delle aziende, sebbene sia debitrice nei confronti dei pionieri, deve affidarsi a soluzioni più abbordabili, come ad esempio i software per l’astrazione dei database, database alternativi, appositi proxy, systemi studiati su misura che sono tra i principali servizi/prodotti offerti da numerose startup ed imprese operanti nel settore.