1

我有一个由 MySQL + EC2 + EBS 支持的 Java Web 服务。为了数据完整性,我研究了 DRBD、MySQL 集群等,但想知道是否没有更简单的解决方案。我不需要高可用性(可以处理停机时间)

我只需要保留少数操作的数据——创建帐户、更改密码、购买收据。我可以从过时的备份中恢复的大部分数据。

我在想的是,我可以将选定的 INSERT/UPDATE 命令通过管道传输到存储(例如 S3、SimpleDB),并在需要时(当数据库爆炸时)从上次备份点重播这些命令。如果这个功能是在 JDBC 驱动程序本身中实现的,那岂不是很整洁。

这是否太愚蠢而无法工作,还是我错过了另一个明显而强大的解决方案?

4

2 回答 2

1

您是否也考虑过将 MySQL 迁移到 Amazon Web Services 中?您可以使用Amazon Relational Database Service (RDS)。另请参阅MySQL 企业支持

于 2009-11-23T22:28:18.450 回答
0

总是有一个窗口,服务器和相关文件存储的完全丢失将导致一些数据丢失。

当我在 AWS 中运行一个比较繁忙的 SaaS 解决方案时,我有一个 MySQL Master 在一个大型实例上运行,一个 MySQL Slave 在一个不同可用区的小实例上运行。复制延迟通常不超过 2 秒,但流量激增可能需要一两分钟。

如果您无法承受丢失 5 分钟的数据,我建议您运行主/从设置而不是滚动您自己的恢复机制。如果您自己滚动,请确保“陈旧”备份和记录/日志记录的关键数据位于不同的可用区。AWS 之前已经丢失了整个区域。

于 2012-07-16T02:45:43.710 回答