EC2 中的高 I/O实例使用 SSD。如何在这样的实例上运行数据库,同时保证数据的持久性?
根据我有限的理解,我想使用弹性块存储(EBS),这样即使机器出现故障,磁盘上的数据也不会消失。另一方面,高 I/O 实例的实例存储 SSD 是短暂的,不能用于数据库存储,因为例如,如果机器断电,数据映像就不会保留。我的理解正确吗?
EC2 中的高 I/O实例使用 SSD。如何在这样的实例上运行数据库,同时保证数据的持久性?
根据我有限的理解,我想使用弹性块存储(EBS),这样即使机器出现故障,磁盘上的数据也不会消失。另一方面,高 I/O 实例的实例存储 SSD 是短暂的,不能用于数据库存储,因为例如,如果机器断电,数据映像就不会保留。我的理解正确吗?
它与其他临时存储相同,不保证持久性。持久性由实例之间的复制处理,其中至少有一个实例写入 EBS 卷。
第 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 进行持久化,仍然建议使用主从架构以获得高可用性。我已经在博客中写了关于这个主题的详细文章,请参阅它们以获取更多信息。