Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zaawansowana migrajcja 2 baz danych
Forum PHP.pl > Forum > Bazy danych > MySQL
suli
Witam,
muszę połączyć 2 bazy danych w jedną.
Bazy składają się z ok 100 tabel połączonych relacyjnie na wiele sposobów.
Bazy mają tą samą strukturę 1 do 1.
Tabelki sa oparte o silnik InnoDB
Każda z baz ma po 200GB, min 1mln rekordów na tabelke a rekordowe tabelki mają po 750mln rekordów. Do każdej bazy co sekundę trafia setki rekordów
W każdej z baz rekordy wystartowały od 1..czyli wrzucając dane z jednej bazy do drugiej rozjadą się relacje w tej z której dane dodajemy.

Obecnie jedynym pomysłem, który się pojawił w mojej głowie to:
Biore jeden rekord z starej bazy dodaje go do nowej bazy danych biorę id, które otrzymam i sciągając kolejne rekordy z powiązanych tabel wstawiam już te nowe ID.

Może ma ktoś ciekawszy sposób lub spotkał się z podobnym problemem?smile.gif
Pyton_000
Niestety duże kuku smile.gif
Napisanie jakiegoś skryptu i puszczenie go na noc to chyba jedyne sensowne rozwiązanie smile.gif
suli
Szukam bardziej rozwiązania na poziomie serwera/bazy danych niż skryptów.
Myślałem nad:
1. zmiana primary keya z int-a na varchara alfanumeric z prefixem ze znaków + miejsc gdzie jest to id
2. podobnie jak w pkt 1 ale prefix liczbowy


Jednak boję się rozwalenia bazy danych



Pyton_000
Hmmm... w sumie można by podbić ID powyżej numeru w drugiej bazie.

Jeśli masz CASCADE to automatem i relacje Ci się podbiją.
Potem tylko export -> import.
mar1aczi
Zerknij na SqlYog - http://www.webyog.com/en/. Trial powinien Ci wystarczyć i te 30 dni smile.gif enterprise edition - ma narzędzie do synchronizacji danych między bazami.
Zrób kopię baz przed zabawą, albo wyeksportuj sobie obie bazy "obok" i na nich potestuj.
suli
@Pyton_000, myślałem o tym, tylko czy to nie zabije bazy danych przy tak dużej ilości danych?
@mar1aczi, znalazłem coś jeszcze lepszego niż to, tylko zanim on ściągnie do siebie dane i zrobi merge to pamięć mu się skończy smile.gif
Pyton_000
Wiesz lepsze to niż pobieranie i mielenie 200GB biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.