12

我对数据库完全陌生。我需要一些关于存储数百万图片和视频的 Facebook 在哪里的信息。他们是否将其存储在数据库中,然后通过查询检索图像/视频?我从一些人那里读过几次,您不应该将图像/视频存储在数据库中,但他们从未提及如果不在数据库中,您应该将它们存储在何处以及应该存储在哪里。请向我提供尽可能多的信息。将不胜感激。

4

5 回答 5

14

通常?作为文件。在磁盘上。然后将这些文件的路径存储在数据库中以便于查找。(或者存储一些网络服务可以使用的密钥来查找文件并流式传输它。)

于 2013-07-25T02:39:49.600 回答
8

Facebook 使用专门和优化的解决方案,完全适合存储数百万张图像的任务。此解决方案对于一般情况没有用处,特别是对于刚开始学习数据库的人。

还要记住,数据库并不一定意味着它使用 SQL。文件系统也是用于存储文件的数据库。它也仅针对此任务进行了优化,这意味着尝试存储与文件不同的内容并尝试将其取回要么是不可能的,要么是低效的。

SQL 数据库具有存储所有类型数据的功能,并让程序员可以决定在以后的某个时间点返回哪些数据。这使得它们在不需要稍后决定返回哪些数据时效率更低,但更能适应不断变化的需求。Facebook 图片存储只能用于存储图片。

于 2013-07-25T08:16:26.190 回答
4

Facebook 不会将他们的图像和视频存储在数据库中。每个文件都直接上传到专门用于此目的的服务器,它们位于世界各地,例如俄勒冈州的派恩维尔或瑞典新建立的服务器。但是,如前所述,它们无处不在。

存储在数据库中的只是这些不同文件的路径。根据您的位置,您正在寻找的路径会发生变化,因此您可以根据您所在的位置访问来自世界各地的不同服务器。

于 2013-07-25T03:03:20.223 回答
3

您不将图像或文件存储在数据库中,您只存储数据(数字、文本等)。文件本身只是存储在内容分发网络中,该网络可以根据最近的位置将图像提供给浏览器。这些图像的名称可能存储在某处的数据库中。但是,无法说出它们以何种方式存储。

于 2013-07-25T02:41:18.847 回答
-2

非常准确地说,FB 使用akamai cdn,另一个服务提供商。您可以从 akamai.com 阅读有关它们的更多信息,这与Amazon CloudFront Amazon cloudFront相同 。话虽如此,人们可以通过参考了解更多信息。坦科..

于 2021-07-03T05:09:41.843 回答