这是我第一次不得不设计一个网络应用程序,该应用程序必须考虑图像上传/下载流量以及使用亚马逊网络服务器。我一直在阅读,但我仍然对如何最好地解决我的问题感到困惑。
我正在构建一个具有大量图片流量的 Web 应用程序,我注意到 Amazon RDS
比 Amazon S3
便宜。通常在我习惯构建的网站中,我不需要担心本地存储与数据库存储。
如果将所有图片存储在数据库而不是本地 (S3) 中,我会丢失任何东西吗?
这让我想到最好将图像存储在 Amazon RDS
中。因此,我想知道:
用户一般会上传4张图片:mainPicThumb
、mainPic
、secondPic
和secondPicThumb
。每个都有字段 name
和 size
。为了提高效率,我应该将每种图片类型放在不同的表格中,还是应该没有问题?我的意思是,如果我将图片分开放在不同的表中,我是否会获得更快的访问速度和搜索速度或获得任何好处?
而且大多数用户查询将返回 10 个不同的 Thumb 图像
我正在使用 PHP 构建我的后端并使用 ORM (Propel)。
如果有任何指导/建议,我将不胜感激。
请您参考如下方法:
我在 AWS 上为 Stock 摄影网站构建了解决方案,这些网站存储了数百万张跨越 TB 的图像,我想根据您的要求分享 AWS 中的一些最佳实践:
P1) 将原始图像文件存储在 S3 标准选项中
P2) 在 S3 Reduced Redundancy 选项 (RRS) 中存储拇指等可重现图像以节省成本
P3) 有关图像的元数据(包括 S3 URL)可以存储在 Amazon RDS 或 Amazon DynamoDB 中,具体取决于查询的复杂性。从 Amazon RDS 查询条目。如果您的查询很复杂,将元数据存储在 Amazon CloudSearch 或 Apache Solr 中也是常见的做法。
P4) 使用 Amazon CloudFront 以低延迟向用户提供您的拇指。