如果我们要做一些像youtube一样的东西,那么存储video的方法应该是什么? 任何关于什么youtube的想法?
Google不仅在许多服务器上存储大量数据,还编写了自动分发加载和存储的软件,同时透明地从硬件故障中恢复(如BigTable和Map / Reduce)。
另一种方法是:a。 你用别人的基础设施(Amazon S3,Akami)b。 您使用昂贵的存储供应商的产品(NetApp)c。 你写自己的系统类似于Google的
Facebook最近从A和B的组合转为C来存储照片,因为它变得难以pipe理。
内容分发networking(地理位置不同的大型服务器集群)是任何数据和/或stream量密集型网页级应用程序的关键。
这取决于你是否坚持自己存储和分发这些文件。
如果你不需要自己pipe理这个,那么有很多内容分发networking(akamai等)将为你保存和重新发送你的文件,它们通常在地理上是分散的,并且具有良好的恢复能力。 那么您的网站只需要指向这些文件以允许您的用户访问它们,那么您的工作就基本上完成了。
如果您有需要存储和分发这些文件,那么至less您需要一大块快速而有弹性的存储(例如EMC / HP / NetApp等大型SAN / NAS),某些networking服务器需要调整提供video(我自己的个人专长:))和一些大的caching负载平衡器,如宙斯的ZXTM。 当然,在这一点上,你有一个单一的故障点(数据中心),所以如果正常运行时间很重要,你应该考虑一个或多个额外的数据中心,分配你的数据和负载。
祝你好运。
是的 – 购买许多硬盘和服务器:P
我可能会使用诸如mogileFS之类的大量服务器来存储它们。 这样,每个文件都存储在多台服务器上,所以服务器故障不会丢失数据。
用低功耗2TB驱动器填充它们。
试图存储大文件时,你需要小心,不要使用perlbal作为你的mogstored,但它会工作。 你也可以把大文件分割成像mogilefs这样的大块,但是保持大文件在你的客户端代码上更容易。
我正在运行得到“+1有趣”,所以:
YouTube在哪里存储这么多video?
如果不在云中,则在磁盘上。