-
Data: 2010-04-11 00:08:04
Temat: Re: wielodostęp
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Misiek NA pisze:
> Mam aplikację która rejestruje zdarzenia. Tabela w której są
> przechowywane informacje posiada trzy kolumny:
> data (format YYYY-MM-DD), typ zdarzenia oraz liczba wystąpień.
> Zdarzenia zgłaszane są przez zewnętrzne procesy.
> Dwa procesy mogą zgłosić ten sam typ zdarzenia.
> Obecnie jest to robione tak, że aplikacja robi select sprawdzając czy
> dane zdarzenie wystąpiło bieżącego dnia. Jeśli wystąpiło, zwiększa
> liczbę wystąpień, jeśli nie, dodaje nowy rekord do tabeli.
>
> Wydaje mi się, że to rozwiązanie posiada pewną wadę.
> Według mnie, w sytuacji gdy pewien typ zdarzenia nie został jeszcze
> zarejestrowany bieżącego dnia a dwa procesy zgłoszą to zdarzenie
> jednocześnie w tabeli pojawią się dwa wpisy dla jednego typu
> zdarzenia.
>
> Jak zabezpieczyć się przed tą sytuacją?
Jak nie chcesz kombinować z transakcjami (co zazwyczaj jest poprawnym
rozwiązaniem) to:
klucz podstawowy/uniq na parze (data,typ)
sprawdzasz czy wpis istnieje
A) tak - robisz update, który zapewni blokadę na poziomie wiersza
B) nie - wstawiasz:
B)a) udało się - było to pierwsze wstawienie
B)b) nie udało się z powodu naruszenia ograniczeń uniq - rekord już
istnieje - idź do A)
Ewentualnie, jeżeli zbiór typów zdarzeń jest dość skończony to
generujesz wpisy z wartością 0 na najbliższy miesiąc a potem tylko z
update lecisz.
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 11.04.10 20:01 Maciej Sobczak
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-08 Router LTE z możliwością zmian MTU
- 2025-07-08 Re: Pożar w Ząbkach a polscy dyletanci
- 2025-07-08 Trójmiasto => Head of Social Media <=
- 2025-07-08 Warszawa => MENA New Business Manager <=
- 2025-07-08 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-08 Warszawa => Customer Service with Spanish + translation <=
- 2025-07-08 Warszawa => Senior Account Manager <=
- 2025-07-08 Parkometry bez podstawy prawnej
- 2025-07-07 Re: Ząbki się spaliły jak wiejskie, drewniane stodoły sprzed 50 lat
- 2025-07-06 Kup szybko nową ładowarkę do smartfona
- 2025-07-07 TV z Play (dawniej UPC) -- potrzebny dekoder?
- 2025-07-06 Kup szybko nową ładowarkę do smartfona
- 2025-07-07 mija rok jeżdzenia po lewej
- 2025-07-06 Elektryki jednak są NIEBEZPIECZNE
- 2025-07-08 Fajny film widziałem...