【问题标题】:Bad practice to use MySQL and RedShift together?一起使用 MySQL 和 RedShift 的坏习惯?
【发布时间】:2016-03-27 22:29:40
【问题描述】:

我正在进行的一个当前项目专门使用 MySQL 作为我们的 RDMS。我们目前正在寻求将数据库分割成两个不同的数据库。一个将迁移到 RedShift(使用修改后的 Postgresql 运行),而另一个将继续使用 MySQL。

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

将 MySQL 数据库迁移到 Postgres 以减少由于它们的差异引起的复杂性会更好吗?

【问题讨论】:

  • 您可能会遇到更复杂的迁移数据和操作过程。没有理由将采用一种可能具有足够破坏性的附加技术 (Redshift) 与大规模 Db 迁移结合起来。一次做一件事,担心实际而不是假设的问题。如果需要,您可以随时从 MySQL 迁移出去。
  • 这很有道理,并帮助我在精神上理清了我的一些顾虑。看来我们迁移的真正问题是我们如何分割数据,我们需要确保这条线是如何绘制的,以确保在两个数据库之间来回跳转的需求有限。

标签: mysql postgresql amazon-redshift


【解决方案1】:

我们(Looker)与许多同时拥有 MySQL 和 Redshift 的客户(100 多家)合作。随着他们需求的增长,进展通常是:

MySQL

MySQL + MySQL 从属

MySQL + MySQL 可写从属

MySQL + MySQL 可写从属 + Redshift

因此,如果您还没有这样做,那么您最好的选择是设置一个 MySQL 副本从数据库。从属副本遵循您的主写入数据库,本质上是您的主数据库的精确副本。

您还可以使您的副本可写。这对于构建汇总表非常有用。以下是有关如何在 RDS 中制作可写副本的一些说明,但您也可以在其他系统中使用。

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

如果您想要将大事件数据与事务数据集成,下一步是设置一个流程,将您的所有 MySQL 数据迁移到 Redshift 并从其他来源(如例如,您的事件数据)。移动所有数据,让您能够向 Redshift 提出任何问题。

Redshift 将落后于 MySQL 数据库数小时或更长时间。如果您需要回答实时问题,请查询 MySQL。如果您想了解一般情况,请查询 Redshift 数据库。

【讨论】:

  • 这是一个非常好的进展。如果我们在生产环境中工作,这绝对值得研究,但出于我们的实验目的,这可能是矫枉过正。你肯定会得到我的支持。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-21
  • 2013-07-17
  • 2017-12-03
  • 2013-12-15
  • 2016-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多