Scheduler

Uwaga: Ta sekcja jest w przygotowaniu - może zawierać niepełne informacje

Moduł Scheduler pozwala „zaprogramować” zadania do wykonania cyklicznego w terminach dogodnych dla systemu. Może to być aktualizacja cytowań z jednej z baz, może też być to aktualizacja danych dotyczących czasopism, czy też komunikacja z inną instancją bazy wiedzy.



Zadania cykliczne opierają się na powtarzalności, którą zapewnia Cron - oparty na czasie program do harmonogramowania zadań w systemach.

image-20240202-093831.png

Systemowe zadania cykliczne

checkAlerts (0 0 * * * ?)

Czas uruchamiania

CRON: (0 0 * * * ?)
CRON ludzkim językiem: Co godzinę

Co robi

Skrypt odpowiedzialny jest za sprawdzenie czy w środowisku nie występują żadne błędy.

Co wolno w nim zmieniać

W tym schedulerze potencjalnie można zmienić czas uruchamiania, jednak nie jest to zalecane. Jest to zadanie systemowe, które zaplanowane jest z odpowiednią częstotliwością i w czasie, w którym uwzględniono codzienną pracę systemu. Warto jednak pamiętać, że zwiększenie częstotliwości uruchamiania tego elementu zwiększy obciążenie systemu (im więcej alertów, tym bardziej), dodatkowo będzie to jednoznaczne z tym, że użytkownicy częściej będą dostawać powiadomienia o tych błędach.

cleanImports (0 0 6 * * ?)

Czas uruchamiania

CRON: (0 0 6 * * ?)
CRON ludzkim językiem: Codziennie o godzinie 6:00

Co robi

Skrypt sprawdza historie wszystkich importów, które były wykonywane na środowisku, oprócz tych, które zostały anulowane. Następnie wszystkie zakończone importy, których czas przekracza ustalony limit zostają usuwane z historii. Importy, które nie zostały zakończone ale ich czas przekroczył drugi ustalony limit, również zostają usunięte z historii. Podczas usuwania danych system zlicza ilość usuniętych zakończonych i niezakończonych importów, które przekroczyły limit czasowy na wykonanie zadania. Pod sam koniec nasz Scheduler zwraca informację o tym ile elementów z historii zostało usuniętych, zarówno tych ukończonych jak i nieukończonych, mamy też informację o liczbie wszystkich importów, które obecnie są zawarte w spisie historycznym.

Co wolno w nim zmieniać

W tym schedulerze potencjalnie można zmienić czas uruchamiania, jednak nie jest to zalecane. Jest to zadanie systemowe, które zaplanowane jest z odpowiednią częstotliwością i w czasie, w którym uwzględniono codzienną pracę systemu. Warto jednak pamiętać, że zwiększenie częstotliwości uruchamiania tego elementu zwiększy obciążenie systemu.

clearBinaryCache (0 0 0 * * ?)

Czas uruchamiania

CORN: (0 0 0 * * ?)
CRON ludzkim językiem: Codziennie o godzinie 00:00

Co robi

Skrypt odpowiedzialny za czyszczenie Cache’u przeznaczonego na pliki w naszym środowisku.

Co wolno w nim zmieniać

W tym schedulerze potencjalnie można zmienić czas uruchamiania, jednak nie jest to zalecane. Jest to zadanie systemowe, które zaplanowane jest z odpowiednią częstotliwością i w czasie, w którym uwzględniono codzienną pracę systemu. Warto jednak pamiętać, że zwiększenie częstotliwości uruchamiania tego elementu zwiększy obciążenie systemu.

consistencyFix (0 5 0/2 * * ?)

Czas uruchamiania

CORN: (0 5 0/2 * * ?)
CRON ludzkim głosem: Co 2 godziny, 5 minut po godzinie

Co robi

Skrypt sprawdza czy dane w bazie są spójne poprzez sprawdzenie daty ostatniej modyfikacji, wyszukanie powiązanych ze sobą rekordów i ewentualną podmianę zmian, która była dokonana, na którymś z rekordów.

Co wolno w nim zmieniać

W tym schedulerze potencjalnie można zmienić czas uruchamiania, jednak nie jest to zalecane. Jest to zadanie systemowe, które zaplanowane jest z odpowiednią częstotliwością i w czasie, w którym uwzględniono codzienną pracę systemu. Warto jednak pamiętać, że zwiększenie częstotliwości uruchamiania tego elementu zwiększy obciążenie systemu.

ExportToORCID (59 59 23 31 12 ? 2099)

Czas uruchamiania

CORN: (59 59 23 31 12 ? 2099)
CRON ludzkim językiem: O godzinie 23:59:59, 31.12.2099 r.

Co robi

Skrypt eksportuje publikacje autorów do systemu ORCID. Dodatkowo zlicza błędnie wykonane eksporty i na sam koniec informuje ile ich było. Skrypt wypisuje także informacje o każdym z eksportów jaki został wykonany.

Co wolno w nim zmieniać

W tym schedulerze potencjalnie można zmienić czas uruchamiania, jednak nie jest to zalecane. Jest to zadanie systemowe, które zaplanowane jest na uruchamianie ręczne.

geocodeAddresses (59 59 23 31 12 ? 2099)

Czas uruchamiania

CRON: (59 59 23 31 12 ? 2099)
CRON ludzkim głosem: O godzinie 23:59:59, 31.12.2099 r.

Co robi

Jest to skrypt odpowiedzialny za zaktualizowanie wszystkich przestarzałych danych geolokalizacji.
Element najpierw pobiera listę wszystkich najstarszych elementów, następnie pobiera z nich wszystkie dane adresowe jakie są dostępne, łączy się z api w celu pobrania danych geolokalizacyjnych i przypisuje nowe, zaktualizowane do rekordu. W przypadku niepowodzenia, otrzymujemy o tym informację. Na sam koniec widzimy liczbę zaktualizowanych rekordów wraz z dodatkowymi informacjami.

Co wolno w nim zmieniać

W tym skrypcie występuje zmienna limit, która domyślnie jest ustawiona na null, jednak jeżeli chcemy by skrypt przerywał się po przeanalizowaniu “x” rekordów, należy tę wartość ustalić wedle naszego uznania. Ustalenie limitu może też skrócić czas wykonywania skryptu w przypadku dużych aktualizacji danych, należy jednak pamiętać, że oznacza to, że część danych nie zostanie zaktualizowana, dlatego nasza baza nie będzie w pełni zaktualizowana.

processScopusAuthorQueue (0 */5 * ? * *)

Czas uruchamiania

CRON: (0 */5 * ? * *)
CRON ludzkim głosem: Co 5 minut

Co robi

Skrypt sprawdza wszystkich autorów pod kątem posiadanych publikacji, które następnie zostają zaimportowane do systemu Scopus. W przypadku zaimportowaniu publikacji jakiegoś autora otrzymujemy informację o tym, czy wszystko zostało poprawnie wykonane, w przypadku błędów dostajemy logi z informacją co poszło nie tak.

Co wolno w nim zmieniać

W tym skrypcie występuje zmienna limit, która domyślnie ustawiona jest na wartość 5, odpowiada ona liczbie maksymalnie obsłużonych autorów przy jednym uruchomieniu naszego skryptu. Należy jednak pamiętać, że zwiększenie wartości może wpłynąć na czas wykonywania skryptu.

PubMed MeSH importer (59 59 23 31 12 ? 2099)

Czas uruchamiania

CORN: (59 59 23 31 12 ? 2099)
CRON ludzkim głosem: O godzinie 23:59:59, 31.12.2099 r.

Co robi

Skrypt odpowiedzialny za import deskryptorów MeSH z PubMed dla rekordów z PubMedID. Po wykonaniu importu użytkownik zostaje poinformowany, dla których rekordów podjęto takie działania i czy wykonane zostały one poprawnie, w przypadku niepowodzenia użytkownik otrzyma informację w logach, który rekord nie został zaktualizowany.

Co wolno w nim zmieniać

W tym skrypcie można zmienić wartość zmiennej import_refresh_interval, domyślnie jest ona ustawiona na jeden dzień, warto jednak pamiętać, że na niektórych środowiskach skrypt uruchamia się co 12h i zbyt duże zmniejszenie tej wartości może doprowadzić do znacznego spowolnienia działania środowiska.

SherpaScheduler (0 0 7 * * ?)

Czas uruchamiania

CRON: (0 0 7 * * ?)
CRON ludzkim głosem: Codziennie o 7:00

Co robi

Skrypt odpowiedzialny za zaktualizowanie danych sherpy, których czas od ostatniej aktualizacji przekroczył wartość zmiennej sherpaModifiedInterval (domyślnie 2, co oznacza liczbę dni).
W skrypcie znajduje się także metoda, która pozwoli na zaktualizowanie danych, których czas od ostatniej aktualizacji przekracza wartość zmiennej omegaModifiedInterval (domyślnie 30, co oznacza liczbę dni). Wszelkie działania wykonają się pod warunkiem, że obecnie nie jest uruchomiony już ten skrypt, jeżeli z jakiegoś powodu nie zakończyłby się on dnia poprzedniego, to kolejny nie zostanie uruchomiony.

Co wolno w nim zmieniać

W przypadku gdy jest taka potrzeba można zmienić wcześniej wspomnianą metodę, która pozwoli na zaktualizowanie starszych danych.
Można także zmienić wartości zmiennych sherpaModifiedInterval i omegaModifiedInterval, należy jednak pamiętać, że jakiekolwiek zmniejszenie tych wartości może doprowadzić do zbyt wolnego działania naszego środowiska z uwagi na fakt ciągle aktualizujących się danych.

updateAffiliationsKeywords (0 0 5 * * ?)

Czas uruchamiania

CRON: (0 0 5 * * ?)
CRON ludzkim głosem: Codziennie o 5:00

Co robi

Skrypt odpowiedzialny za zaktualizowanie affiliationKeywords. Aktualizacja zostanie wykonana pod warunkiem, że nowo wyznaczone wartości affiliationKeywords nie są dokładnie takie same jak przed uruchomieniem się skryptu.

Co wolno w nim zmieniać

Nic, działanie tego skryptu może odbywać się na bardzo wielu elementach naszej bazy danych, więc jego modyfikacja w jakikolwiek sposób może drastycznie spowolnić działanie naszego środowiska.

updateAffiliationsStats

Czas uruchamiania

CRON: (0 0 22 * * ?)
CRON ludzkim głosem: Codziennie o 22:00

Co robi

Skrypt odpowiedzialny za zauktalizowanie affiliationStats. Aktualizacja zostanie wykonana pod warunkiem, że nowo wyznaczone wartości affiliationStats nie są dokładnie takie same jak przed uruchomieniem się skryptu.

Co wolno w nim zmieniać

Nic, działanie tego skryptu może odbywać się na bardzo wielu elementach naszej bazy danych, więc jego modyfikacja w jakikolwiek sposób może drastycznie spowolnić działanie naszego środowiska.

updateAuthorsKeywords (0 0 0 * * ? )

Czas uruchamiania

CRON: (0 0 0 * * ?)
CRON ludzkim głosem: Codziennie o 00:00

Co robi

Skrypt odpowiedzialny za zaktualizowanie wszystkich keywordsów powiązanych z danym autorem. Odpowiada za pobranie wszystkich elementów z bazy danych, które są powiązane z danym autorem, przez osiągnięcia, aktywności, artykuły, do raportów i tym podobnych, następnie we wszystkich tych elementach następuję aktualizacja wszystkich keywordsó'w.

Co wolno w nim zmieniać

Nic, działanie tego skryptu może odbywać się na bardzo wielu elementach naszej bazy danych, więc jego modyfikacja w jakikolwiek sposób może drastycznie spowolnić działanie naszego środowiska.

updateAuthorsStats (0 0 1 * * ?)

Czas uruchamiania

CRON: (0 0 1 * * ?)
CRON ludzkim głosem: Codziennie o 1:00

Co robi

Skrypt odpowiedzialny za zaktualizowanie wszystkich wyników powiązanych z aktywnymi autorami w naszej bazie.

Co wolno w nim zmieniać

Nic, działanie tego skryptu może odbywać się na bardzo wielu elementach naszej bazy danych, więc jego modyfikacja w jakikolwiek sposób może drastycznie spowolnić działanie naszego środowiska.

updateDomainKeywords (0 0 5 * * ?)

Czas uruchamiania

CRON: (0 0 5 * * ? )
CRON ludzkim głosem: Codziennie o 5:00

Co robi

Skrypt odpowiedzialny za zaktualizowanie wszystkich keywordsów powiązanych z daną domeną, Odpowiada za aktualizacje wszystkich elementów z bazy danych, które są powiązane z daną domeną. Skrypt początkowo sprawdza czy do danej domeny przypisana jest dyscyplina, , następnie wykonuje metodę calculateKeywords(), dzięki której tworzone są nowe słowa kluczowe, jeżeli nowe keywordsy są różne od starych to wtedy dokonuje się ich modyfikacja w bazie danych, w przeciwnym przypadku kończy się działanie obiegu pętli bez żadnych zmian.

Co wolno w nim zmieniać

Nic, działanie tego skryptu może odbywać się na bardzo wielu elementach naszej bazy danych więc jego modyfikacja w jakikolwiek sposób może drastycznie spowolnić działanie naszego środowiska.

updateDomainStats (0 0 23 * * ?)

Czas uruchamiania

CRON: (0 0 23 * * ?)
CRON ludzkim głosem: Codziennie o 23:00

Co robi

Skrypt odpowiedzialny za zaktualizowanie wyników każdej z domen w naszej bazie. Początkowo pobiera listę wszystkich domen, lista ta sortowana jest rosnąco po id. Następnie pobiera najnowszy wynik domeny, oraz ten, który był wcześniej do niej przypisany, jeżeli wynik się zmienił to dokonujemy aktualizacji w bazie danych, jeżeli nie to pomijamy krok aktualizacji bazy danych.

Co wolno w nim zmieniać

Nic, działanie tego skryptu może odbywać się na bardzo wielu elementach naszej bazy danych więc jego modyfikacja w jakikolwiek sposób może drastycznie spowolnić działanie naszego środowiska.

updateScopusJournalseries (59 59 23 31 12 ? 2099)

Czas uruchamiania

CRON: (59 59 23 31 12 ? 2099)
CRON ludzkim głosem: O godzinie 23:59:59, 31.12.2099 r.

Co robi

Skrypt odpowiedzialny za aktualizację “journalseries” przy użyciu ScopusAPI, gdzie ostatniej aktualizacji dokonuje się przed podanym progiem czasowym przetrzymywanym w zmiennej timeTreshold. Skrypt posiada zadeklarowane 4 zmienne, które odpowiadają za limity działania omawianego schedulera, są to:

  • limit ogólny działania skryptu,

  • limit aktualizacji,

  • wielkość paczki (która będzie modyfikowana),

  • limit czasowy podany w dniach, który następnie przeliczony zostanie na milisekundy i zapisany do zmiennej timeTreshhold.

W przypadku przekroczenia limitów, działanie skryptu zostanie zakończone. Skrypt pobiera listę wszystkich czasopism “journalseries”, które posiadają w sobie scopusId, sortując ją rosnąco po dacie ostatniej modyfikacji. Dodatkowo informuje on użytkownika o liczbie elementów w liście. Następnie skrypt przygotowuje paczkę, czyli podlistę wcześniej wspomnianej listy, która będzie zawierać w sobie kolejne elementy do aktualizacji. Na koniec zwraca wynik o ilości zaktualizowanych elementów oraz informację o ewentualnie powstałych błędach.

Co wolno w nim zmieniać

Ewentualnym modyfikacją mogą podlegać wcześniej wspomniane limity, należy jednak pamiętać, że ich zwiększenie znacznie spowolni działanie skryptu.

updateScopusPublications (59 59 23 31 12 ? 2099)

Czas uruchamiania

CRON: (59 59 23 31 12 ? 2099)
CRON ludzkim głosem: O godzinie 23:59:59, 31.12.2099 r.

Co robi

Skrypt odpowiedzialny za aktualizację publikacji “publications” przy użyciu ScopusAPI, gdzie ostatniej aktualizacji dokonuje się przed podanym progiem czasowym przetrzymywanym w zmiennej timeTreshold. Skrypt posiada zadeklarowane 4 zmienne, które odpowiadają za limity działania omawianego schedulera, są to:

  • limit ogólny działania skryptu,

  • limit aktualizacji,

  • wielkość paczki (która będzie modyfikowana)

  • limit czasowy podany w dniach, który następnie przeliczony zostanie na milisekundy i zapisany do zmiennej timeTreshhold.

W przypadku przekroczenia limitów, działanie skryptu zostanie zakończone. Skrypt pobiera listę wszystkich “publications”, które posiadają w sobie scopusId, sortując ją rosnąco po dacie ostatniej modyfikacji. Dodatkowo informuje on użytkownika o liczbie elementów w liście. Następnie skrypt przygotowuje paczkę, czyli podlistę wcześniej wspomnianej listy, która będzie zawierać w sobie kolejne elementy do aktualizacji. Na koniec zwraca wynik o ilości zaktualizowanych elementów oraz informację o ewentualnie powstałych błędach.
UWAGA! Skrypt nie wykonuje dopasowania oraz zapisu ScopusId do rekordu publikacji - id musi być uzupełnione przez redaktora lub podczas importu:

Co wolno w nim zmieniać

Ewentualnym modyfikacją mogą podlegać wcześniej wspomniane limity, należy jednak pamiętać, że ich zwiększenie znacznie spowolni działanie skryptu.

updateTeamKeywords (0 30 2 * *)

Czas uruchamiania

CRON: (0 0 23 * * ?)
CRON ludzkim głosem: Codziennie o 23:00

Co robi

Skrypt odpowiedzialny za zaktualizowanie wszystkich keywordsów powiązanych z danym zespołem, Odpowiada za aktualizacje wszystkich elementów z bazy danych, które są powiązane z danym zespołem. Skrypt początkowo sprawdza czy do danego zespołu przypisana jest dyscyplina, , następnie wykonuje metodę calculateKeywords(), dzięki której tworzone są nowe słowa kluczowe, jeżeli nowe keywordsy są różne od starych to wtedy dokonuje się ich modyfikacja w bazie danych, w przeciwnym przypadku kończy się działanie obiegu pętli bez żadnych zmian.

Co wolno w nim zmieniać

Nic, działanie tego skryptu może odbywać się na bardzo wielu elementach naszej bazy danych więc jego modyfikacja w jakikolwiek sposób może drastycznie spowolnić działanie naszego środowiska.updateTeamStats (0 0 2 * * ?)

updateTeamStats (0 0 2 * * ?)

Czas uruchamiania

CRON: (0 0 2 * * ?)
CRON ludzkim głosem: Codziennie o 02:00

Co robi

Skrypt odpowiedzialny za zaktualizowanie wyników każdego z zespołów w naszej bazie. Początkowo pobiera listę wszystkich zespołów, lista ta sortowana jest rosnąco po id. Następnie pobiera najnowszy wynik zespołu, oraz ten, który był wcześniej do niego przypisany, jeżeli wynik się zmienił to dokonujemy aktualizacji w bazie danych, jeżeli nie to pomijamy krok aktualizacji bazy danych.

Co wolno w nim zmieniać

Nic, działanie tego skryptu może odbywać się na bardzo wielu elementach naszej bazy danych więc jego modyfikacja w jakikolwiek sposób może drastycznie spowolnić działanie naszego środowiska.

updateWosAuthorsHindex (0 0 20 ? * SUN *)

Czas uruchamiania

CRON: (0 0 20 ? * SUN *)
CRON ludzkim głosem: O 20:00 w każdą sobotę

Co robi

Skrypt aktualizuje hindex

Co wolno w nim zmieniać

W tym schedulerze potencjalnie można zmienić czas uruchamiania, jednak nie jest to zalecane. Jest to zadanie systemowe, które zaplanowane jest z odpowiednią częstotliwością i w czasie, w którym uwzględniono codzienną pracę systemu. Warto jednak pamiętać, że zwiększenie częstotliwości uruchamiania tego elementu zwiększy obciążenie systemu.

updateWosPublicationsDetails (0 0 20 ? * SAT *)

Czas uruchamiania

CRON: (0 0 20 ? * SAT * )
CRON ludzkim głosem: O 20:00 w każdą sobotę

Co robi

Odpowiada za automatyczną, cykliczną aktualizację cytowań. Dodatkowo skrypt dokonuje dopasowania i zapisu WoSIdD do rekordu publikacji

Co wolno w nim zmieniać

W tym schedulerze potencjalnie można zmienić czas uruchamiania, jednak nie jest to zalecane. Jest to zadanie systemowe, które zaplanowane jest z odpowiednią częstotliwością i w czasie, w którym uwzględniono codzienną pracę systemu. Warto jednak pamiętać, że zwiększenie częstotliwości uruchamiania tego elementu zwiększy obciążenie systemu.

authorEmploymentInfoPOLON (59 59 23 31 12 ? 2099)

Czas uruchamiania

CRON: (59 59 23 31 12 ? 2099)
CRON ludzkim głosem: O godzinie 23:59:59, 31.12.2099 r.

Co robi

Skrypt odpowiada za automatyczną, aktualizację informacji o zatrudnieniu z POLON. Skrypt wyczyści dotychczasowe dane o zatrudnieniu aktualizowanego pracownika.

Co wolno w nim zmieniać

W tym schedulerze potencjalnie można zmienić czas uruchamiania, jednak nie jest to zalecane. Jest to zadanie systemowe, które zaplanowane jest na uruchamianie ręczne.

authorEmploymentInfoPOLON_v2.0 (59 59 23 31 12 ? 2099)

Czas uruchamiania

CRON: (59 59 23 31 12 ? 2099)
CRON ludzkim głosem: O godzinie 23:59:59, 31.12.2099 r.

Co robi

Skrypt odpowiada za automatyczną, aktualizację informacji o zatrudnieniu z POLON_2.0. Skrypt wyczyści dotychczasowe dane o zatrudnieniu aktualizowanego pracownika.

Co wolno w nim zmieniać

W tym schedulerze potencjalnie można zmienić czas uruchamiania, jednak nie jest to zalecane. Jest to zadanie systemowe, które zaplanowane jest na uruchamianie ręczne.

*authorPhdEmploymentInfoPOLON (59 59 23 31 12 ? 2099)

Czas uruchamiania

CRON: (59 59 23 31 12 ? 2099)
CRON ludzkim głosem: O godzinie 23:59:59, 31.12.2099 r.

Co robi

Skrypt odpowiada za automatyczną, aktualizację informacji o doktorantach z POLON. Plik importowy musi zostać zapisany w formacie XLS oraz zawierać minimum poniższe kolumny:

  • PESEL/ Dok. Tożsamości

  • ORCID

  • UUID

  • Data rozpoczęcia kształcenia

  • Data zakończenia

  • Data skreślenia

  • Imie

  • Nazwisko

  • Dyscyplina w której przygotowywana jest rozprawa

  • Uczelnia/Instytut

Co wolno w nim zmieniać

W tym schedulerze potencjalnie można zmienić czas uruchamiania, jednak nie jest to zalecane. Jest to zadanie systemowe, które zaplanowane jest na uruchamianie ręczne.

ExportToORCIDSandbox (59 59 23 31 12 ? 2099)

Czas uruchamiania

CRON: (59 59 23 31 12 ? 2099)
CRON ludzkim głosem: O godzinie 23:59:59, 31.12.2099 r.

Co robi

Skrypt eksportuje publikacje autorów do systemu ORCIDSandbox. Dodatkowo zlicza błędnie wykonane eksporty i na sam koniec informuje ile ich było. Skrypt wypisuje także informacje o każdym z eksportów jaki został wykonany.

Co wolno w nim zmieniać

W tym schedulerze potencjalnie można zmienić czas uruchamiania, jednak nie jest to zalecane. Jest to zadanie systemowe, które zaplanowane jest na uruchamianie ręczne.

journalDistributionFromXmlFiles (59 59 23 31 12 ? 2099)

Czas uruchamiania

CRON: (59 59 23 31 12 ? 2099)
CRON ludzkim głosem: O godzinie 23:59:59, 31.12.2099 r.

Co robi

Skrypt umożliwia wgranie słownika Czasopisma i Serie z Centralnej bazy czasopism (w całości lub w części) na środowisko klienckie

Co wolno w nim zmieniać

Nic, działanie tego skryptu może odbywać się na bardzo wielu elementach naszej bazy danych, więc jego modyfikacja w jakikolwiek sposób może drastycznie spowolnić działanie naszego środowiska.

SherpaUpdateAll (59 59 23 31 12 ? 2099)

Czas uruchamiania

CRON: (59 59 23 31 12 ? 2099 )
CRON ludzkim głosem: O godzinie 23:59:59, 31.12.2099 r.

Co robi

Skrypt pozwalający na aktualizowanie w systemie Omega czasopism, które zostały zaktualizowane w Sherpa.

Co wolno w nim zmieniać

Nic, działanie tego skryptu może odbywać się na bardzo wielu elementach naszej bazy danych, więc jego modyfikacja w jakikolwiek sposób może drastycznie spowolnić działanie naszego środowiska.