我正在开发的一个当前项目专门使用MySQL作为我们的RDMS。我们目前正在寻求将数据库分成两个不同的数据库。一个将转移到RedShift(使用修改后的Postgresql运行),而另一个将继续使用MySQL。
我的担忧并非源于分割数据,而是应用程序如何与分段数据交互。实际上,我们当前的应用程序将从RedShift读取静态数据并写入MySQL数据库,我很好奇将这些查询语言混合在一起是不好的做法。
将MySQL数据库迁移到Postgres以限制因差异而引起的并发症会更好吗?
答案 0 :(得分:1)
我们(Looker)与许多拥有MySQL和Redshift的客户(100人)合作。随着需求的增长,进展通常是:
的MySQL
MySQL + MySQL slave
MySQL + MySQL Writable Slave
MySQL + MySQL Writable Slave + Redshift
所以你最好的选择,如果你还没有这样做,那就是设置一个MySQL Replica slave数据库。副本从属服务器跟随您的主数据库,并且基本上是主服务器的精确副本。
您还可以使副本可写。这对于构建汇总表非常有用。以下是有关如何在RDS中制作可写副本的一些说明,但您也可以在其他系统中使用它。
http://www.looker.com/docs/setup-and-management/database-config/mysql-rds
如果要将大事件数据与事务数据集成,则下一步是设置一个将所有MySQL数据迁移到Redshift并从其他来源泵入数据的流程(如例如,你的事件数据)。移动所有数据,您可以从Redshift中提出任何问题。
Redshift将落后于MySQL数据库数小时或更长时间。如果您需要回答实时问题,请查询MySQL。如果您想要一般见解,请查询Redshift数据库。