![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 3 Dołączył: 10.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, czy jest możliwość wstawiania rekordów do 2 BAZ DANYCH równocześnie na różnych serwerach?
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tak ale pod warunkiem, że możesz łaczyć zdalne ew. zrobić to inaczej
![]() 1.
2. Jeśli nie możesz łaczyć sie zdalnie to wtedy napiszę jedno rozwiązanie Ten post edytował aras785 25.07.2013, 21:51:37 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Tak ale pod warunkiem, że możesz łaczyć zdalne ew. zrobić to inaczej ![]() 1.
2. Jeśli nie możesz łaczyć sie zdalnie to wtedy napiszę jedno rozwiązanie A co jeśli między jednym a drugim exec w serwer uderzy meteoryt? Jedno zapytanie się wykona a drugie nie, wystąpi tzw. utrata spójności danych. Aby zrobić to porządniej musisz poszukać informacji o replikacji i syncrhonizacji baz danych. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 3 Dołączył: 10.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
A co jeśli między jednym a drugim exec w serwer uderzy meteoryt? Jedno zapytanie się wykona a drugie nie, wystąpi tzw. utrata spójności danych. Aby zrobić to porządniej musisz poszukać informacji o replikacji i syncrhonizacji baz danych. Może dodasz coś wiecej |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 64 Pomógł: 6 Dołączył: 20.03.2011 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Pytanie czy zależy mu bardzo na synchronizacji. Włączenie trybu zwykłych transakcji na obu połączeniach dałoby radę, nie?
A obok zwykłych transakcji doszukałem coś takiego: http://dev.mysql.com/doc/refman/5.5/en/xa.html http://mysqlha.blogspot.com/2008/07/do-you...with-mysql.html -------------------- "I see" - said the blind man.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Włączenie trybu zwykłych transakcji na obu połączeniach dałoby radę, nie? Nie. Commity do baz danych również będziesz wysyłał sekwencyjnie (jeden po drugim). Więc teoretycznie może zajść sytuacja, że serwer padnie po wysłaniu commita do pierwszej bazy, ale przed wysłaniem do kolejnej. Ten post edytował sowiq 29.07.2013, 10:16:34 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 280 Pomógł: 20 Dołączył: 12.12.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Może dodasz coś wiecej Miał na myśli że uderzenie metorytu to np. wystąpienie błędu PHP pomiędzy jednym a drugim zapytaniem albo awaria serwera. Wówczas jedno się wykona a drugie nie. -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 3 Dołączył: 10.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Może tak:
Lub zamiast lastID można użyć jakiegoś klucza np:
Nie sprawdzałem w/w skryptów ![]() Ten post edytował aras785 1.08.2013, 20:41:09 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
@aras785, a co to ma zmienić? Przecież i tak zapytania są wykonywane jedno po drugim:
Jeżeli to ma być jakaś kopia to wystarczy ustawić replikację. Tobie chyba chodzi o replikację. Master wtedy automatycznie jest replikowany do niewolnika. Wystarczy wtedy zapytanie do jednej bazy. -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
No jeśli padnie serwer i drugie zapytanie się nie wykona to wtedy usuwa rekord z pierwszej bazy.
//padnie serwer wykonujący skrypt. Już kumam:D No to moje rozwiązanie do kosza ![]() Ten post edytował aras785 1.08.2013, 20:55:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 15:06 |