2015-12-21 43 views
1

我正在研究的一个当前项目是专门使用MySQL作为RDMS。我们目前正在考虑将数据库分割成两个不同的数据库。一个将移动到RedShift(使用修改的Postgresql运行),而另一个将继续使用MySQL。不好的做法是一起使用MySQL和RedShift?

我的问题并非源于分割数据,而是应用程序如何与分段数据交互。实际上,我们目前的应用程序将从RedShift读取静态数据并写入MySQL数据库,我很好奇混合这些查询语言是否是一种不好的做法。

将MySQL DB迁移到Postgres以减少由于它们的不同而产生的复杂性会更好吗?

+1

您可能会遇到更多并发症,可能会迁移您的数据和操作过程。没有理由将采用一种可能具有破坏性的额外技术(Redshift)与批发Db迁移结合起来。一次做一件事,担心实际问题而不是假设问题。如果需要,您可以随后从MySQL迁移出去。 – pvg

+0

这是有道理的,并帮助我从心理上理清我的一些担忧。看起来我们迁移的真正问题是我们如何分割数据,并且我们需要确保如何绘制该线确保有限地需要在两个数据库之间来回切换。 – jdk514

回答

1

我们(Looker)与许多同时拥有MySQL和Redshift的客户(100)一起工作。随着需求增长的发展通常是:

MySQL的

的MySQL + MySQL从

的MySQL + MySQL的可写从

的MySQL + MySQL的可写从 +红移

所以你最好打赌,如果你还没有这样做,那就建立一个MySQL Replica slave数据库。副本从服务器遵循您的主写数据库,基本上是主服务器的精确副本。您也可以使您的副本可写。这对构建汇总表非常有用。以下是关于如何在RDS中制作可写副本的说明,但您也可以在其他系统中使用。

http://www.looker.com/docs/setup-and-management/database-config/mysql-rds

如果有要与您的交易数据整合大事件数据,下一步就是要建立的是迁移所有的MySQL数据到红移和其他来源的数据泵(一个过程比如你的事件数据)。移动所有数据,使您能够询问Redshift的任何问题。

Redshift将落后MySQL数据库数小时或更多。如果您需要回答实时问题,请查询MySQL。如果您需要一般见解,请查询Redshift数据库。

+0

这是一个非常好的进展。如果我们在生产环境中工作,这肯定值得研究,但是对于我们的实验目的来说,这可能是矫枉过正的。 你当然会得到我的赞赏。 – jdk514