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

Jakie mogą wystąpić problemy podczas współdzielenia danych w BD ?

VPS Starter Arubacloud
+1 głos
294 wizyt
pytanie zadane 19 września 2021 w SQL, bazy danych przez XavRock Obywatel (1,390 p.)
Witam

Czy wie ktoś jakie mogą wystąpić błędy podczas niesynchronizowanego do współdzielonych danych ?

1 odpowiedź

+3 głosów
odpowiedź 19 września 2021 przez Wiciorny Ekspert (277,460 p.)
wybrane 19 września 2021 przez XavRock
 
Najlepsza
Na logiczne myślenie, ogromne. Wyobraź sobie sytuacje: dostępu 2 klientów w trakcie modyfikacji tych samych danych, np "stanu konta".
Jeden klient robi odczyt już modyfikowanych danych -> więc widzi całkiem co innego, to samo stan w trakcie działanie ulega zmianie i się okazuje, że dane ulegają zmianom. Nie tylko z uwagi na to, ze aktualnie odczytywane dane juz moga byc nieaktualne, ale tez samo zakończenie operacji będzie błędne? Co jeśli chcesz coś usunąć co już zostało usunięte, albo 2 osoby dodają nagle do tej samej wartości różne "inne wartości' ?
Generalnie aktualnie bazy całkowicie tego nie dopuszczają, przynajmniej te dobrze zaprojektowane.

Ważne jest tutaj ACID -> poczytaj o tym i głównie o SPOJNOŚCI DANYCH
https://datacraze.pl/blog/wszystko-co-chcesz-wiedziec-o-transakcjach-i-acid/
Dodatkowo polecam wykłady :
https://dbc.wroc.pl/Content/3017/PDF/Chalon_ochrona.pdf

Ważne jest tu hasło "WSPÓŁDZIELONE", bo tak naprawdę niesynchronizowane zapytania przyspieszają operacje na bazie, ale jest to dobre w sytuacji zapewnienia odp. współbieżności, lub  na operacjach które jej nie wymagaja
komentarz 26 września 2021 przez XavRock Obywatel (1,390 p.)
A jak nazwać te błędy ?

Redundancja - dwóch użytkowników podczas aktualizacji dodaje ten sam rekord

A inne jak nazwać ?

Dzięki za odpowiedź.
1
komentarz 26 września 2021 przez Wiciorny Ekspert (277,460 p.)

Redundancja - dwóch użytkowników podczas aktualizacji dodaje ten sam rekord

nie to akurat nie jest redundancja, redundancja to jest  nadmiarowość. 

Jeśli mamy odczynienia z aktualizacją  - to tutaj bedą błędy Transakcji - związane z poziomem izolacji. jeśli mechanizm przewiduje Pessimisti locking- na rekordzie aktualizowanym, to wyskoczy nam taki błąd Pessimistic-Locking exception, jeśli Optymistick, to wychodzimy z założenia że versja będzie aktualizowana i w momencie aktualizacji przez 2 użtykownika, wyskoczy nam Optimistick Locking

W przypadku innych mechanizmów będzie to Non-repeatable reads -> jeśli nastąpi odczyt przez jednego użtkownika danych po update pierwszego, a ten update został zacomitowany, jeśli trwa tranzakcja użtykownika pierwsze to będzie to najgorsza sprawa DIRTY-READS.

Inne tzn które? Błęd choćby o którym mówisz jest nierealny w aktualnych systemach DB bo rekordy bedą domyślnie blokowane podczas sesji. A dlaczego też? Bo id-y są zwykle generowane sekwencyjnie stąd w momencie dodawania rekordu będzie miedzy nimi różnica, jeśli te same dane są aktualizowane to mechanizm versionowania to powinien zablokowac 

1
komentarz 26 września 2021 przez Wiciorny Ekspert (277,460 p.)
też źle się wyraziłem "REDUNDANCJA" nie będzie błędem... będzie rezultatem dokonanego błędu, czyli zduplikowaniem tych samych danych, ale to jest rezultat - > np. błędu wynikającego ze złego projektowania i normalizacji bazy danych

Podobne pytania

+1 głos
1 odpowiedź 145 wizyt
pytanie zadane 1 października 2021 w SQL, bazy danych przez XavRock Obywatel (1,390 p.)
0 głosów
2 odpowiedzi 794 wizyt
pytanie zadane 25 stycznia 2016 w C i C++ przez eveN Nowicjusz (230 p.)
0 głosów
1 odpowiedź 140 wizyt

92,977 zapytań

141,940 odpowiedzi

321,182 komentarzy

62,303 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...