AppA przechowuje/pobiera dane z dbA.tableA
. AppB przechowuje/pobiera dane z dbB.tableA
. Definicja tableA jest taka sama w tych bazach danych. Na początek: dbB.tableA
został skopiowany z dbA.tableA
(zakładając, że oba mają 5 wierszy).Replikacja dwukierunkowa dla tej samej tabeli MySQL
row6
został stworzony przez AppA (powiedz klucz podstawowy 6) row7
został stworzony przez AppB (powiedz klucz podstawowy 7). Chciałbym row7
być kopiowane do dbA.tableA
i row6
do dbB.tableA
Czy to w ogóle możliwe do konfiguracji dwukierunkowej replikacji, tak że Appa, AppB zobaczyć te same dane w dowolnym momencie.
Jeśli klucz podstawowy jest automatycznym inkrementowaniem, czy możliwe byłoby zachowanie integralności danych lub czy istnieje możliwość kolizji na kluczu podstawowym.
Podstawowe klawisze w różnych konfiguracjach brzmią jak wołanie o kłopoty. Podobnie jak wiele innych wymagań dotyczących spójności. Zdziwiłem się więc, czy można to zrobić w rozsądny sposób. Mogą jednak istnieć hackowe rozwiązania, obejmujące pomoc aplikacji i jej schematu bazy danych. Na przykład. można dołączyć identyfikator dla hosta generującego w kluczach podstawowych dla nowych wierszy. Możesz dodać kolumnę do zaznaczenia, które wiersze zostały przeniesione. I tak dalej. – MvG
@Rpj Czy zaakceptujesz jedną z poniższych odpowiedzi? –