[MYSQL][PHPMYADMIN] automatyczne przesyłanie danych

0

Cześć,

Ganiam się z problemem w jak najprostszy, a zarazem najbardziej stabilny sposób automatycznie wgrywać dane na serwer, ale od początku.
Mam dwie bazy danych:

  1. Wrzucane do niej sa dane z programu, baaardzo dużo rekordów i wszystko odbywa się dynamicznie. W skrócie jest bardzo obciążona, że jeszcze jedno zapytanie ją zabije.
  2. Baza backup. Powstała do przechowywania wybranych (najważniejszych) danych z tej pierwszej

Napisany jest skrypt, który raz dziennie (W nocy) pompuje dane z Pierwszej bazy do Drugiej.
Napisany jest również widok tej bazy .odc, który odpalany jest w excelu i odświeżany dynamicznie do pracy z danymi.

Moim zadaniem jest, importować dane z widoku dynamicznie do bazy drugiej. Import musi wykonywać się cyklicznie co np 5min.
Zupełnie nie wiem jak to ugryźć :)

0

Zleć to komuś, kto się zna i chce zarobić.
Z posta wnioskuję, że nie wiesz na co się porywasz...

0

Wiem, nie musi to być łatwe, dlatego zwróciłem się o pomoc. Nie chcę również gotowca. gdybym chciał to zlecić, to bym to zrobił, a nie pisał na forum ;)

1

Albo skrypt odpalany z crona, albo CREATE EVENT: https://dev.mysql.com/doc/refman/5.7/en/create-event.html
Ew. widok do źródłowej tabeli (bez pompowania)

0
  1. czy baza druga to baza backup?
  2. czy baza druga i baza z widokiem to takie same silniki?
  3. wg mnie najlepszym rozwiązaniem było by napisanie trigerów na wszystkich tabelach z widoków, które uzupełniały by tabelę (ze strukturą taką jak widok) i pozbycie się widoku. Generowanie co 5 minut nowego widoku może koniec końców zabić bazę, szczególnie jeśli danych źródłowych jest dużo ale rzadko się zmieniają. Następnie na tabeli jakieś pole z datą ostatniej aktualizacji albo pole int z wartością zwiększaną globalnie dla tabeli (coś jak sekwencja - nie wiem czy mysql coś takiego ma) przy każdej zmianie (insert/update) rekordu aby wiedzieć co się zmieniło od ostatniego razu
0

Tak, druga baza to backup pierwszej, ale tylko najważniejsze dane. Bazy to phpMyAdmin, jednakże baza pierwsza pracuje na innym serwerze niż baza 2, ale w tej samej domenie. Widok jest potrzebny, bo inni użytkownicy pracują na danych z widoku.

Widok działa tak, że jak odświeży się dane w excelu to automatycznie pojawiają się nowe rekordy z bazy, czysty .odc. Moim zadaniem jak napisałem, jest przesyłanie danych po ich odświeżeniu do bazy backup.

0

Po tym poście widać, że mieszasz pojęcią, phpmyadmin to klient bazy mysql, dla mnie samo rozwiązanie jest niezrozumiałe, bo jak rozumiem, excel ma pobierać dane z bazy backup, a ten 5 minutowy interwał to po to by było aktualnie, dla mnie pkt 2 nie ma sensu bo tu aż prosi się o replikację master-slave i spokojnie można odpalać ten widok na bazie backup, bez jakiś zapytań latających co 5 minut. Skoro każde kolejne zapytanie zabija bazę, a chcesz dodać kolejne 12 na godzinę, to coś tu jest nielogicznego...

0

Widok napisany jest na pierwszej głównej bazie. Baza backup ma dostać dane z tego widoku właśnie

0

Nie zrozumiałeś, ale żeby dostać dane z tego widoku będziesz co 5 minut puszczał zapytanie na bazie produkcyjnej, aby te dane przegrać na bazę backup , co stoi w sprzeczności z tym co napisałeś:

W skrócie jest bardzo obciążona, że jeszcze jedno zapytanie ją zabije.

Ja mówię o scenariuszu takim

Baza produkcyjna (master)
Baza backup (slave)

Ustawiona replikacja, wtedy nie potrzebujesz:

Napisany jest skrypt, który raz dziennie (W nocy) pompuje dane z Pierwszej bazy do Drugiej.
Moim zadaniem jest, importować dane z widoku dynamicznie do bazy drugiej. Import musi wykonywać się cyklicznie co np 5min.

Widok który odpalasz w Excelu robisz na bazie backup.
Tak na marginesie o jakich wielkościach mówimy, rozmiar bazy i co to jest baaardzo dużo rekordów?

1 użytkowników online, w tym zalogowanych: 0, gości: 1