在数据库中存储图像:缺点和优点

时间:2012-07-05 20:01:14

标签: sql-server database blob

我的问题可能与其他问题非常相似,但不一样。在我正在开发的信息系统中,我遇到了下一个问题:我需要存储许多图像数据(每月大约10万,每年大约120-150万)。我正在考虑两种方法:在DB中存储为BLOB或存储在DB文件路径中。从相关问题我读到,仅存储在DB中的参考对性能来说更便宜。也不需要编写处理程序(在asp.net中从DB获取BLOB字段)。但拥有超过100万个文件 - 这是一个好主意吗?备份将非常困难,并且当某些文件被意外删除时,数据库将不再一致。将所有内容存储在DB中的方法没有这些问题。你会推荐什么?有人遇到过这个问题吗?

4 个答案:

答案 0 :(得分:1)

你错过了一件至关重要的事情。将文件存储在数据库中,该文件存储在文件系统中,而不是存储在MDF文件中。查看FileStream的文档。集成备份,通过SQL完全访问,但文件位于单独的共享和/或甚至另一台计算机上。

答案 1 :(得分:0)

有了这么多文件,无论如何备份都会很痛苦。你现在最好采取更便宜的方法。

答案 2 :(得分:0)

我会选择数据库...如果你曾经在同一个文件夹中看过100万个文件,那么在文件系统上可能会非常困难并且难以导航

答案 3 :(得分:0)

你可以通过多种方式攻击它。首先,将图像存储在数据库中是一个坏主意。

更好的方法是存储在分布式文件系统中。

具有可伸缩的命名架构,并将该位置信息存储在数据库或分布式哈希表中。这就是所有军团都这样做的。