0

EC2 中的高 I/O实例使用 SSD。如何在这样的实例上运行数据库,同时保证数据的持久性?

根据我有限的理解,我想使用弹性块存储(EBS),这样即使机器出现故障,磁盘上的数据也不会消失。另一方面,高 I/O 实例的实例存储 SSD 是短暂的,不能用于数据库存储,因为例如,如果机器断电,数据映像就不会保留。我的理解正确吗?

4

3 回答 3

0

它与其他临时存储相同,不保证持久性。持久性由实例之间的复制处理,其中至少有一个实例写入 EBS 卷。

于 2013-05-22T14:47:48.483 回答
0

如果您希望您的数据持久存在,您将需要使用 EBS。无论性能如何,在临时驱动器上构建数据库似乎都是一个可疑的设计选择。

EBS 现在提供 4K IOPS 卷,根据您的数据库要求,这很可能绰绰有余。

我的下一个问题真的是:你想托管/运行你自己的数据库吗?

RDSDynamoDB等统包产品可能足以满足您的需求。使用它们比设置和管理您自己的数据库要容易得多。RDS 现在宣传“您现在可以为每个数据库实例配置高达 3TB 和 30,000 IOPS”。这对于很多很多问题集来说已经足够了。

于 2013-05-22T22:40:46.580 回答
0

第 1 点)如果您的工作负载需要用于 DB 的高 IO SSD,那么您应该设置主从设置。理想情况下,建议使用 1 个主设备和 2 个从设备分布在 3 个可用区。即使单个 AZ 出现中断,备用 AZ 也可以处理负载并满足您的高可用性需求。在主从之间,您可以根据您的数据库使用同步、半或异步复制。这种解决方案成本更高。

第 2 点)一般来说,如果您的数据库本质上是 OLTP,那么 Amazon EBS PIOPS + EBS 优化可以为您提供一致的 IOPS。单个 EBS 卷可以提供 4000 IOPS,您可以 RAID 0 多个卷并获得 10k+ IOPS 以提高性能。许多客户在 AWS 中采用这条路线。即使您可能使用 EBS 进行持久化,仍然建议使用主从架构以获得高可用性。我已经在博客中写了关于这个主题的详细文章,请参阅它们以获取更多信息。

于 2013-05-23T06:10:48.367 回答