Database e YouTube: il ruolo ricoperto da Vitess

Database e YouTube: il ruolo ricoperto da Vitess

In questo articolo proveremo a spiegare le modalità con cui YouTube gestisca il database contenente le informazioni utilizzate per la categorizzazione dei video e che riguardano i dati dell’utente, le descrizioni dei contenuti video e i tags. Database che ha sempre biosgno di spazio maggiore come abbiamo visto in questo articolo sulla gestione dei dati dei video su YouTube
Per riuscire a gestire il carico di interrogazioni, decisamente superiori a quelle gestite dal database MSQL originario, i progettisti di YouTube hanno deciso di implementare il database con il framework Vitess.

Vitess è un sistema di analisi dei gruppi, che permette la partizione del database e che viene applicato a MySQL, un database non protetto da copyright largamente diffuso sul web.
Siamo davanti ad un perfetto esempio di collaborazione sinergica tra le strutture di Google e quelle di YouTube sia per quanto concerne la ricerca che lo sviluppo tecnologico. È un sistema in grado di creare partizioni orizzontali integrate, grazie alle quali il database può essere ampliato senza intervenire sulla logica già esistente per il partizionamento.
Vitess permette la gestione automatica del backup e del failover, oltre ad amministrare il server, a migliorare le performance, a gestire le cache e ad ottimizzare l’impiego di risorse in caso di richieste ad elevato consumo.
Il framework viene usato da numerosi player, tra cui Square, GitHub, New Relic, Slack.

database YouTube
ph christian-wiediger-unsplash

In quale modo Vitess porta vantaggi all’architettura di YouTube

Originariamente YouTube aveva un consumo pari a 2MB ogni volta che veniva effettuato un accesso a MySQL. L’elevato impiego di risorse, spingeva YouTube ad incrementare la RAM in base al numero di connessioni. Va poi detto che oltre ai canali dedicati all’entertainmet la quasi totalità delle imprese dispone di un canale aziendale su YouTube.
Grazie a Vitess è stato possibile ridurre le risorse utilizzate. Ciò è reso possibile dalla speciale architettura e dal linguaggio “GO” utilizzato per programmare.
Grazie a questo linguaggio proposto da Google è possibile creare dei software veloci e ad elevate performance impiegabili in numerose piattaforme diverse.

Propagazione nel cloud e cooperazione tra YouTube e Google

Vitess, nato specificatamente per il cloud, mostra una architettura scalabile.
L’ambiente in cui viene eseguito Vitess su YouTube è containerizzato. A gestire i diversi reparti c’è Kubernetes.
Kubernetes, parola di origine greca, significa pilota. Google ha tolto i vincoli di copyright su questo progetto nel 2014, mettendo a disposizione la propria grande esperienza e favorendo la creatività e collaborazione con gli utenti.

Google Cloud Platform è un ambiente di cloud computing che lavora sulla struttura utilizzata anche da Google per la realizzazione dei prodotti indirizzati ai propri utenti, tra cui il motore di ricerca di YouTube. Motore di ricerca che abbiamo visto cataloghi  e mantenga indicizzati non solo i video caricati dagli utenti, ma anche tutti i contributi trasmessi in diretta su YouTube
YouTube, utilizza la distribuzione dei contenuti a bassa latenza, comportando una riduzione dei tempi e dei consumi, anche grazie al supporto fornito dalla rete di Google.
YouTube usa i POP appartenenti a Google, ossia Point of presence, distribuiti globalmente per semplificare le operazioni di recupero dati in modo da non dover necessariamente passare dal server originale.

Si deve riconoscere l’ingegnosità di questo sistema che vede YouTube applicarlo ai propri visitatori e Google applicarlo in tutte le sue infrastrutture.

Gestione del disastro

Vitess, utilizzando la scalabilità, permette efficaci e adeguati Piani di Recupero dei Disastri
Agli sviluppatori occorreva un sistema quanto più indipendente dalla sua stessa complessità, in modo tale da riuscire ad intervenire sulla scalabilità delle infrastrutture senza eccedere nello sforzo che comunque non deve essere proporzionato alla grandezza del sistema.
È possibile risolvere efficacemente problemi derivanti da interruzioni di corrente, terremoti o incendi grazie alla presenza di ridondanze dei dati e alla dislocazione dei dati di backup in tutto il mondo.

Un pensiero su “Database e YouTube: il ruolo ricoperto da Vitess

I commenti sono chiusi.