Le visualizzazioni di registrazione sono molto semplici, basta aggiungere una riga a una tabella che rappresenti l'azione di "visualizzazione". Questo è veloce perché non è richiesto alcun blocco nel database, stai solo aggiungendo una riga alla fine di un heap.
L'aggregazione di ciò nel numero totale di visualizzazioni richiede qualcosa come fare SELECT COUNT(*) FROM ...
che significa che devi bloccare la tabella mentre il calcolo sta procedendo. In alternativa, UPDATE ... SET num_views = num_views + 1
richiede anche che blocchi quella particolare riga ogni volta che qualcuno la visualizza.
Quindi, dal punto di vista della scalabilità, è molto più efficiente aggiungere una riga ogni volta che qualcuno visualizza il video e quindi eseguire il SELECT COUNT(*) FROM ...
ogni dieci minuti circa.
Nota In realtà non conosco l'architettura di YouTube, né se usano un database relazionale per archiviare i propri dati, ma qualsiasi cosa fanno usi, il principio è probabilmente lo stesso: inserire dati è economico, i valori di aggregazione sono (relativamente) costosi.