我应该使用EBS或S3存储我的数据库吗?

时间:2011-06-09 17:34:28

标签: database amazon-s3 amazon-web-services amazon-ebs

我想在Amazon EC2实例上托管一个网站,但出于可靠性考虑,我希望将底层数据库放在一些更永久的存储介质上。不会有任何文件上传或类似的东西,但我想确保数据库查询和更新快速进行。我应该使用EBS还是S3?

如果您想了解更多信息,请发表评论

3 个答案:

答案 0 :(得分:6)

您无法在S3上存储数据库。如果您打算将数据库存储在任何位置,它将位于EBS或实例存储上。

答案 1 :(得分:2)

喜欢,@ Femi说,你不能使用S3 for DB,但你可以使用其中一个实例存储/ EBS / RDS。更多信息如下:

Instance store will disappear if your instance is crashed, + EBS volume got quite a good problem recently - though this is good over instance-store, I would suggest you to have a look at Amazon RDS, I had used it for one my project and it's super cool.

亚马逊RDS有很好的优势:

http://aws.amazon.com/rds/

特点:

  • 自动备份
  • 数据库快照
  • 自动更换主机
  • 复制

当您将EBS与RDS进行比较时,与EBS相比,RDS上的两者都会被收取额外的费用,但其值得。亚马逊负责一切,如果您的网站是流量驱动的,它就有自动复制的解决方案。

答案 2 :(得分:2)

为了构建其他非常好的答案,您可以将数据库存储为s3上的.sql文件。但是您的网站/应用程序无法对此文件进行查询,因为s3没有MySQL程序(文件!=数据库)。

Amazon RDS将数据库的备份存储为s3,作为.sql文件(我假设),它们以编程方式访问并用于在发生故障时还原RDS数据库实例。

EBS与RDS的优势在其他答案中有所说明,但为了清楚起见,RDS的一个主要优点是亚马逊负责通过提供备份等来恢复失败的实例。

我不确定数据库复制部分,因为这似乎是一个单独的概念,我已经读到这是 NOT RDS的一个功能。更有经验的DBA似乎经常将此作为 NOT 使用RDS的原因。有人可以澄清这个吗?