• 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
259 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 (269,120 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 (269,120 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 (269,120 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ź 127 wizyt
pytanie zadane 1 października 2021 w SQL, bazy danych przez XavRock Obywatel (1,390 p.)
0 głosów
2 odpowiedzi 725 wizyt
pytanie zadane 25 stycznia 2016 w C i C++ przez eveN Nowicjusz (230 p.)
0 głosów
1 odpowiedź 118 wizyt

92,452 zapytań

141,262 odpowiedzi

319,076 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...