社交网站数据库管理

时间:2010-06-10 09:17:08

标签: mysql

这对你来说可能是非常基本的问题!但对我来说这非常重要。 1)这些(orkut,facebook或其他)网站如何将图像存储在服务器中?

选项: a)通过转换为字节码/二进制文件将所有图像保存在数据库中。 b)为每个用户创建一个新文件夹,并根据其库名保存照片。 c)或其他我(Anup)还没猜到的东西。

请回复我。

Sayiing thanx看到我的问题以及任何多次回答我的问题。

2 个答案:

答案 0 :(得分:5)

a)没有转换为字节代码/二进制代码,图像是二进制日期,并且简单直接地存储在DB中。这绝对不是保存图片的最佳方式,因为每个图片请求都涉及到数据库,Web服务器可以更快地直接提供静态内容。

b)这稍微好一些,但出于隐私原因,您应该确保无法浏览图片

c)Facebook方式:Facebook使用内容分发网络(CDN)来存储其用户的图片,因此如果浏览器请求特定图片,则从最靠近自己的服务器加载。图片被分发到世界各地分配的多个服务器。 youtube和视频文件也是如此。

答案 1 :(得分:3)

绝对将图像作为二进制文件存储到磁盘。将它们存储在数据库中会产生不必要的开销。我听说一些大型图像托管商在同一个文件中存储了许多图像,并在数据库中存储了一个字节偏移量,因此服务器可以保持存储文件打开,只需seek即可获得其他图像。这将使您免于openclose对内核的调用。