Youtube 把这么多视频存储在哪里?

Youtube 把这么多视频存储在哪里?

如果我们要做类似 YouTube 的东西,那么应该采取什么方法来存储视频?你知道 YouTube 是做什么的吗?

答案1

Google 不仅在大量服务器上存储了大量数据,他们还编写了可以自动分配负载和存储的软件,同时可以透明地从硬件故障中恢复(如 BigTable 和 Map/Reduce)。

替代方案是:a. 使用其他人的基础设施(Amazon S3、Akami)b. 使用昂贵的存储供应商的产品(NetApp)c. 编写自己的系统,类似于 Google 的系统

由于照片存储量增长到难以管理的程度,Facebook 最近将其照片存储从 A 和 B 的组合改为 C。

答案2

内容分发网络(位于不同地理位置的大型服务器集群)是任何数据和/或流量密集型网络规模应用的关键。

答案3

这取决于您是否坚持自己存储和分发这些文件。

如果您不需要自己管理,那么有很多内容分发网络(akamai 等)会为您保存和重新发送文件,这些文件通常在地理上分散,并且具有出色的弹性。然后,您的网站只需指向这些文件以允许您的用户访问它们,您的工作基本上就完成了。

如果您需要自己存储和分发这些文件,那么您至少需要一大块快速且有弹性的存储(例如 EMC/HP/NetApp 等公司的大型 SAN/NAS)、一些专门用于传输视频的 Web 服务器(我个人的专长 :))以及一些大型缓存负载平衡器,例如 Zeus 的 ZXTM。当然,此时您有一个单点故障(数据中心),因此如果正常运行时间很重要,您应该考虑一个或多个额外的数据中心并分发您的数据和负载。

祝你好运。

答案4

我可能会使用很多服务器来存储它们,比如移动文件系统这样,每个文件都会存储在多台服务器上,因此一台服务器发生故障时不会丢失您的数据。

用低功耗 2TB 硬盘填充它们。

尝试存储大文件时需要小心,不要perlbal像 mogstored 那样使用,但它可以工作。您也可以像 mogilefs 喜欢做的那样将大文件分成几个大块,但仅保留大文件对您的客户端代码来说更容易。

相关内容