📜  YouTube 如何存储和分析如此庞大的数据量?

📅  最后修改于: 2021-10-19 05:05:51             🧑  作者: Mango

你喜欢看单口喜剧吗?或者你喜欢看可爱的猫咪视频?甚至是最新的宝莱坞歌曲和预告片?无论您的兴趣是什么,我相信您都会使用YouTube观看视频。谁知道呢?你甚至可能在 YouTube 上有一个受欢迎的频道!!!
无论哪种情况,YouTube 都是您生活中不可或缺的一部分。这对地球上的大多数人来说都是真实的! YouTube 每分钟上传超过 400 小时的视频内容,每天观看约 10 亿小时的 YouTube 视频,这一事实很容易证明这一点。这使 YouTube 成为全球第二大最受欢迎的社交媒体平台,拥有 19 亿用户(第一是 Facebook!)

YouTube 如何存储和分析如此庞大的数据量

这是在 YouTube 上存储和管理的大量数据。所以自然的问题是“他们是如何做到的?” YouTube 如何存储和检索其内容?他们怎么知道接下来要向您推荐哪个视频?他们怎么知道你想看什么?这些问题的答案在于 YouTube 复杂的数据库管理系统。所以现在让我们试着去理解它!

什么是基本的 YouTube 数据存储机制?

YouTube 是观看和分享视频的首选平台。因此,很明显,它每天必须管理大量视频内容。这是通过在不同地方使用 MySQL 和各种数据库管理系统来保持 YouTube 正常运行来完成的。

大多数 YouTube 数据存储在Google 模块化数据中心。模块化数据中心是便携式的,可以放置在需要数据存储容量的任何地方。由于 YouTube 于 2006 年被 Google 收购,因此 YouTube 数据存储在 Google 模块化数据中心是理所当然的。 YouTube 主要使用 5 或 6 个 Google 数据中心及其自己的内容分发网络 (CDN) ,以确保最终用户始终可以使用数据。

更受欢迎的视频被移动到 CDN,CDN 将它们复制到不同的地方。这意味着用户可以更快地访问它们,所需的跳数更少。另一方面,不太受欢迎的视频保存在 YouTube 服务器上,可以按需访问。此外,没有硬性规定将视频存储在最接近其所在地理区域的数据中心。例如:如果您在 YouTube 上上传来自印度的一些视频,您的数据可能会存储在英国的数据中心。除了所有这些方法之外,Youtube 还使用了云存储。

最初 MySQL 主要用于 YouTube 数据库中,用于存储从视频到用户、标签和描述等元数据的大部分数据。 varbinary 数据类型用于允许存储视频和图像(如缩略图)的数据库!然而,MySQL 的一个缺点是可扩展性的空间很小,这对于像 YouTube 这样不断扩张的公司来说是一个非常重要的因素。但是,YouTube 不能完全放弃 MySQL,因此Vitess与 MySQL 结合使用。 Vitess 是一个数据库集群系统,它结合了 MySQL 的许多重要特性和作为 NoSQL 数据库商标的可扩展性。 Vitess 有助于将 YouTube 查询合并为更易于处理和执行的小批量。它还可以根据需要创建备份和扩展。

如何分析 YouTube 广告数据?

YouTube 收集的数据也被分析用于个性化广告展示。你想知道这是怎么做到的吗?好吧,这就是 Google 伸出援手的地方!谷歌使用算法收集所有用户信息,如浏览器和搜索历史、地理信息等。然后这些算法分析信息以了解用户可能感兴趣的产品或服务类型。然后公司支付在 YouTube 上为他们的产品做广告的费用使用AdwordsAdsense来监控这些广告的点击次数。例如:假设您是一名足球爱好者,经常在 YouTube 上观看比赛和球员采访。因此,您将主要看到体育广告,以便您可能有兴趣购买东西!!!使用这种算法,用户可以根据自己的喜好获得有针对性的广告,广告商还可以确保他们的产品能够吸引那些可能有兴趣购买的人,同时 YouTube 可以赚钱。所以这是一个双赢的局面!!!