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.

 

 

Facci sapere cosa ne pensi!

  1. says

    Io penso che sia vero il contrario: al giorno d’oggi anche i piccoli – incluse e specialmente le startup innovative – hanno accesso a risorse di rete, di storage e computing ad una frazione dei costi di 10 anni fa. Non bisogna piu’ investire pesantemente in hardware, server, storage ecc., ma per iniziare e’ sufficiente acquistare le risorse “pay as you go” sul cloud potendo scalare queste in modo rapido ed efficiente inoltre automatizzando il tutto. Quando FaceBook e Google sono state fondate queste soluzioni ancora non c’erano o non erano mature ovviamente, ma questo e’ un altro discorso.

Facci sapere cosa ne pensi!

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *