1c idarə olunan kilidlərə keçdi. Əməliyyat kilidinin idarə edilməsi

1C: Enterprise sistemi verilənlər bazası ilə işləməyin iki rejimindən istifadə etməyə imkan verir: əməliyyatda avtomatik kilidləmə rejimi və əməliyyatda idarə olunan kilidləmə rejimi.

Bu rejimlər arasındakı əsas fərq aşağıdakı kimidir. Avtomatik kilidləmə rejimi tərtibatçıdan əməliyyatda kilidləri idarə etmək üçün heç bir tədbir görməsini tələb etmir. Bu qaydalar 1C:Müəssisə sistem platforması tərəfindən müəyyən DBMS-də əməliyyat təcridinin müəyyən səviyyələrindən istifadə etməklə təmin edilir. Bu iş rejimi tərtibatçı üçün ən sadədir, lakin bəzi hallarda (məsələn, çox sayda istifadəçinin intensiv eyni vaxtda işləməsi ilə) DBMS-də istifadə olunan əməliyyat izolyasiya səviyyəsi kifayət qədər paralelliyi təmin edə bilmir, bu da özünü büruzə verir. istifadəçilər işləyərkən çoxlu sayda kilidləmə münaqişəsi forması.

İdarə olunan kilidləmə rejimində işləyərkən, 1C: Müəssisə sistemi DBMS-də əməliyyat təcridinin daha aşağı səviyyəsindən istifadə edir ki, bu da tətbiq həllinin istifadəçilərinin paralelliyini əhəmiyyətli dərəcədə artıra bilər. Bununla belə, avtomatik kilidləmə rejimindən fərqli olaraq, əməliyyat təcridinin bu səviyyəsi artıq öz-özünə əməliyyatda məlumatlarla işləmək üçün bütün qaydalara uyğunluğu təmin edə bilməz. Buna görə də, idarə olunan rejimdə işləyərkən, tərtibatçıdan əməliyyatda müəyyən edilmiş kilidləri müstəqil şəkildə idarə etmək tələb olunur.

Xülasə, avtomatik bloklama rejimində və idarə olunan bloklama rejimində işləyərkən fərqlər aşağıdakı cədvəldə göstərilir:

Konfiqurasiyada bloklama rejiminin qurulması

Konfiqurasiya Data Lock Control Mode xassəsinə malikdir. Hər bir konfiqurasiya tətbiqi obyekti həmçinin Data Lock Control Mode xassəsinə malikdir.
Bütün konfiqurasiya üçün məlumat kilidinə nəzarət rejimi Avtomatik, İdarə olunan (yeni konfiqurasiya üçün standart) və ya Avtomatik və İdarə olunan olaraq təyin edilə bilər. Avtomatik və İdarə olunan dəyərlər obyektlərin hər biri üçün təyin edilmiş dəyərlərdən asılı olmayaraq bütün konfiqurasiya obyektləri üçün müvafiq bloklama rejiminin istifadə ediləcəyini bildirir. Avtomatik və İdarə olunan dəyər o deməkdir ki, müəyyən bir konfiqurasiya obyekti üçün onun Məlumat Kilidinə Nəzarət Rejimi xassəsində göstərilən rejim istifadə olunacaq: Avtomatik və ya İdarə olunan.
Qeyd etmək lazımdır ki, metadata obyekti üçün müəyyən edilmiş məlumatların bloklanmasına nəzarət rejimi bu obyektin məlumatları ilə işləyərkən (məsələn, obyekt məlumatlarını dəyişdirərkən) 1C: Enterprise sistemi tərəfindən başlanan əməliyyatlar üçün təyin olunur.
Əgər, məsələn, obyektin yazılması əməliyyatı tərtibatçı tərəfindən başlatılan əməliyyatda həyata keçirilirsə (StartTransaction() metodu), onda verilənlərin bloklanmasına nəzarət rejimi Kilidləmə Modu parametrinin dəyəri ilə müəyyən ediləcək.
metodu StartTransaction() və Data Lock Control Mode metadata obyekt xassəsinin dəyəri deyil.
Varsayılan olaraq, Bloklama Rejimi parametri Data Bloklama Nəzarət Rejimi olaraq təyin edilir
Açıq əməliyyatda idarə olunan kilidləmə rejimindən istifadə etmək üçün bu parametrin dəyərini göstərməlisiniz
Məlumat Kilidinə Nəzarət Rejimi.

Daxili dildən istifadə edərək idarə olunan kilidlərlə işləmək

Əməliyyatda kilidləri idarə etmək üçün daxili dil obyekti DataLock istifadə olunur. Bu obyektin nümunəsi konstruktordan istifadə etməklə yaradıla bilər və tələb olunan kilid boşluqlarını və kilid rejimlərini təsvir etməyə imkan verir. Bütün yaradılmış kilidləri təyin etmək üçün DataLock obyektinin Lock() metodundan istifadə edin. Bu üsul əməliyyatda (açıq və ya gizli) icra edilirsə, kilidlər əldə edilir və əməliyyat başa çatdıqda avtomatik olaraq buraxılır. Lock() metodu əməliyyatdan kənarda icra olunarsa, heç bir kilid əldə edilməyəcək.

Sahənin dəyərinin göstərilən qiymətə bərabər olması və ya sahə dəyərinin müəyyən edilmiş diapazonda olması üçün şərtlər qoyulur.
Şərtlər iki şəkildə təyin edilə bilər:

  • sahə adını və dəyərini açıq şəkildə göstərərək (DataLockElement obyektinin SetValue() metodu);
  • tələb olunan dəyərləri ehtiva edən məlumat mənbəyini göstərərək (DataLockElement obyektinin DataSource xüsusiyyəti).

Hər bloklama elementi üçün iki bloklama rejimindən biri təyin edilə bilər:

  • paylaşdı,
  • müstəsna.

İdarə olunan kilidləmə uyğunluğu cədvəli belə görünür:

Paylaşılan kilidləmə rejimi o deməkdir ki, kilidlənmiş məlumat cari əməliyyatın sonuna qədər başqa bir əməliyyat tərəfindən dəyişdirilə bilməz.
Eksklüziv kilidləmə o deməkdir ki, kilidlənmiş məlumat cari əməliyyatın sonuna qədər başqa bir əməliyyat tərəfindən dəyişdirilə bilməz və ya məlumatda paylaşılan kilidi saxlayan başqa bir əməliyyat tərəfindən oxuna bilməz.

"Avtomatik və idarə olunan" rejimdə işləmə xüsusiyyətləri

Avtomatik və İdarə olunan bloklama idarəetmə rejimində işləyərkən iki xüsusiyyət nəzərə alınmalıdır:

Verilmiş əməliyyat üçün müəyyən edilmiş rejimdən asılı olmayaraq, sistem müvafiq idarə olunanı quraşdıracaq
bloklama.
Kilid nəzarət rejimi ən yüksək səviyyəli əməliyyatla müəyyən edilir. Başqa sözlə desək, əgər tranzaksiya başlanan zaman başqa əməliyyat başlanmışdırsa, o zaman başlanmış əməliyyat yalnız artıq işləyən əməliyyat üçün təyin edilmiş rejimdə icra oluna bilər.

Sadalanan xüsusiyyətləri daha ətraflı nəzərdən keçirək.

Birinci xüsusiyyət ondan ibarətdir ki, tranzaksiya üçün avtomatik kilid idarəetmə rejimi istifadə edilsə belə, sistem bu əməliyyatda məlumat yazarkən müvafiq idarə olunan kilidləri əlavə olaraq quraşdıracaqdır. Bu o deməkdir ki, idarə olunan kilid rejimində işləyən əməliyyatlar avtomatik kilid idarəetmə rejimində işləyən əməliyyatlarla ziddiyyət təşkil edə bilər.

İkinci xüsusiyyət ondan ibarətdir ki, konfiqurasiyada metadata obyekti üçün müəyyən edilmiş və ya tranzaksiyaya başladıqda açıq şəkildə göstərilən kilid idarəetmə rejimi (StartTransaction() metodunun parametri kimi) yalnız “arzu olunan” rejimdir. Əməliyyatın həyata keçiriləcəyi faktiki kilid idarəetmə rejimi bunun tranzaksiyaya başlamaq üçün ilk zəng olub-olmamasından və ya həmin anda 1C: Enterprise sisteminin bu sessiyasında başqa bir əməliyyatın başlanıb-başlamamasından asılıdır.

Məsələn, sənədi yerləşdirərkən reyestr qeydlərinin dəstlərini yazarkən kilidləri idarə etmək lazımdırsa, idarə olunan kilidləmə rejimi həm reyestrin özü, həm də sənəd üçün təyin edilməlidir, çünki əməliyyatda reyestr qeydlərinin dəstlərinin yazılması həyata keçiriləcəkdir. sənədi yazarkən açılır.

Mexanizm əməliyyat kilidləri DBMS-ə rəqabətli istifadəçi girişi üçün istifadə olunur.
Tranzaksiya, verilənlər bazasının vəziyyətinin dəyişdiyi bir növ davamlı əməliyyatdır. Bu, minimum dəyişikliyin miqdarıdır: siz yarım əməliyyat edə bilməzsiniz; əməliyyat başa çatmazsa, verilənlər bazası ilkin vəziyyətinə qaytarılacaq.
Tranzaksiya bir sıra verilənləri tutduğundan, bu massivə daxil olmaqda bir nüans yaranır: məsələn, bir əməliyyat məlumatı dəyişir, digəri isə onu oxumağa çalışır. Oxuma nəticəsi səhv ola bilər, çünki son dəyişikliklər daxil olmayacaq. Buna görə də, tranzaksiya izolyasiyası DBMS səviyyəsində işləyir. Aşağıdakı izolyasiya səviyyələri mümkündür:

  • Təhlükəsiz oxuyun- bir tranzaksiya massivi dəyişdirərkən, digəri onu dəyişə bilməz, ancaq oxuya bilər. Ən aşağı izolyasiya səviyyəsi.
  • Oxumaq sadiqdir- bir əməliyyat massivi dəyişdirərkən, digəri onu dəyişə və ya oxuya bilməz
  • Təkrarlanan oxu- bir tranzaksiya massivi oxuyarkən, digəri onu dəyişə bilməz, ancaq oxuya bilər
  • Seriallaşdırıla bilən- bir əməliyyat massivi oxuyarkən, digəri onu dəyişə və ya oxuya bilməz. Bütün əməliyyatlar ardıcıldır. Maksimum izolyasiya səviyyəsi.

1C:Enterprise konfiqurasiyası qurulubsa avtomatik kilidləmə rejimi, sonra əməliyyatın izolyasiya səviyyəsi DBMS tərəfindən seçilir. MS SQL vəziyyətində, bu, Təkrarlanan oxu və ya Seriallaşdırıla bilən səviyyələr olacaq, yəni məlumatların izolyasiyası maksimuma yaxındır. Bu, məlumatların düzgünlüyü ilə bağlı problemləri həll edir, lakin intensiv istifadəçi işi zamanı DBMS səviyyəsində bloklanmağa səbəb ola bilər. Buna görə, 1C: Müəssisə idarə olunan kilidlər rejimini aktivləşdirməklə aktivləşdirilən kilidlərlə işləmək üçün öz funksionallığına malikdir. Bu halda, MS SQL üçün əməliyyat təcrid səviyyəsi oxunmuş olacaq. Platformanın özü DBMS-ə etibar etmədən məlumatları təcrid edəcək.

İdarə olunan kilidləmə rejimi konfiqurasiya xüsusiyyətlərində aktivləşdirilib:

Həmçinin, kilidləmə rejimi xüsusi konfiqurasiya obyektləri üçün təyin edilə bilər:

Əgər konfiqurasiya bütövlükdə Avtomatik kilidləmə rejiminə qoyulubsa, konfiqurasiya obyekti üçün təyin edilmiş rejimdən asılı olmayaraq bütün registrlər üçün bütün əməliyyatlar avtomatik rejimdə işləyəcək. İdarə edilirsə, eyni şəkildə bütün əməliyyatlar İdarə olunanda olacaq. Əgər konfiqurasiya rejimi Avtomatik olaraq təyin edilibsə və idarə olunursa, hər bir obyekt üçün rejim onun parametrləri ilə müəyyən ediləcək.

Avtomatik və idarə olunan rejim üçün bir nöqtə var. İstifadəçi üçün bir əməliyyat platforma baxımından bir neçə əməliyyatı təmsil edə bilər. Məsələn, bir sənədin interaktiv olaraq reyestrdə yerləşdirilməsi ikiəməliyyatlar - sənədin özünün qeydi və bu əməliyyat çərçivəsində registr üzrə sıralar toplusunun qeydi. Sənədin özü və onun hərəkət etdiyi registr üçün kilid idarəetmə rejimindən asılı olaraq dörd vəziyyət mümkündür:

  1. Sənəd rejimi Avtomatik, qeydiyyat rejimi Avtomatik ->
  2. Sənəd rejimi İdarə olunur, qeydiyyat rejimi İdarə olunur -> idarə olunan rejimdə qeydiyyatdan keçməklə qeyd edin
  3. Sənəd rejimi Avtomatik, qeydiyyat rejimi Nəzarətli -> avtomatik rejimdə qeydiyyatdan keçməklə qeyd
  4. Sənəd rejimi İdarə olunur, qeydiyyat rejimi Avtomatik -> istisna (xəta)

1C imtahanının 06.59 sualı: Platform Professional. Sənədi hər hansı registr vasitəsilə yerləşdirərkən, sənəddə əməliyyatın avtomatik kilidinin idarə edilməsi rejimi varsa və reyestrdə idarə olunan rejim varsa (“Avtomatik və idarə olunan” seçimi konfiqurasiya xüsusiyyətlərində istifadə olunur), onda belə yerləşdirmə aşağıdakılara gətirib çıxaracaq:

Düzgün cavab ikincidir, biz bunu birinci əməliyyatla müəyyən edirik, əgər avtomatikdirsə, hər şey avtomatikdir.

1C imtahanının 06.60 sualı: Platform Professional. Sənədi hər hansı bir reyestr vasitəsilə yerləşdirərkən, sənəddə əməliyyat kilidlərini idarə etmək üçün idarə olunan rejim varsa və reyestrdə avtomatik rejim varsa (konfiqurasiya xüsusiyyətlərində "Avtomatik və idarə olunan" seçimi istifadə olunur), onda belə göndərmə aşağıdakılara səbəb olacaq:

  1. səhv vəziyyətinə
  2. bütün əməliyyat avtomatik olaraq tamamlanacaq
  3. bütün əməliyyat nəzarətli şəkildə tamamlanacaq

Düzgün cavab birincidir, biz birinci tranzaksiya ilə müəyyən edirik, əgər nəzarət olunursa, deməli, səhvdir.

1C imtahanının 06.61 sualı: Platform Professional. Sənədi hər hansı bir reyestr vasitəsilə yerləşdirərkən, sənəddə əməliyyat kilidlərini idarə etmək üçün avtomatik rejim varsa və reyestrdə idarə olunan rejim varsa (konfiqurasiya xüsusiyyətlərində "İdarə olunan" seçimi istifadə olunur), onda belə yerləşdirmə aşağıdakılara səbəb olacaq:

  1. səhv vəziyyətinə
  2. bütün əməliyyat avtomatik olaraq tamamlanacaq
  3. bütün əməliyyat nəzarətli şəkildə tamamlanacaq

1C 8.3-də idarə olunan kilidlərə keçidin faydaları bir neçə dəfə deyildi - bu, avadanlıqların səmərəliliyini və məhsuldarlığını xeyli artırır.

Konfiqurasiyanızı idarə olunan kilidləmə rejiminə ötürmək üçün tərəfdaşa ehtiyacınız varsa, sadəcə bizimlə əlaqə saxlayın! Təfərrüatlar - .

Prosesin özü o qədər də çətin deyil. Bununla belə, proses olduqca incədir. İxtisassız bir şəxs tərəfindən idarə olunan rejimə keçid vəziyyəti daha da pisləşdirə bilər.

Aşağıda avtomatik bloklama rejimindən idarə olunan bloklama rejiminə keçid üsulunu təhlil edəcəyik.

Bütün texnika 7 qısa nöqtəyə uyğundur:

Konfiqurasiya xüsusiyyətləri palitrasında kilidləmə rejimini "İdarə olunan və avtomatik" rejiminə keçirin:

1C-də 267 video dərsi pulsuz əldə edin:

Obyektin idarə olunan rejimə keçirilməsi

Ən çox “yüklənmiş” sənədlərdən başlamaq lazımdır. Sənədi idarə olunan kilidləmə rejiminə keçirin:

Registrlərin idarə olunan rejimə köçürülməsi

Bu sənədlə hərəkətlər yaradan BÜTÜN 1C registrlərini (yığım, uçot, məlumat, hesablama) idarə olunan kilidləmə rejiminə köçürmək lazımdır:

Bu obyektlərlə bütün əməliyyatları tapın

Bu metadata obyektləri ilə bütün əməliyyatları tapmalısınız. Həm aşkar, həm də aşkar deyil.

Açıq olanlar “StartTransaction()” metodundan istifadə edərək kodda çağırılanlardır.

Açıq-aydın DEYİL - obyekt işləyicilərində çağırılanlar - "Yazı", "Yazı Emalı" və s.

Əməliyyatda proqram kodunun düzəldilməsi

Açıq əməliyyatlar üçün “Məlumatların Kilidlənməsinə Nəzarət Modu” parametrini “Tranzaksiyaya Başla()” metodu parametrinə keçirməlisiniz.

Açıq-aşkar DEYİL əməliyyatlar üçün “Data Locking” sistem obyektindən istifadə edərək kilidləri təyin edin.

Bloklamadan istifadə nümunəsi:

Kilid = NewDataLock;
Kilid Elementi = Locking.Add("Yığım Qeydiyyatı.MallarAnbarlarda");
Bloklama Element.SetValue("Keyfiyyət", Directories.Quality.FindByCode("1"));
LockElement.Mode = DataLockMode.Exclusive;
Kilidləmə Element.DataSource = DocumentObject.ReturnableContainer;
Locking Element.UseFromDataSource("Nomenklatura", "Nomenklatura");
LockElement.UseFromDataSource("Anbar", "Anbar");
Lock.Lock();

DƏYİŞMƏ ÜÇÜN dizaynı dəyişdirin

Bir neçə düyməyə basaraq 1C sürətləndirin 2. İdarə olunan kilidlər. 4 sentyabr 2011-ci il

Konfiqurasiyanı 1C-dən idarə olunan kilidlərə köçürmə metodologiyasını oxusanız, orada çox maraqlı və qorxulu şeylər tapa bilərsiniz. Əslində sadədir: Konfiqurasiya xüsusiyyətlərində məlumat bloklama rejimini dəyişdirin - "İdarə olunan". Hamısı. Təbrik edirik - yenicə idarə olunan kilidlərə keçdiniz. Əslində, hər şey bir qədər daha mürəkkəbdir - amma çox deyil.

Birincisi, qısa nəzəri ekskursiya - bloklama niyə lazımdır: Girişi olanlar, əlbəttə ki, burada oxuya bilərlər: http://kb.1c.ru/articleView.jsp?id=30 1C kifayət qədər əlçatan bir məqalə yazmaqdan əziyyət çəkdi. məlumatların bloklanması haqqında. Girişi olmayanlar üçün qıfılların niyə lazım olduğunu qısaca izah edəcəyəm:

Nümunə 1. Nəzarət olunan kilidləri işə saldıqdan sonra heç bir şey etməsəniz və eyni zamanda 2 sənədi paralel olaraq emal etməyə başlasanız (onlardan biri hələ saniyənin bir hissəsidir), onda təxminən aşağıdakı şəkli alacağıq:

Əməliyyat 1 Əməliyyat 2 Qalıqların vəziyyəti
Başlamaq | 1 PC
| Başlamaq 1 PC
| | 1 PC
Oxu balansları | 1 PC
| Oxu balansları 1 PC
| | 1 PC
Qalıqlardan silinmə | 0 ədəd
| Qalıqların silinməsi -1 PC
Tamamlama |
Tamamlama

Burda nə olub? Qalığa nəzarət uğursuz oldu. 2-ci sənəd qalanları oxumağa müvəffəq oldu, birincisi onları yaza bildi. Eyni zamanda gördüm ki, cəmi 1 maddə qalıb və birincidən sonra sakitcə sildim. Qeyd etmək lazımdır ki, əslində burada hələ də tıxanmalar olacaq. 2 sənəd eyni vaxtda qalıqları silə bilməyəcək;

İndi vəziyyəti düzəltməyə çalışacağıq - sənədin icra kodunda balansları oxumadan dərhal əvvəl eksklüziv idarə olunan kilidin quraşdırılmasını təyin edəcəyik:

İndi qıfılların nə üçün lazım olduğunu anladıqdan sonra, lazım olan yerdə idarə olunan qıfılları quraşdırmaq qalır: yəni - yalnız qalıqlara nəzarətin həyata keçirildiyi yerlərdə. Əgər məlumat bazanızdakı menecerin anbarda məhsulun (pulun) olub-olmamasından asılı olmayaraq sənəd yerləşdirmək hüququ varsa, onda bloklamağa nə ehtiyac var? Siz sadəcə onları quraşdıra və ya qeydiyyatdan keçirə və daha yaxşı vaxtlara qədər şərh edə bilməzsiniz. Əgər siz balansları izləyirsinizsə, onda bir qayda olaraq 3-4 registr, yaxşı, maksimum 10-dur. İdarəetmə həm ümumi prosedurlarda və funksiyalarda, həm də RN qeyd dəstinin modullarında dayandırıla bilər. Kod olduqca sadədir, sintaksis köməkçisini açın və baxın:

Bağlamaq = NewDataLock;
LockElement = Kilid. əlavə et( "Yığım reyestri. Anbarlarda olan mallar") ;
Kilid elementi. SetValue("Keyfiyyət", Kataloqlar. Keyfiyyət. FindByCode("1" ) );
Kilid elementi. Rejim = DataLockMode. müstəsna;
Kilid elementi. DataSource = DocumentObject. Returnable Container;
Kilid elementi. UseFromDataSource("Nomenklatura", "Nomenklatura");
Kilid elementi. UseFromDataSource("Anbar", "Anbar");
Bloklama. Blok ();

Əslində, hər şey dərhal aydındır - biz "anbarlardakı malları" bloklayırıq, 1 ölçüsünü açıq şəkildə təyin edirik, digər 2-nin dəyərlərini məlumat mənbəyindən - PM sənədindən götürürük.

8.2-də kitab oxuyanlar yəqin ki, "Yeni Göndərmə Məntiqi"ni xatırlayırlar - sənədlərin hərəkəti qeydə alındıqdan sonra qalıqlara nəzarət edildikdə. Maraqlıdır, bu niyə? Ancaq gəlin bu lövhəni yenidən çəkək ki, balanslara nəzarət və bloklama hərəkətləri qeyd etdikdən sonra olsun:

Əməliyyat 1 Əməliyyat 2 Qalıqların vəziyyəti
Başlamaq | 1 PC
| Başlamaq 1 PC
| | 1 PC
Qalıqlardan silinmə | 0 ədəd
| Qalıqlardan silinmə -1 PC
Bağlamaq | -1 PC
Oxu balansları Bloklama cəhdi -1 PC
| Blokda gözləyirik -1 PC
| Blokda gözləyirik -1 PC
Tamamlama Blokda gözləyirik -1 PC
Bağlamaq -1 PC
Oxu balansları -1 PC
| -1 PC
İmtina 0 ədəd

Görünüşdə fərq əhəmiyyətli deyil - qalıqların silinməsi zamanı (onları verilənlər bazasına yazmaq, əslində vaxt tələb edir) hələ heç bir bloklama olmadığı üçün performans artımı əldə edirik. Bloklama əməliyyatın sonunda baş verir, burada mənfi qalıqlara nəzarət həyata keçirilir, bu, tətbiqin iş məntiqini tamamilə təmin edir;

Kilidlərin nə üçün lazım olduğunu bilməklə, həqiqətən həll etdiyiniz biznes problemlərinə əsaslanaraq onları idarə edə bilərsiniz. DBMS-lər məlumatların maksimum mühafizəsini təmin etmək fərziyyəsi əsasında hazırlanır. Əgər siz, məsələn, bank əməliyyatları həyata keçirirsinizsə, bloklama hər yerdə və maksimum səviyyədə olmalıdır. Məlumatların uyğunsuz olmasına icazə verməkdənsə, lazımsız qeydləri bloklamaq daha yaxşıdır.

Çörəklər və ya diyircəkli qələmlər satırsanız, çətin ki, bu qədər bloklamaya ehtiyacınız olmayacaq. İnsan təqsiri üzündən qüsurlar və səhv qiymətləndirmə nəticəsində iki istifadəçi eyni vaxtda iki eyni göndərmə sənədini işlədə bildiyinizdən yüzlərlə dəfə çox itirirsiniz.

Bu cür müxtəlif tapşırıqlar arasında dəyişiklik etmək üçün DBMS-lər izolyasiya səviyyələri ilə gəldi. Əməliyyat təcrid səviyyəsini təyin etməklə, DBMS-ə müxtəlif hallarda (yazarkən və oxuyarkən müxtəlif hallarda, S (oxuya və ya yaza bilərsiniz) və ya X (nə oxuya, nə də oxuya bilərsiniz); yazmaq) qıfıllar qoyulur.

Beləliklə, avtomatik rejimdə siz demək olar ki, həmişə SERIALIZABLE izolyasiya səviyyəsinə sahib olacaqsınız, bu, ehtiyac duyulan və lazım olmayan yerlərdə X kilidləri tətbiq edəcək və bu, həyatınızı əhəmiyyətli dərəcədə məhv edəcəkdir.

Və idarə olunan birində siz oxuduqda S kilidini tətbiq edəcək və dərhal buraxacaq READ COMMITED olacaqsınız və yalnız yazarkən X kilidi. Ən çətin səviyyə. Tez tətbiq olunan S kilidi sadəcə olaraq bu məlumatda X kilidinin yerləşdirilib-yerləşdirilmədiyini yoxlamağa imkan verir ki, bu da verilmiş izolyasiya səviyyəsi üçün adət olduğu kimi yalnız ardıcıl məlumatların oxunmasını təmin edir, həmçinin tövsiyə olunan hərəkətləri oxuyub yerinə yetirmisinizsə. əvvəlki məqalə, sonra deyil Oxuyarkən hətta S kilidləri də olacaq, buna görə də DBMS səviyyəsində yazı zamanı yalnız yazı bloklanacaq - bu, məlumatların ardıcıllığı üçün düzgün və zəruridir.

İdarə olunan kilidlərlə nə edəcəyiniz tamamilə sizin qərarınızdır. Ancaq onları quraşdırmaq üçün tələsməməyi məsləhət görürəm. Avtomatik bloklama rejimi olan şirkətlərə rast gəldim və baş direktorun ağzından belə “bloklamaqla əzab çəkdi” sözü eşidildi və eyni zamanda mənfi balanslara nəzarət deaktiv edildi....



Əlaqədar nəşrlər