我的应用程序(经典的asp yay!)大约有210万张图片@25 go,这只代表90天的数据,我希望至少能达到365。我需要控制住这些,并且正在考虑所有的选择。你对下列做法的利弊有何看法:
有没有其他人处理过数百万的图像挑战,你是如何应对的?
发布于 2010-07-15 22:27:44
我们没有数百万张图像,但确实有数十万张,我们使用混合方法-- mysql作为元数据,图像存储在本地磁盘上进行备份,然后推送到Amazon,在那里向用户提供服务。我们在亚马逊( Amazon )和可用性方面没有任何问题。搬到cloudfront是我们的计划,只是需要找到时间。
这个讨论可能会对你的决定有所帮助:
http://ask.metafilter.com/59635/Millions-of-images
我将使用SQL server中的元数据和文件系统(或s3或cloudfront)中的文件。但最好的答案取决于其他一些使用模式:
img src="..." )提供映像吗?还是需要对它们进行访问控制。如果是后者,那么数据库解决方案是最好的。不管你怎么安排,数百万张图像的备份都会很复杂--这只是大量的数据。在致力于该解决方案之前,我希望找到一个关于在SQL server中备份blobs的良好案例研究。(以下是一篇可能有用的文章:http://www.databasejournal.com/features/mssql/article.php/3738276/Storing-Images-and-BLOB-files-in-SQL-Server-Part-4.htm)
发布于 2010-07-15 23:04:23
如果您决定将它们存储在文件系统中,您可能需要阅读这个ServerFault问题,供一些do's和请勿使用:在文件系统中存储100万张图像。
发布于 2010-07-26 09:30:51
忽略那些说“不要在数据库中存储图像/二进制数据”的人,因为他们的答案是基于旧的信息(假设您将将数据存储在VarBinary类型列中)。使用Server存储映像的性能问题现在可以通过在Server 2008中使用费莱斯特亚姆数据类型来缓解。实质上,FILESTREAM数据类型允许您将在数据库中存储数据的方便性与从NTFS文件存储中提供文件所获得的性能结合起来。
引用undefined的话:
"SQL Server 2008‘S新的FILESTREAM支持将直接从NTFS文件系统访问LOB的好处与SQL Server关系数据库引擎提供的引用完整性和访问方便结合起来。“
欲知更多信息,请阅读S.Maniam在MSDN上的博客这是由。
https://webmasters.stackexchange.com/questions/940
复制相似问题