• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Rozmyślania na temat transakcji

+1 głos
51 wizyt
pytanie zadane 4 listopada 2020 w SQL, bazy danych przez JakSky Stary wyjadacz (14,250 p.)
edycja 4 listopada 2020 przez JakSky
Chciałbym poruszyć trudny, ale myślę ciekawy temat. A mianowicie transakcje rozproszone na bazach danych. Próbuję się dowiedzieć jak to dokładnie działa. Gdy serwery baz danych oraz sama aplikacja działają stabilnie i nawet jak pojawią się jakieś wyjątki to wszystko powinno być w porządku. A mnie interesuje kilka kwestii:

Co się stanie gdy jeden z serwerów baz danych zostanie wyłączony już po etapie Prepare?

Co się stanie gdy sama aplikacja(nasz backend) zostanie wyłączony podczas transakcji, która ma już etap Prepare za sobą? W bazie danych zostaną niezatwierdzone operacje i co teraz? Operacje zostaną wycofane?

Jeszcze jeden dość ciekawy przypadek. Nasz backend zostaje wyłączony tuż po pierwszym zatwierdzeniu(Commit), a pozostałe operacje są w Prepare. Pytanie co się teraz stanie? Jedna operacja jest już zatwierdzona, a druga nie..

Czytam ostatnio dość sporo i nadal nie mogę tego rozgryźć.

Czy protokół 2pc jest przygotowany na tego typu sytuacje? Rozumiem, że dużo też zależy od konkretnej bazy danych.

Na stackoverflow jest bardzo mało o tym informacji. Ba, są nawet odpowiedzi sprzeczne ze sobą.

Głównie mam na myśli MySQL, jeżeli chodzi o bazę danych.

1 odpowiedź

0 głosów
odpowiedź 4 listopada 2020 przez reaktywny Nałogowiec (27,750 p.)

Generalnie nie wiele pomogę :) Ale +1 za bardzo ciekawy temat. Wreszcie coś ciekawego na tym forum ;)

Tyle co wiem o transakcjach, to to, że jeżeli wszystkie zawarte w nich polecenia nie zostaną wykonane, wszystko jest wycofywane i wracamy do punktu wyjścia.

Czekam, aż do wątku przyłączą się inni - chętnie poczytam!

Podobne pytania

0 głosów
2 odpowiedzi 115 wizyt
0 głosów
2 odpowiedzi 106 wizyt
pytanie zadane 11 kwietnia 2020 w SQL, bazy danych przez lukasz1390 Użytkownik (500 p.)
0 głosów
2 odpowiedzi 299 wizyt

86,459 zapytań

135,216 odpowiedzi

300,377 komentarzy

57,209 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...