YouTube e lo spazio del database

YouTube e lo spazio del database

YouTube, sito più visitato dopo Google, dal mese di maggio 2019 ad oggi mostra una media di materiale video caricato ogni minuto superiore a 500 ore.
YouTube vanta utenti e ore di video caricate nell’ordine del miliardo arrivando a maturare altrettante visualizzazioni.
In queste poche righe cercheremo di approfondire il tema di come YouTube con la propria struttura, possa archiviare ed erogare tutti questi dati con questo quantitativo di utenti contemporaneamente attivi nella fruizione dei video. Anche e soprattutto in un periodo in cui le dirette su YouTube vengono impiegate da un’utenza non solo “consumer“, ma anche e soprattutto aziendale.

database youtube
Ph christian-wiediger-unsplash

 

Infrastruttura di back end

I video maggiormente visualizzati sono gestiti con un sistema articolato di CDN. Questo sistema prevede il salvataggio di numerose copie dello stesso video in server collocati in parti del mondo differenti in modo da permettere all’utente di usufruire del contenuto memorizzato nel server localizzato nelle vicinanze dell’utente.

I video ricercati meno frequentemente sono recuperati dal database principale.

I singoli video vengono identificati attraverso codici univoci. Nel corso del caricamento i video vengono elaborati. L’elaborazione produce anche dei dati necessari per la corretta gestione del video all’interno della piattaforma. Tra i dati estrapolati ci sono metadati, codifiche, miniature, trascrizioni e dati necessari alla monetizzazione.
La compressione del file richiede l’uso di codificatori, nello specifico vengono utilizzati VP9 e H264/MPEG-4AVC, che riducendo della metà lo spazio di archiviazione necessario pur lasciando inalterata la qualità dei contributi HD e 4K, risultano essere i migliori tra quelli disponibili.

Su HTTP per lo streaming di YouTube viene usato il protocollo denominato Dynamic Adaptive Streaming, il quale garantisce alta qualità allo streaming, che risulta veloce e con dati adattabili. Si appoggia a server convenzionali in ambiente HTTP.
In questo modo i contenuti sono disponibili con risoluzioni e velocità differenti.
Ogni dispositivo collegato al server di YouTube e usato dall’utente automaticamente adegua il rendering, effettuato in base alla potenza della rete al fine di minimizzare i tempi di attesa.

Database, Vitess e MSQL

A causa dell’enorme carico di richieste che arrivano a YouTube tramite MQSL, i ricercatori hanno inserito un framework, Vitess.
Vitess, si presenta come un sistema replicatore di contenuti che creando copie del database alleggeriscono quello principale “master originale” deviando il traffico alle banche-dati supplementari, rendendo di conseguenza il sistema più snello, veloce e affidabile.
In conclusione il master archivia dall’esterno nuovi contenuti ed eroga i contenuti mentre i nodi erogano e basta. È questa la ragione per cui ci sono differenze nella rilevazioni delle visualizzazioni nel master e nei nodi.

Suddivisione della banca-dati

La banca-dati viene replicata con protocolli master-slave e master-master e distribuito in diversi nodi capaci di contenere una parte della banca-dati.

A seguito della suddivisione della banca-dati, tutti i file vengono ripartiti tra le varie macchine, in modo da velocizzare la scrittura. Le diverse macchine sono tutte dotate di copie dei video e dei dati garantendo così una buona velocità e la ridondanza.

Un pensiero su “YouTube e lo spazio del database

I commenti sono chiusi.