我有平面文件,我在其中存储数据并检索它而不是存储到数据库。这是暂时的,可能会持续几个月。我想知道我是否应该使用EBS或S3。 EBS主要用于I / O,S3用于内容传送,但是S3正在使用你去模型而EBS是你需要支付购买量吗? 请指导哪一个更好?
答案 0 :(得分:4)
S3听起来更适合您的用例。
S3是对象存储。将其视为亚马逊运行的文件服务器。 (对象不完全等于文件,但它在这里足够接近。)你告诉S3放一个文件,它会存储它。你告诉S3获取一个文件,它会返回它。你告诉S3删除它,它已经消失了。这很容易使用,而且可扩展性很强。
EBS是块存储。可以把它想象成亚马逊运行的外置硬盘。您可以将EBS卷插入EC2虚拟机,也可以通过AWS Storage Gateway通过Internet访问它。与外部硬盘一样,您一次只能将其插入一台计算机。尺寸设置在前面,虽然有增长和缩小的方法,但你一直在支付所有的费用。它也比S3复杂得多,因为它必须为整个卷提供强大的一致性保证,而不是仅在逐个文件的基础上。
答案 1 :(得分:1)
建立在willglynn的好答案之上。如果您定期与数据交互,或者需要更多类似文件系统的访问,您可能会更强烈地考虑EBS。
如果数据量相对较小并且您经常读取和写入数据存储,那么您可能会考虑使用弹性缓存来进行内存存储,这可能比使用s3或EBS在性能方面更优越。
同样,您可以查看DynamoDb的文档类型存储,特别是如果您需要能够搜索/过滤数据对象。
答案 2 :(得分:1)
要点1)您可以将S3和EBS用于此选项。如果你想减少延迟并且文件大小更大,那么EBS是更好的选择。
第2点)如果你想降低成本,那么S3是一个更好的选择。
答案 3 :(得分:0)
根据您的描述,S3将是最具成本效益且可能最简单的解决方案。
S3的优点: 1.您可以从任何地方访问数据。您不需要启动EC2实例。 2.疯狂data durability numbers。 3.关于桶的很好的版本故事。 4.比EBS便宜
EBS的优点 1.方便在EC2中获取文件系统上的数据。这让你可以用Unix管道进行正常处理。 2.随机访问模式可以像您期望的那样工作。 这是一个驱动器。每个人都知道如何处理驱动器上的文件。
如果您想远离平面文件,DynamoDB提供了一组很好的接口,用于将大量行放入表中,然后针对这些行运行操作。