在RDS我可以创建读取副本不存在于主表?(On RDS can I create Tables in

2019-08-07 09:00发布

我们有一个独立的RDS实例来处理会话状态表,但是发现会话DB负载非常低。 如果我们能实例处理会话转换为主要DB的读取副本,那么我们就可以用它是安全的,即使在拷贝大滞后只读任务。

有没有人做过这样的事情上RDS(是否有可能和安全的)? 我应该注意任何严重的副作用? 理解这更好的任何链接或帮助将帮助。

http://aws.amazon.com/rds/faqs/#95试图回答这个问题,但我在寻找更多的见解。

Answer 1:

对的,这是可能的。 我使用它使用成功RDS ,用于本地缓存的具体情况。

您需要设置read_only你的副本参数0 。 我不得不重新启动我的服务器,以便该参数的工作。

这是怎么回事,如果使用不同的表名,很好地工作的RDS不允许您设置: replicate-ignore-table参数。

记得有musn't是主<>从站之间的任何数据冲突。 如果这工作就OK了声明MASTER ,但未能在SLAVE ,那么你刚刚打破了你的复制。 当你创建的表就可能发生如SLAVE第一,然后过一段时间后,你已经添加该表到MASTER 。 在CREATE语句将致力于清洁上MASTER ,但未能在SLAVE ,如表已经存在。

假设,你必须非常小心,让您的应用程序写入SLAVE 。 如果忘记/或犯了一个错误,并开始写读副本为你的一些其他的数据,最终可能会丢失数据或出现难以调试的问题。



Answer 2:

这里没有很多增加 - 唯一正常的情况下,真正使一个纯粹的读取副本感觉就像是增加了一些指标,等等,如果其主要用于报告或别的东西读取密集型的东西。

如果你想预先计算大量数据,并以其他方式修改什么是你需要非常小心你不改变数据的读取副本-如果读取不再一致,那么你就麻烦了:)

如果你,如果你改变从数据和主尝试更新它想了解发生什么事,你已经走向歧途恕我直言。

TL; DR不要做,除非你真的知道自己在做什么,你了解所有的后果。

  • 并直言,MySQL的复制可以在我的经验有些古怪,所以即使知道什么是应该发生的,并作为主试图写入更新的数据到从您还更新....谁知道什么会发生,如果有。


文章来源: On RDS can I create Tables in a Read Replica that are not present on the Master?