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