177 Shares 8752 views

Co jest transakcją? Systemy przetwarzania transakcji

W świecie, gdzie wszystko zmienia się tak szybko, nie możemy na przystanek minut. Odnosi się to do otrzymania nowych informacji. Nieznany termin lub najnowsza wersja oprogramowania – jest to okazja, aby wypełnić wiedzę w danej dziedzinie. Dziś będziemy mówić o tym co transakcji, jak to działa.

Wprowadzenie do terminologii

Różnorodność oprogramowania do automatyzacji procesów biznesowych ugruntowaną pozycję na rynku w ciągu ostatnich 15 lat. To wymaga zdolności do pracy z oprogramowaniem na różnych poziomach interakcji: jako operator, programista, księgowy itp Dlatego ważne jest, aby zrozumieć niektóre z mechanizmów programu. Aby rozpocząć, niech czynienia z takimi częstych i przerażających wielu kategoriach transakcji. Najczęściej, aby pożyczyć słowa piękne ukryty daleko od takiego złożonego zjawiska, jak wielu przypuszcza, wydając nowy termin, próbując go przez ucho. Załóżmy, zrozumieć, że takiej transakcji.

definicja

Ten zapis jest używany w odniesieniu do każdego produktu, który implementuje bazy danych. Liczne operacje są logicznie połączone w jedną i działa na przemian do siebie, a nie jest transakcją. W życiu codziennym, transakcja może zostać uznane jako łańcuch procedur, takich jak „obudzić – Washed – ubrany – Śniadanie – poszedł do pracy.”

Rozważyć powyższą koncepcję do produktów Przykład 1C. Transakcja – jest to ta sama sekwencja niepodzielne. Dobry model może służyć jako zapis jednostki towarowej: otwarcie żądanego katalogu, należy utworzyć nowy wpis, wypełnienie odpowiednich polach. Aby upewnić się, że wszystkie te działania doprowadziły do pożądanego rezultatu, konieczne jest, aby je realizować ściśle od pierwszego do ostatniego. Dopiero wtedy procedura będzie uznać za sukces. W przeciwnym wypadku transakcja jest anulowana.

Procesy te mogą być zarówno automatyczny, który znajduje się w systemie, a następnie ręcznie przez autora, aby zakończyć po zakupie gotowego produktu, tak aby te ostatnie łatwiejsze dla użytkowników danej firmy. Ponadto, tryb automatyczny, gdy zachowanie systemu jest regulowana poprzez wbudowany mechanizm, transakcje mogą być konwertowane do uruchomienia.

Transakcje w 1C: subtelności wbudowanego w języku

Co jest transakcją w ogólnym przypadku możemy zrozumieć. Ale ponieważ każda firma zajmująca się rozwojem oprogramowania, co sprawia, że ich własny sposób, istnieją pewne różnice pomiędzy transakcjami w ogóle, a transakcje 1C w szczególności. Na przykład zagnieżdżone (transakcja w transakcji) nie są obsługiwane w 1C.

Z punktu widzenia operatorów składniowych wbudowany język dosyć proste. Rozpoczęcie procesu zostało ogłoszone przez procedury specjalnej beginTransaction (). ZafiksirovatTranzaktsiyu () procedura służy do rejestrowania zmian podczas wykonywania czynności. Jeśli w procesie nie powiedzie, możliwe jest OtmenitTranzaktsiyu (), aby cofnąć zmiany popełnione.

Dlaczego warto korzystać z transakcją jest korzystne? Ponieważ kod w tych procedurach jest znacznie szybsze. Jest to stara i programista. Różnica w prędkości może nie być tak widoczne, jeśli użytkownicy 1C w biurze 1-2 pracowników, ale jest to niemożliwe, aby nie czuć się, jeśli chodzi o całych działów, w tym samym czasie do wykonywania różnych prac w tym programie.

pułapek

Oprócz oczywistych korzyści, polegające na poważnym wzrostem prędkości odczytu i zapisu przy pracy z bazą danych, w transakcji jest minus. Wróćmy do poprzedniego przykładu życia. Co jest transakcją, która nie jest wykonywana przez jedną osobę, a cała rodzina? Każdy próbuje dostać się do łazienki, żeby się umyć przed całym tłumem w kuchni, ponieważ jest to czas śniadanie. W rezultacie, członkowie rodziny są niezadowoleni z siebie. W najlepszym razie, to tylko zły początek dnia, a co gorsza – spóźnienie do pracy, nagana od swoich przełożonych, aby udaremnić.

W programie jest taka sama. Jeśli wszyscy użytkownicy zaczną modyfikować dane w tym samym czasie w tym samym dokumencie, który jest uważany ostatnia wersja? Jakie dane są wykorzystywane, aby zapisać? Aby uniknąć takiego zamieszania, istnieje mechanizm blokujący. Oznacza to, że podczas gdy jeden użytkownik pracuje nad dokumentem, drugi umieszczony w kolejce wirtualnego i czeka. Po pomyślnym zakończeniu lub cofnąć dokument może nie działać następnego użytkownika.

Lub nie mogą być sterowane zamki?

Pojęcie transakcji nie może być w pełni rozwiązać bez problemu nadmiernych zamków. Co jest większym złem: brak zamków prowadzące do nieprawidłowego procesu czytania i pisania ze złych wyników na wyjściu, lub zbyt wiele, hamując działanie całego przedsiębiorstwa?

Rozwiązania najlepiej – sterowane zamki, które są złote myśli. Właściwy programista może dostosować istniejący mechanizm do potrzeb organizacji tak, że naprawdę ważne dokumenty są przetwarzane w kolejce zlecenia. Według tych samych elementów konfiguracyjnych, które nie wymagają zamki, można umożliwić swobodny edycji.

Zatem terminowe analizy transakcji i właściwe nastawienie do blokowania umożliwia pełne wykorzystanie elastyczności systemu „1C: Enterprise” i optymalizować działanie bazy danych, minimalizując straty czasu.

Co powoduje nadmierne blokadę?

To nie jest pytanie retoryczne. W razie potrzeby usunąć blokadę, nie będzie zamieszanie i chaos. Baza danych będzie zbierać błędnych danych, ponieważ jednoczesne sald odpis, lub odwrotnie, naliczania aktywów. Ale konsekwencje takiego rodzaju, że wyjdzie na raz. Za pierwszym razem, praca pójdzie szybko, tworząc złudzenie poprawności wyboru awarii zamka. Z drugiej strony, duża liczba nieprzemyślane zamków natychmiast powodując komunikaty o błędach. „Nie można dokończyć bezpiecznej transakcji” – ostrzega nasz system. Co to znaczy? Dwa wzajemnie zablokowane transakcję do siebie tak, że nikt nie może albo zakończyć pracę lub przeprowadzić anulowanie. Błędne koło „martwy” transakcji zawiśnie w bazie przed wykryciem, znacznie zmniejszając wydajność systemu.

Niepotrzebne działania anulowanie chirurgia zwiększyć liczbę wpisów w dzienniku. Ponadto, taki system nie jest opłacalne, ponieważ nawet większy użytkownik po prostu zakopać się pod ciężarem „martwych” zamków. Przestój jest zawsze rośnie. Jak uniknąć takich sytuacji?

Poziomy izolacji – jeden sposób, aby nie siądę

Pomijając fakt, że taka transakcja, wspomnieliśmy o pułapkach. Kontynuując analogię, możemy śmiało stwierdzić, że różnice w poziomie zamka – niezawodne narzędzie pilot na podróż do 1C morza. Istnieją dwa poziomy izolacji: „tylko do odczytu, nie ma wjazdu” i „Nie zapisu lub odczytu.” W trybie automatycznego wyboru nie jest dostępna. Ale to wystarczy, aby przetłumaczyć aplikację w trybie zarządzanym, można umieścić „inteligentnych” ograniczeń, wybierając nie tylko ważne dokumenty, ale także przypisując im odpowiedni poziom izolacji.

Jednak dobrze wystawił pracę – jest przede wszystkim zapobieganie sytuacjach awaryjnych, a nie tylko na czasie likwidacji już wystąpiły błędy. Asystent administratora bazy danych dostarczy systemy przetwarzania transakcji. To na podstawie tych danych, jak było żadnych operacji w systemie, czy zostały one pomyślnie zakończona lub anulowana, jest możliwe do przewidzenia dalszego zachowania systemu i zapobiec potencjalnym zagrożeniom.

Ogólne podsumowanie

Mamy do czynienia z definicją transakcji, uważany schemat procesu od wewnątrz, zapoznał się z różnymi sposobami regulowania działalności w ramach jednej bazy informacyjnej.

Jak widać, mechanizm ten nie jest łatwe, ale łatwe do zrozumienia i lepiej spełniać nawet początkujący programiści i administratorzy baz danych. metody kontroli nie może jeszcze być doprowadzone do perfekcji, i aby uniknąć problemów w trybie automatycznym, też, nie jest to możliwe, ale mimo to, ze każda nowa wersja oprogramowania deweloperów życia staje się łatwiejsze.