Słownik języka IT. Tom 2. Bazy Danych

Słownik języka IT. Tom 2. Bazy Danych

Published

Dzisiaj prezentujemy kilka pojęć, które przybliżą działanie baz danych! 

Baza danych to de facto system zarządzania lub serwer bazy danych – czyli zbiór programów odpowiedzialnych za przyjmowanie, przechowywanie i odczytywanie danych zgodnie z przyjętym schematem. Przechowywane dane mogą być usystematyzowane na różne sposoby, które są zdeterminowane przez rodzaj systemu zarządzania bazą danych (potocznie rodzaj bazy danych). Obecnie najpopularniejszym systemem jest relacyjna baza danych, jednak to nie jest jedyny rodzaj baz danych. Występują m.in. bazy obiektowe, relacyjno-obiektowe, nierelacyjne (NoSQL) czy bazy kolumnowe.
Transakcja  - w systemie bazodanowym jest zbiorem operacji, których wykonanie stanowi pewną logiczną całość i nie może być wykonana tylko częściowo. Wszystkie operacje zaplanowane w transakcji muszą zostać wykonane, aby zagwarantować spójność danych. Jeśli choć jedna operacja w transakcji się nie uda – cała transakcja musi zostać wycofana.
Commit – w rozumieniu systemów zarządzania bazą danych – jest operacją zatwierdzenia i zakończenia wykonywanej transakcji. Po wykonaniu tej operacji, wszelkie zmiany w bazie danych dokonane w kończonej transakcji będą widoczne dla innych użytkowników systemu.
Rollback to wycofanie/anulowanie przetwarzanej transakcji. W przypadku wystąpienia błędów w procesie wykonania transakcji musi ona zostać całkowicie wycofana, a stan bazy danych – musi być taki jak w momencie jej rozpoczęcia. Anulowana transakcja nie może pozostawić po sobie żadnych zmian. System bazy danych musi być w stanie wycofać nawet bardzo długo trwające transakcje.
Deadlock – tzw. zakleszczenie – jest to niepożądana sytuacja, która może wystąpić podczas pracy programu lub systemu bazy danych. Zdarzenie takie może powstać w momencie, gdy dwa lub więcej zadań próbuje uzyskać dostęp do tych samych zasobów, jednak kolejność zajmowania (blokowania) zasobów powoduje, że zadania wzajemnie oczekują na uwolnienie dostępu do pozostałych zasobów.

 Najprościej zrozumieć to na poniższym (nieinformatycznym przykładzie). Wyobraźmy sobie dwóch stolarzy, pracujących wspólnie i posiadających wspólne narzędzia. Posiadają jeden młotek i jedną miarkę. Każdy z nich do swojej pracy potrzebuje oba narzędzia. Każdy z nich najpierw bierze jedno narzędzie, następnie bierze drugie. Wykonuje pracę i odkłada oba narzędzia na stół. Jeśli jest niedostępne – to czeka na jego dostępność. I tak – stolarz A wziął młotek, w tym samym czasie stolarz B – wziął ze stołu miarkę. Teraz muszą pobrać kolejne narzędzie – jednak na stole nie ma już żadnego. Stolarz A w tej chwili oczekuje na udostępnienie miarki, natomiast stolarz B – oczekuje na udostępnienie młotka. Żadne z tych narzędzi nie będzie dostępne do momentu, gdy stolarz nie wykona swojej pracy. Jednak żaden ze stolarzy nie jest w stanie wykonać swojej pracy – ponieważ brakuje im drugiego narzędzia. W ten sposób obaj czekają na coś czego nie mają szansy nigdy dostać (ze względu na postawione warunki). To jest właśnie zakleszczenie.

Copy as a Plain Text

Share

NAV TechDays - relacja z konferencji

Marcin Karpacz - Dynamics NAV Consultant w EIP, opowiada nam co działo się na konferencji NAV TechDays w Antwerpii!