2015-12-21 34 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

相關問題