EBS和S3是为不同需求而设计的不同类型存储系统,但通常需要两者兼备。在不影响所需功能的情况下降低存储成本的关键是尽可能地利用S3,并仅在应用程序要求时使用更昂贵的带有预配置I/O的EBS。
S3是一种对象存储系统,可以在单个对象中存储1字节到5 TB的数据。对象不存储在文件系统中;相反,用户创建对象并将密钥与其关联。用户通过命令行操作、API调用或专为与S3配合工作的应用程序(如Firefox浏览器的S3Fox Organizer插件)检索数据。
对象可以包含文件,例如数据集的压缩版本,但它们也可以存储任意字符串。S3对象可以从Web上的任何位置访问,因此如果您运行多个EC2实例,则其中任何一个都可以访问S3对象。实际上,您的数据中心中运行的任何服务器也可以访问S3中的对象。
EBS提供更传统的文件系统功能。EBS存储分为卷,一旦EBS卷附加到服务器上,它就像本地磁盘驱动器一样对待。 EBS卷上的数据可以在连接的虚拟服务器关闭后继续存在。值得注意的是,EC2虚拟实例可以配置为在关机时删除EBS卷;如果您希望在关闭后保存EBS卷,请确保正确配置您的实例。
EBS卷提供标准版和预配置IOPS版本。标准版适用于仅需要中等I/O性能或间歇性需要大量I/O操作的应用程序。 预配EBS卷适用于需要始终保持I/O水平的应用程序,例如数据库。使用预配的IOPS,您可以根据自己的需求购买不同级别的I/O性能。
EBS标准卷费用为每GB每月0.10美元,每100万次I/O请求0.10美元。EBS预配置卷费用为每GB每月0.125美元,每个预配IOPS每月0.10美元。S3存储定价采用分层模型,起步价为每GB每月0.095美元,并下降到超过500TB的存储每月0.055美元。
存储非关键数据时,您可能希望考虑使用S3降低冗余存储。降低冗余存储的价格范围为每GB每月$0.076至$0.037。降低冗余存储设计为99.99%的耐久性和99.99%的可用性,而标准S3存储则设计为99.999999999%的耐久性和99.99%的可用性。
相似数量的S3和具有预配置I/O存储的EBS之间的月度费用差异可能很大。例如,一个500GB的预配置EBS卷,带有1,000 IOPs,将花费每月$162.50(EBS卷为$62.50,EBS IOPS为$100)。同样数量的S3存储将花费$47.03。
示例方案
TransGlobal Analytics的分析师代表多个客户处理大数据集。通常,分析师会使用商业智能工具构建包含汇总数据的数据库。客户使用这些数据库来帮助他们了解趋势并确定运营中的问题区域。例如,客户可能注意到某一业务线的边际利润下降。客户可以使用数据库来钻取特定产品和服务以及时间和地区。这可以帮助她确定问题是否局限于少数产品或地区,还是整个业务线范围内的系统性问题。偶尔,客户会想要深入了解详细数据,但这种情况很少见。
TransGlobal Analytics的数据库设计师必须决定存储详细数据集和汇总数据库的位置。详细数据集的存储应支持多个TB的数据,并轻松扩展以支持其他数据。数据库的存储应支持快速读取操作,因为客户将交互式查询数据。由于数据集可能变得非常庞大,因此重要的是将数据集的单位存储成本最小化。对于数据库用户而言,快速的查询响应(例如小于3秒)是一个坚定的要求,TransGlobal Analytics准备支付更多的存储费用,以确保一致的输入/输出(I/O)性能。系统架构师决定使用S3存储原始数据集,并使用EBS存储数据库中存储的派生数据。
优点和缺点
S3存储系统最大的缺点可能是不支持文件系统。此外,与EBS相比,S3检索时间可能较慢,并且在请求之间可能会有所变化。然而,S3将支持高达5 TB的数据单个对象,并且用户可以存储任意数量的对象。EBS卷仅限于1 TB,并且只能附加到单个EC2实例。如果您想在多个EC2实例上使用相同的EBS卷,则必须复制EBS卷并将副本附加到其他实例。这对于主要支持读操作(例如商业智能应用程序)的应用程序来说是一个合理的解决方案。
Reference:
http://www.tomsitpro.com/articles/cost-of-the-cloud-book,2-694-2.html