寻找一些关于这方面的意见,并试图开始推进我的下一个项目的坚实设计。想象一下,5,000,000张带有低分辨率预览图像的单独图片;每组图片都属于一个属于一个人的图库。有X个人。可以说是Flickr的专用版本。
它们被安置在远程主机上,具有用于查看这些图片的web接口。还有一个桌面应用程序,您可以在其中自动将图片上传到此远程主机,并输入图库详细信息。桌面应用程序有预览图像和关于每个画廊和人物的信息。可以说,这是一个与Flickr同步的桌面应用。
我需要决定两件事:用于远程主机的后端存储和用于桌面应用程序的本地存储。这是针对Windows环境的,所以我认为SQL Server Express将是一个很好的选择,但这个项目已经发展了相当多,可能只适用于桌面端。
远程(web)服务器可以是Windows或Linux、PHP或.Net --只要技术合适,我都不在乎。问题是如何最好地将所有数据存储在web服务器上,以便在发生灾难时可以轻松地对其进行索引、快速访问,最重要的是,可以轻松地进行备份和恢复。目前我并不担心服务器配置或磁盘空间,只要数据库解决方案支持某种云计算场景。
我认为No-SQL后端最有意义,它将照片、图库和用户存储为“文章”而不是“行”。不-SQL似乎更有能力与云一起增长。另一方面,Flickr被宣传为使用MySQL ...
也许这是一个更现实的问题,而不是真正的编码问题,但我知道没有比这更好的问题了!
发布于 2011-03-17 08:11:07
我管理过一个拥有500多万张照片的库存照片网站,我可以说MySQL肯定是一个可行的选择。如果您使用复制,则备份很容易。只需停止从机,复制它,然后启动备份。
MySQL全文搜索不是很好,而且可能会很慢。所以你可能想看看像Solr这样的基于Lucene的引擎。Elastic search也是可伸缩性的一个很好的选择。
如果您不确定自己的数据结构,那么像MongoDB这样的东西可能是一个很好的解决方案。但是Mongo对聚合(大约10,000条记录)有限制,所以请记住这一点。但它是最容易设置的。
任何东西都可以在云中工作,所以我认为这一要求是没有意义的。你可以在EC2上设置任何你想要的东西。
https://stackoverflow.com/questions/5333075
复制相似问题