【问题标题】:Handling millions of photos on web server在网络服务器上处理数百万张照片
【发布时间】:2013-04-11 13:09:55
【问题描述】:

我正在设计一个社交网络。我有很多关于设计方法和数据库设计的问题,但根据 stackoverflow 的常见问题解答,最好将问题具体化和集中化。或者我将在一篇文章中列出所有问题。 我的问题是: 如果您在社交网络中有一个用户可以创建相册的功能,假设每个用户有 3 个相册,每个相册包含 10 张照片,这意味着每个用户有 30 张照片,每张照片将存储在 3 个不同大小的大、中、和小。

30 张照片 x 200000 个用户 = 6 000 000 M 张照片。 这意味着数据库中的 6000 亿行对 MySQL 来说不是问题

现在我的主要问题是如何让服务器处理图像数据。 您是将它们分成文件夹还是简单地将它们全部添加到一个文件夹中……..任何专家都遇到过这个问题。请提出建议……谢谢……?

规格

MYSQL 数据库 PHP 前 6 个月共享 Linux 主机。

【问题讨论】:

  • SO 有很多关于这个主题的问题,而你的问题真的很模糊。
  • @woz ....请先仔细阅读问题..谢谢

标签: file storage social-networking


【解决方案1】:

我不会为此任务使用经典文件系统。分层文件存储存在固有限制(文件夹深度、文件夹中的文件数量、名称、会崩溃的自动索引等)。

直接在数据库中使用一些 blob。 Bing Map 正在将他的所有数据存储到 blob 中;几张图片。

除此之外,这是在 Microsoft SQL 服务器上运行的,使用 mysql 你需要一些配置技巧。

【讨论】:

  • 许多人同意将图像存储在数据库中被认为是低效的方式 + 我没有特殊要求迫使我使用 DB BLOB 作为照片的存储。我更喜欢文件系统。然而;我询问更多关于如何组织它以及文件夹中有多少文件等......基本上如何去做......
  • 许多人同意.. 但只有一些人对这件事进行了基准测试。拥有 6 000 000 多个文件,您的文件系统将简单地崩溃,备份将无效,管理复杂,调试变得痛苦。如果 Bing Map 将图像存储为 blob,我相信它们。如果互联网上有人说其他话,他将不得不向我证明它为什么效率不高,或者向我展示一个基于文件系统的高效系统。文件系统是执行此操作的旧方法。 Db the new 看看第一个答案,这里:stackoverflow.com/questions/4654004/…
  • 好吧,让我们分析一下:6 000 000 张照片 dem:800X600 每张尺寸可能是 70kb 中尺寸:20KB 小尺寸:10kB 多 = 5.8GB ..... 我认为这很有可能,也许更快.. 仍然需要先阅读很多内容.. 但我开始明白你的意思了
  • 我也看到你了。这不是大小问题,而是索引、文件名迭代和同步 btw db 和 fs 的问题。上面的链接中已经说明了一切,所以我不会扩展我的观点。如果您想要文件系统存储,请明智地选择文件系统(例如,ntfs 限制 32 个文件夹深度)。 Db 方面,您需要存储图像的每个元数据(路径、大小、颜色.. wtv 你想要的)。不要每次访问磁盘是我唯一的建议。
猜你喜欢
  • 2023-04-08
  • 2012-05-02
  • 1970-01-01
  • 2015-03-15
  • 2012-03-31
  • 2021-07-05
  • 2022-06-23
  • 1970-01-01
  • 2019-05-02
相关资源
最近更新 更多