我想在Amazon EC2实例上托管一个网站,但出于可靠性考虑,我希望将底层数据库放在一些更永久的存储介质上。不会有任何文件上传或类似的东西,但我想确保数据库查询和更新快速进行。我应该使用EBS还是S3?
如果您想了解更多信息,请发表评论
答案 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.
特点:
当您将EBS与RDS进行比较时,与EBS相比,RDS上的两者都会被收取额外的费用,但其值得。亚马逊负责一切,如果您的网站是流量驱动的,它就有自动复制的解决方案。
答案 2 :(得分:2)
为了构建其他非常好的答案,您可以将数据库存储为s3上的.sql文件。但是您的网站/应用程序无法对此文件进行查询,因为s3没有MySQL程序(文件!=数据库)。
Amazon RDS将数据库的备份存储为s3,作为.sql文件(我假设),它们以编程方式访问并用于在发生故障时还原RDS数据库实例。
EBS与RDS的优势在其他答案中有所说明,但为了清楚起见,RDS的一个主要优点是亚马逊负责通过提供备份等来恢复失败的实例。
我不确定数据库复制部分,因为这似乎是一个单独的概念,我已经读到这是 NOT RDS的一个功能。更有经验的DBA似乎经常将此作为 NOT 使用RDS的原因。有人可以澄清这个吗?