我想要一个Postgres数据库,该数据库与我的生产数据库是同步的,例如一个只读副本,但是我也想写入该数据库。AWS提供可用于MySQL和MariaDB的只读副本,但不支持Postgres。还有其他方法可以做到这一点吗?
好吧,按照定义,只读副本是不可写的,因此恐怕我认为您不会对这种方法有多大运气。
亚马逊本身声明只读副本用于只读流量:
您可以创建一个给定源数据库实例的一个或多个副本,并从数据的多个副本提供大量应用程序读取流量,从而提高总体读取吞吐量。
现在,正如您所说,对于MySQL来说,只读副本可以提升为主副本(因此可写),但是要特别注意以下“何时需要”:
在需要成为独立的数据库实例时,也可以提升只读副本。
但是,RDS本身不支持MySQL的多主机部署。
对于PostgreSQL来说,情况甚至更糟。适用于Postgres的AWS RDS不支持(在撰写本文时)自动复制只读副本,因此将Multi-AZ作为唯一选择。
在RDS之外,PostgreSQL的多主机部署(听起来像您正在寻找的东西)需要更精细的设置。您可以在其Wiki的群集部分中找到更多信息。
通常要注意的是,横向扩展关系/ SQL数据库可能不是一件很有趣的事情,并且在此过程中一定会遇到问题。
这是因为它们根本没有像新的“ NoSQL”数据库那样用于水平扩展(请看一下MongoDB或Cassandra等)。您最好垂直缩放它们,因为这样做会带您(并且会花一些时间)。
我知道的唯一一个可以向外扩展的关系数据库是CockroachDB,但尽管它是一个很有前途的解决方案,但仍处于测试阶段-尚无1.0版本发布。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句