InterSystems IRIS DBMS ááẠáá±áá¬ááááºážáááºážáááºá¡ááœáẠá áááºáááºá á¬ážá áá¬áá±á¬ááºážáá±á¬ ááœá²á·á ááºážáá¯á¶áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá á¡ááŒá±áá¶á¡á¬ážááŒáá·áºá áááºážááá¯á·ááẠááœá±áá±ážááœá±áá°áá¯á¶á á¶ááœáẠá¡áá»áá¯ážáá»áá¯ážáá±á¬ á¡ááá¯áááºáá±á¬ááºáá»á¬ážá áá±áá¬áá áºáááºáá»á¬ážá áá±á¬á·ááºáá»ááŸá¯áá»á¬ážááŸáá·áº áááºážáááá¯ááºááá¯áẠObjectScript áá¬áá¬á áá¬ážááá¯á·ááᯠááŒááºáá»á±á¬áºáááºá¡ááœáẠááŒááºáááºáá±á¬áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážáá«ááŸááá±á¬ á¡ááá·áºáá±á«ááºážáá»á¬ážá áœá¬áá±á¬áá±á¬á·áá»á¬ážááŒá áºáááºá
"Globals áá»á¬ážááẠáá±áá¬ááááºážáááºážáááºá¡ááœáẠáááá¬áá¬ážáá»á¬áž" áá±á¬ááºážáá«ážá á®ážáá®ážáá»á¬ážááœáẠáááá¯áááºááºáá»á¬ážá¡ááŒá±á¬ááºáž ááá¯ááá¯áááºááŸá¯áááº-
ááá¹áá¬áá
áºááŸááºážááœáẠááœá±áá±ážááœá±áá°áá»á¬ážááᯠáááºáá²á·ááá¯á· á¡áá±á¬ááºá¡áááºáá±á¬áºáááºá áááºááá¯á·áá±á¬ á¡ááºá¹áá«áááºáá»á¬áž ááŸááááºááᯠáá»áœááºá¯áẠá
áááºáááºá
á¬ážáá¬áááºá áá±á¬ááºáá¯á¶ážááœááºá áááºážááẠáá¯á¶ááŸááºááá¬ážáá»á¬ážááẠáá±áá¬ááᯠááááºážáááºážáááºá¡ááœáẠáá¯á¶ážáááœá²ááŒá¬ážááŒá¬ážáá¬ážáá±á¬ ááœá²á·á
ááºážáá¯á¶ááŒá
áºáááºá áá±á¬áºáá±á¬áº á¡á±á¬ááºáááºážáá»áááºá
Relational Databases áá®á¡áá¯áá®á០ááááŸááá¬ážááá·áºá¡ááá¯ááºáž á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠáá±á¬ááºážááœááºá
áœá¬ á¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááẠááá¯á¡ááºáá»ááºáá»á¬ážááᯠááŒáá·áºáááºážáá±ážááááºááŒá
áºáááºá
A - Atomic (á¡áá¯ááŒá°áá¬ááº)á á¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºáá±á¬ á¡ááŒá±á¬ááºážá¡áá²áá»á¬áž ááá¯á·ááá¯áẠáá áºá á¯á¶áá áºáá¬ááᯠááŸááºáááºážáááºáá¬ážááŒááºážáááŸááá«á
C - áá®ááœááºááŸá¯á ááœá±áá±ážááœá±áá°áá áºáá¯ááŒá®ážááŒá±á¬ááºááŒá®ážáá±á¬ááºá áá±áá¬áá±á·á áºá áá¯áá¹ááá¡ááŒá±á¡áá±ááẠá¡ááœááºážááá¯ááºážááŸáá·áº áááááºáááºážááŒá áºááá«áááºá á€ááá¯á¡ááºáá»ááºááẠáááá¯ááááºáá¬á¡ááœáẠáááºážáááºážáá»á¬ážá áœá¬ááŒáá·áº áááºááá¯ááºáá±á¬áºáááºáž SQL áá±áá¬áá±á·á áºáá»á¬ážááœááºáá° ááá¯ááºáá¶ááŒá¬ážáá±á¬á·áá»á¬ážááŸáá·áºáááºáž áááºááá¯ááºáá«áááºá
áá« - Isolate á ááŒáá¯ááºáá°áááºáááºáá±áá±á¬ á¡áá±á¬ááºážá¡áááºáá»á¬ážááẠáá áºáá¯ááŸáá·áºáá áºáᯠáááááá¯ááºá á±ááá·áºáá«á
D - áá¬ááŸááºáá¶áááºá ááœá±áá±ážááœá±áá°áá áºáᯠá¡á±á¬ááºááŒááºá áœá¬ ááŒá®ážááŒá±á¬ááºááŒá®ážáá±á¬ááºá á¡á±á¬ááºááŒá±á¡ááá·áºááœáẠááŒá¿áá¬áá»á¬áž (á¥ááᬠáá«áá«áá»áá¯á·ááœááºážááŸá¯) ááẠááœá±áá±ážááœá±áá°ááŒáá·áº ááŒá±á¬ááºážáá²áá¬ážáá±á¬ áá±áá¬ááᯠáááááá¯ááºá á±ááá·áºáá«á
áááá¯áááºáá»á¬ážááẠáááºá
ááºááŸá¯áááŸááá±á¬ áá±áá¬ááœá²á·á
ááºážáá¯á¶áá»á¬ážááŒá
áºáááºá áááºážááá¯á·ááẠá¡ááœááºá¡ááá·áºá¡áááºááŸááá±á¬ áá¬á·ááºáá²ááœáẠá¡ááœááºáá»ááºááŒááºá
áœá¬ áááºáááºááá¯ááºááẠáá®ááá¯ááºážáá¯ááºáá¬ážáááºá ááá¹áá¬áá¯á¶ážááá¯ááºáᬠááœá±áá±ážááœá±áá°áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááᯠááŒáá·áºááŒáá«á
áá¯á·
IRIS ááœáẠááœá±áá±ážááœá±áá°áá»á¬ážááᯠáá¶á·ááá¯ážáááºá á¡á±á¬ááºáá« ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááº-
1. ááŒááºáá±á¬áºáá¬
á á áºáá±ážááẠá¡ááœááºáá¯á¶ážáááºážáááºážááŸá¬ atomicity ááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááẠdatabase console ááŸá á áºáá±ážáááºá
Kill ^a
TSTART
Set ^a(1) = 1
Set ^a(2) = 2
Set ^a(3) = 3
TCOMMIT
ááá¯á·áá±á¬áẠáá»áœááºá¯ááºááá¯á· áá±á¬ááºáá»ááºáá»áááº-
Write ^a(1), â â, ^a(2), â â, ^a(3)
áá»áœááºá¯ááºááá¯á·áááŸááááº-
1 2 3
á¡á¬ážáá¯á¶ážá¡áááºááŒá±áááºá Atomicity ááᯠááááºážááááºážáá¬ážáááº- ááŒá±á¬ááºážáá²ááŸá¯á¡á¬ážáá¯á¶ážááᯠááŸááºáááºážáááºáá¬ážáááºá
áá¯ááºáááºážááᯠááŸá¯ááºááœá±ážá á±áᬠá¡ááŸá¬ážá¡ááœááºážáá áºáá¯ááᯠááááºáááºááŒá®áž ááœá±áá±ážááœá±áá°ááᯠáááºáá²á·ááá¯á· ááááºážáááºážáá¬ážáááºá áá áºá áááºáá áºááá¯ááºážááŒá áºá á± ááá¯á·ááá¯áẠáá¯á¶ážááááŒá áºá á±áááºááᯠááŒáá·áºááŒáá«á áá¯á·á
á¡áá¯ááŒá°áá¬ááºááᯠáááºááŒá®áž á á áºáá±ážááŒáá·áºáá¡á±á¬ááºá
Kill ^A
TSTART
Set ^a(1) = 1
Set ^a(2) = 2
Set ^a(3) = 3
ááá¯á·áá±á¬áẠáá»áœááºá¯ááºááá¯á·ááẠááœááºááááºáá¬ááᯠáááºááá·áºáᬠááœáŸáá·áºáááºááŒá®áž ááŒáá·áºááŸá¯áá«áááºá
docker kill my-iris
áááºážááẠáá¯ááºáááºážá ááºááá¯áá»ááºáá»ááºážáááºááá·áºááẠSIGKILL á¡áá»ááºááŒááŸá¯ááᯠáá±ážááá¯á·áá±á¬ááŒá±á¬áá·áº á€á¡áááá·áºááẠá¡áááºážááááºááŒááºážááŸáá·áº áá®áá»áŸáá«áááºá
ááœá±áá±ážááœá±áá°ááᯠáá áºá áááºáá áºááá¯ááºáž ááááºážáááºážáá¬ážáá«ááá¬ážá
WRITE ^a(1), ^a(2), ^a(3)
^
<UNDEFINED> ^a(1)
- ááá¯ááºáá°ážá áááŸááºáááºáá±ážáá°ážá
rollback command ááᯠá ááºážááŒáá·áºáá¡á±á¬ááºá
Kill ^A
TSTART
Set ^a(1) = 1
Set ^a(2) = 2
Set ^a(3) = 3
TROLLBACK
WRITE ^a(1), ^a(2), ^a(3)
^
<UNDEFINED> ^a(1)
áááºá¡áá¬ááŸáááºáž ááŸááºáááºááŒááºážáááŸááá«áá°ážá
2. áá®ááœááºááŸá¯
áááá¯áááºáá»á¬ážááᯠá¡ááŒá±áá¶ááá·áº áá±áá¬áá±á·á áºáá»á¬ážááœáẠáá±á¬á·áá»á¬ážááᯠáááá¯áááºáá»á¬ážáá±á«áºááœááºáááºáž ááŒá¯áá¯ááºáá¬ážáá±á¬ááŒá±á¬áá·áº (áááá¯áááºááẠáááºááœááºááŸá¯ááá¬ážááẠáá±áá¬ááááºážáááºážáááºá¡ááœáẠá¡ááá·áºáááá·áºááœá²á·á ááºážáá¯á¶ááŒá áºáááº)á áá®ááœááºááŸá¯ááá¯á¡ááºáá»ááºááᯠááŒáá·áºáááºážáááºá¡ááœáẠáá±á¬á·ááŒá±á¬ááºážáá²ááŸá¯áá áºáᯠáá«áááºááááºááŒá áºáá«áááºá ááá¹áá¬áá¯á¶ážááá¯ááºáᬠá¡ááŒá±á¬ááºážá¡áá²á¡ááŒá Ạáá°áá®áá±á¬ ááœá±áá±ážááœá±áá°á
á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááœáẠáá»áœááºá¯ááºááá¯á·á ááá¯ááºáááºááá¯ááºááœá±ážáá»á¬ážááᯠááááºážáááºážáá¬ážááŒá®áž TIN ááᯠáá±á¬á·á¡ááŒá áºá¡áá¯á¶ážááŒá¯ááá·áº ááá¹áá¬áá¯á¶ážááá¯ááºáᬠ^ áá¯áá¹ááá¯ááºáá áºáŠážááŸááááºá
^person(1234567, âfirstnameâ) = âSergeyâ
^person(1234567, âlastnameâ) = âKamenevâ
^person(1234567, âphoneâ) = â+74995555555
...
á¡áááºááŸáá·áº áááá¡áááºááŒáá·áº á¡ááŒááºááŸá¬ááœá±ááá¯ááºááẠ^index key ááᯠááŒá¯áá¯ááºáá¬ážáá«áááºá
^index(âKamenevâ, âSergeyâ, 1234567) = 1
áá±áá¬áá±á·á áºáá áºááááºáááºážááŒá áºáááºá¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠá€áá²á·ááá¯á·áá±á¬ áá¯áá¹ááá¯ááºááᯠááá·áºááá«áááºá
TSTART
^person(1234567, âfirstnameâ) = âSergeyâ
^person(1234567, âlastnameâ) = âKamenevâ
^person(1234567, âphoneâ) = â+74995555555
^index(âKamenevâ, âSergeyâ, 1234567) = 1
TCOMMIT
ááá¯á·ááŒá±á¬áá·áº áá»ááºááá·áºá¡áá« áá»áœááºá¯ááºááá¯á·áááºáááºáž ááœá±áá±ážááœá±áá°ááᯠá¡áá¯á¶ážááŒá¯ááá«áááº-
TSTART
Kill ^person(1234567)
ZKill ^index(âKamenevâ, âSergeyâ, 1234567)
TCOMMIT
áá áºáááºážááá¯ááá±á¬áºá áá®ááœááºááŸá¯ááá¯á¡ááºáá»ááºááᯠááŒáá·áºáááºážááŒááºážááẠáááá¯ááááºáá¬á ááá¯á¶ážáá±á«áºááœáẠáá¯á¶ážáá¯á¶ážáá»á¬ážáá»á¬áž áááºááŸááááºá áá«áá±ááá·áº ááá¹áá¬áá²á· áááºáááºáá¬ááẠáá«áᬠáá°ááá¯á·áá²á· á¡ááá·áºáááá·áº ááá¬áááŒá±á¬áá·áº áá¯á¶ááŸááºáá«áá²á
3. á¡áá®ážáá»ááº
á€áá±áá¬ááœáẠáá±á¬ááá¯ááºážáá»á¬áž á áááºáááºá á¡áá¯á¶ážááŒá¯áá°á¡áá»á¬ážá¡ááŒá¬ážááẠáá°áá®áá±á¬áá±áá¬áá±á·á áºáá±á«áºááœáẠáááŒáá¯ááºáááºáááºáž áá¯ááºáá±á¬ááºááŒááŒá®áž áá°áá®áá±á¬áá±áá¬ááᯠááŒá±á¬ááºážáá²ááŒáááºá
á¡áá¯á¶ážááŒá¯áá°á¡áá»á¬ážá¡ááŒá¬ážááẠáá°áá®áá±á¬áá¯ááºááá¯ááŸá±á¬ááºááŸá¯ááŒáá·áº áá áºááŒáá¯ááºáááºáá¯ááºáá±á¬ááºááŒá®áž ááá¯ááºáá»á¬ážá áœá¬ááᯠáá áºááŒáá¯ááºáááºáááºáž ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááŒá¯áá¯ááºááẠááŒáá¯ážá á¬ážááá·áºá¡áá« á¡ááŒá±á¡áá±ááŸáá·áº ááŸáá¯ááºážááŸááºááá¯ááºáááºá
áá±áá¬áá±á·á áºááẠáááºážááᯠá¡áá»áááºááŸáá·áºáááŒá±ážáá® á á®á á áºááá·áºáááºá áá±ážáááºáá±á¬áá¯áá¹ááá®áá»á¬ážááœáẠáá°ááœá²ááááºážáá»á¯ááºááŸá¯á¡ááœáẠáá¬áááºááŸááá±á¬ á¡áá°ážáá¯áá¹ááá¯ááºáá áºáŠážáááºááŸááá«ááẠ(á¡ááá¯ááºážá¡áááºáá»á¬ážáá±á«ááºážá ááºážááŒááºážá áááááá¹ááá»á¬ážááá¯ááŒá±ááŸááºážááŒááºážá áááºááŒáá·áº) ááŸáá·áº áá±áá¬áá±á·á áºááẠá€á¡áá¬á¡á¬ážáá¯á¶ážááᯠá¡áá»áááºááŸáá·áºáááŒá±ážáá®áá¯ááºáá±á¬ááºááááºááŒá áºááŒá®ážá á¡áá¯ááºáááŸá¯ááºááœá±ážááŸá¯ááŸáá·áº ááŸááºáááºááŸá¯ááá¯á·ááá¯áááºáž áá¯ááºáá±á¬ááºááááºááŒá áºáááºá áá±áá¬áá±á·á áºáá®ááá¯ááºážááŸáá·áº áá¯ááºááá¯á·ááᯠáá±á¬ááºááœááºáá±ážáááºá
áááºážááá¯á·ááẠáá°áá®áá±á¬áá±áá¬ááᯠáá¯ááºáá±á¬ááºáá±áá«á áááááá¹ááá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážáááºá¡ááœáẠá¡áá¯á¶ážááŒá¯áá°áá»á¬áž áá¯ááºáá±á¬ááºááá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá á¡áááá¹áá«ááºááᯠáá±áá¬áá±á·á áºá áá¬ážááááºááá¯ááºáá«á áááºážááẠá¡ááŒá¬ážáá áºáá¯ááŸáá·áº ááœá²ááœá²áá±áá±á¬ ááœá±áá±ážááœá±áá°áá áºáá¯ááá¯áᬠááŒááºáá»ááºááá¯ááºááẠááá¯á·ááá¯áẠáááºážááá¯á·ááᯠáááºááá¯ááºáá¯ááºáá±á¬ááºááá¯ááºáááºá
áá±á¬ááºááŒá¿áá¬áá áºáá¯ááá±á¬á· ááœá±áá±ážááœá±áá°áá áºáᯠ(commit ááá¯ááºáá®) ááœáẠdatabase áá¡ááŒá±á¡áá±ááẠááœá²ááœá²áá±ááá¯ááºáá±á¬ááŒá±á¬áá·áºá relational databases áá»á¬ážááœáẠá¡á±á¬ááºááŒááºááá·áº database á ááá¯ááºáá®ááŸá¯áááŸááá±á¬á¡ááŒá±á¡áá±ááá¯á· á¡ááŒá¬ážááœá±áá±ážááœá±áá°áá»á¬ážáááºáá±á¬ááºááœáá·áºáááŸáááŒááºážááẠááá¯áá¬ážá¡ááºáá«áááºá áááºážáááºážáá»á¬ážá áœá¬ááŒáá·áº- áá»áŸááºáá áºááŒááºááá¯ááºáá»ááºáá»á¬áž áááºáá®ážááŒááºážá áá¬ážááŸááºážáá±á«ááºážá á¯á¶ á¡áááºážáá»á¬ážááŸáá·áº á áááºááá¯á·á
á¡áá±á¬ááºážá¡áááºáá»á¬ážááᯠá¡ááŒáá¯ááºáá¯ááºáá±á¬ááºáá±á¬á¡áá«á áááºážááá¯á·ááẠá¡áá»ááºážáá»ááºáž á¡ááŸá±á¬áá·áºá¡ááŸááºáááŒá áºá á±ááẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠá¡áá±ážááŒá®ážáá«áááºá á€áááºááŸá¬ á¡áá®ážáá»ááºááŒááºážá ááá¯ááºááá¯ááºááŸá¯ááŒá áºáááºá
SQL ááẠá¡áá®ážáá»ááºá¡ááá·áº 4 áá¯ááᯠáááºááŸááºáááº-
- áááºááá¶áááºáááºáá«
- áááºáááºáá¬áááº
- áááºáá«ááá²áá²áááºáá«á
- Serializable áá«á
á¡ááá·áºáá áºáá¯á á®ááᯠáá®ážááŒá¬ážá á®ááŒáá·áºáá¡á±á¬ááºá á¡ááá·áºáá áºáá¯á á®ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ááœáẠáá¯ááºáá»á ááááºáá»á¬ážááẠá¡ááááẠááá¯ážáá»á¬ážáá¬áááºá
áááºááá¶áááºáááºáá« - á€áááºááŸá¬ á¡áá®ážáá»ááºááŒááºážá á¡áááá·áºáá¯á¶ážá¡ááá·áºááŒá áºáá±á¬áºáááºáž áá áºáá»áááºáááºážááœáẠá¡ááŒááºáá¯á¶ážááŒá áºáááºá ááœá±áá±ážáá»á±ááŸá¯áá»á¬ážááẠáá áºáá¯ááŸáá·áºáá áºáᯠááŒá¯áá¯ááºáá¬ážáá±á¬ á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠáááºááá¯ááºáááºá
áááºáááºáá¬ááẠá¡áá±ážá¡áá°áá áºáá¯ááŒá áºááá·áº á¡áá®ážáá»ááºááŒááºážááá±á¬ááºáááºá¡ááá·áºááŒá áºáááºá ááœá±áá±ážáá»á±ááŸá¯áá»á¬ážááẠáááááááºáá® á¡áá»ááºážáá»ááºážá á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠáááºááááá±á¬áºáááºáž áááááááºááŒá®ážáá±á¬áẠááŒá¯áá¯ááºáá±á¬ á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠáááºááá¯ááºáááºá
á¡áááºá áá»áœááºá¯ááºááá¯á·ááœáẠT1 ááŸáá·áº áá°áá®áá±á¬áá±áá¬ááŒáá·áº áá¯ááºáá±á¬ááºáá±á¬ T2 á T3 ... Tn ááœáẠáááááááºáá»á¬áž ááŒá¬ááŒáá·áºáá±áá«áá ááá¯á·áá±á¬áẠT1 ááœáẠáá±áá¬ááᯠáá±á¬ááºážááá¯ááá·áºá¡áá« á¡ááŒáááºááá¯ááºáž ááá°áá®áá±á¬ááááºááᯠáááŸááááºááŒá áºáááºá á€ááŒá áºá ááºááᯠáááºááá²áá² ááááºááŒááºážáᯠáá±á«áºáááºá
áááºáá«ááá²áá²áááºáá«á â ဠáá®ážááŒá¬ážááœá²áá¯ááºááŸá¯á¡ááá·áºááœáẠáá»áœááºá¯ááºááá¯á·ááœáẠáááºááá²áá² ááááºááá¯ááºáá±á¬ ááŒá áºá ááºáá»áá¯áž áááŸááá«á áá±áá¬áááºááŸá¯ááẠáá±á¬ááºážááá¯ááŸá¯áá áºáá¯á á®á¡ááœáẠááááºáá±áá¬ááᯠáá»áŸááºáá áºááŒááºáá áºáᯠáááºáá®ážááŒá®áž áá°áá®áá±á¬ ááœá±áá±ážááœá±áá°ááœáẠááŒááºáááºá¡áá¯á¶ážááŒá¯ááá·áºá¡áá«á áá»áŸááºáá áºááŒááºá០áá±áá¬áá»á¬ážááá¯á á¡áá¯á¶ážááŒá¯áááºá ááá¯á·áá±á¬áºá á€á¡áá®ážáá»ááºá¡ááá·áºááœáẠphantom data ááá¯áááºááá¯ááºáááºá áááºážááẠá¡ááŒáá¯áẠáááááŒá¯áá¬ážáá±á¬ á¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºááŒááºážááŒáá·áº ááá·áºáá¬ážáá±á¬ á¡áááºážá¡áá áºáá»á¬ážááᯠáááºááŒááºážá¡á¬áž áááºááœáŸááºážáááºá
Serializable áá«á - á¡ááŒáá·áºáá¯á¶áž insulation á ááœá±áá±ážááœá±áá° (áááºááŸá¯ááŒááºáž ááá¯á·ááá¯áẠááŒá±á¬ááºážáá²ááŒááºáž) ááœáẠáááºááá·áºáááºážááŒáá·áºáááᯠá¡áá¯á¶ážááŒá¯ááá·áºáá±áá¬ááẠáááá¡ááŒááẠááœá±ááœáŸá²ááŒá®ážáááºááŸáá·áº á¡ááŒá¬ážááœá±áá±ážááœá±áá°áá»á¬ážá¡ááœáẠáááŸááá¬ááá¯ááºááá·áºá¡áá»ááºááᯠáááºááŸá¬ážá á±áááºá
ááááŠážá áœá¬á áááºáá¡ááŒá±á¬ááºážá¡áá¬á០ááœá±áá±ážááœá±áá°áá¯ááºáááºážáá áºáá¯ááœáẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá®ážááŒá¬ážááœá²áá¯ááºááŒááºážááŸááááŸá á¡ááŒá±ááŸá¬ááŒáá·áºááŒáá«á áá¯á·á Terminal Window á áᯠááœáá·áºááŒáá·áºáá¡á±á¬ááºá
Kill ^t
Write ^t(1)
2
TSTART
Set ^t(1)=2
á¡áá®ážáá»ááºááŸá¯ áááŸááá«áá°ážá ááá¯ááºážáá áºáá¯á á¡áá±á¬ááºážá¡áááºááœáá·áºáá²á· áá¯ááááá áºáá±á¬ááºá áá¬ááœá±áá¯ááºáá±áááºááá¯áá¬ááᯠááŒááºáááºá
ááá°áá®áá±á¬ ááá¯ááºážáá»á¬ážá á¡áá±á¬ááºážá¡áááºáá»á¬ážááẠáááºážááá¯á·á¡ááœááºážá ááŒá áºáá»ááºáá±áááºááᯠááŒááºááŒá áá¯á·á
Terminal windows 2 áá¯ááœáá·áºááŒá®áž á¡áá±á¬ááºážá¡ááẠ2 áá¯ááᯠá¡ááŒáá¯ááºááœáá·áºááŒáá«á áá¯á·á
kill ^t
TSTART
Write ^t(1)
3
TSTART
Set ^t(1)=3
ááŒáá¯ááºáá° ááœá±áá±ážááœá±áá°áá»á¬áž á¡áá»ááºážáá»ááºážá áá±áá¬ááᯠááŒáá·áºáá«á ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡ááá¯ážááŸááºážáá¯á¶ážá ááá¯á·áá±á¬áº á¡áá»ááºááŒááºáá¯á¶áž áá®ážááŒá¬ážááœá²áá¬ážááŸá¯á¡ááá·áºááᯠáááŸááá¬ážááŒá®ážá áááºááŸá¯ááẠááœááºááá·áºááá¬ážáá±á¬á
áá°á¡áá á áœááºážáá±á¬ááºáááºááẠá¡ááŒá²áááºáž áŠážá á¬ážáá±ážááŒá áºáá±ááá·áº ááá¹áá¬áá¯á¶ážááá¯ááºáá¬á¡ááœáẠáááºážááᯠáá»áŸá±á¬áºááá·áºááá¯ááºáááºá
ááá¹áá¬áá¯á¶ážááá¯ááºáᬠá á áºáááºáá±ážáá»á¬ážááœáẠááá¯ááá¯ááŒáá·áºáá¬ážáá±á¬ á¡áá®ážáá»ááºááŸá¯ á¡ááá·áºááᯠááá¯á¡ááºáá«áá
á€áá±áá¬ááœáẠá¡áááºááŒá±á¬áá·áº á¡áá®ážáá»ááºá¡ááá·áºáá»á¬áž ááá¯á¡ááºááŒá±á¬ááºážááŸáá·áº áááºážááá¯á· áá¯ááºáá±á¬ááºáá¯á¶á¡ááŒá±á¬ááºáž á ááºážá á¬ážááẠááá¯á¡ááºáá«áááºá
á¡ááŒáá·áºáá¯á¶áž áá®ážááŒá¬ážááœá²áá¯ááºááŒááºážá¡ááá·áºá SERIALIZE ááá¯áááºááŸá¬ áá»ááºážááŒáá¯ááºááœáẠáá¯ááºáá±á¬ááºáá²á·áá±á¬ ááœá±áá±ážááœá±áá°áá»á¬ážá ááááºááẠááá¯ááºááááŒááºáž áááŸáááŒááºážááᯠá¡á¬ááá¶ááá·áº áááºážááá¯á·á áááºááá¯ááºáá¯ááºáá±á¬ááºááŒááºážááŸáá·áº áá®áá»áŸáááºáᯠááá¯ááá¯áááºá
ááœá²ááŒá¬ážááŒá¬ážáá¬ážáá±á¬á¡áá¯á¶ážááŒá¯ááŸá¯áá»á¬ážáá»á¬ážá
áœá¬áá«ááŸááá±á¬ ObjectScript ááœáẠá
áááºáá±á¬á·ááá±á¬ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áááºážááá¯áá¯ááºáá±á¬ááºááá¯ááºáááº- áááºááẠáá¯á¶ááŸááºá ááá¯ážááŒáá·áºáá¬áá¬á á¡áá»á¬ážá¡ááŒá¬ážáá±á¬áá±á¬á·áááºááŒááºážááᯠá¡áááá·áºáá±ážááá¯ááºáááºá
á¡áá®ážáá»ááºá¡ááá·áºáááá·áºáá»á¬ážááẠáá±áá¬áá±á·á áºá¡ááŒááºááŸá¯ááºážááᯠááŒáŸáá·áºáááºááẠáá®ááá¯ááºážáá¯ááºáá¬ážáá±á¬ á¡áá±ážá¡áá°áá»á¬ážááŒá áºáááºá
áá±á¬á·áááºááŸá¯áá»á¬ážáá¯á¶ážááŒá®áž ááá°áá®áá±á¬ á¡áá®ážáá»ááºá¡ááá·áºáá»á¬ážááᯠáááºááá¯á·á¡á±á¬ááºááŒááºááá¯ááºáááºááᯠááŒáá·áºááŒáá«á áá¯á·á
á€á¡á±á¬áºááá±áá¬ááẠááá·áºá¡á¬áž áá±áá¬ááá¯ááŒá±á¬ááºážáá²ááẠááá¯á¡ááºáá±á¬áá®ážááá·áºáá±á¬á·ááá±á¬ááºáá»á¬ážáá¬áááá² áá»áŸáá±áá¬ážáá±á¬áá±á¬á·ááá±á¬ááºáá»á¬ážáá¯áá±á«áºááœááºá á±áá¬áá° áááºážááá¯á·ááẠáá±áá¬áááºááŸá¯ááŒááºážáá¯ááºáááºážá ááºá¡ááœááºáž á¡ááŒá¬ážáá¯ááºáááºážá ááºáá»á¬ážááŒáá·áº áááŒá±á¬ááºážáá²ááá·áºáá±á¬ áá±áá¬ááá¯áááºááŸá¯ááá·áºá¡áá«ááœáẠá á¬ááœá²áá»á¬ážá áœá¬ááᯠá¡ááŒáá¯ááºáá°ááá¯ááºáááºá
áá¯ááŸá¬ážááŸáá·áº á¡ááºá¹áááááºááᯠááŸá áºááá·áºááááºááá¯á·ááŒááºážáááºážáááºážá¡ááŒá±á¬ááºáž áá±á¬ááºáááºá¡áá»ááºá¡áááºáá»á¬áž
â
â
á¡áááºá¡áá²ááŸá¬ ááœá±áá±ážááœá±áá°áá áºáá¯á¡ááœááºáž áá±áá¬áá±á·á áºáá¡ááŒá±á¡áá±ááẠááœá²ááœá²áá±ááá¯ááºáá±á¬áºáááºáž á€ááá®ááœááºáá±á¬áá±áá¬ááᯠá¡ááŒá¬ážáá¯ááºáááºážá ááºáá»á¬ážááœáẠááŒááºááœá±á·ááá¯ááºáááºááŒá áºáááºá áá«ááᯠáááºááá¯ááŸá±á¬ááºáááá²á
áá±á¬á·áááºááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áá±áá¬áá±á·á áºá á¡ááŒá±á¡áá±ááŸáá·áº áááááºáááºážááŒá áºááá·áº ááŒááºááá¯ááºá áœááºážááŒáááºážáá±á«ááºáá»á¬ážááᯠáááºáá®ážáá«áááºá ááá±á¬áá°áá¬ážááá·áºááŒááºáááºá ááŒááºááá¯ááºá áœááºážááŸááá±á¬ á¡ááá¯áá«ááŒáááºážáá±á«ááºáá»á¬ážááá¯á· áááºáá±á¬ááºááá¯ááºááŸá¯á¡á¬ážáá¯á¶ážááᯠáá±á¬á·áááºááŒááºážááŒáá·áº ááááºážáá»á¯ááºááœá¬ážáááºááŒá áºáááºá
áá°áá®áá±á¬áá±áá¬áá±á«áºááŸá áá»áŸáá±áá¬ážáá±á¬áá±á¬á·ááá±á¬ááºáá»á¬ážááᯠááŒááºáá¯á¶ážááá¯ááºáááº- áá¯ááºáááºážá ááºáá»á¬ážá áœá¬ááẠáááºážááá¯á·ááᯠáá¯ááºáá±á¬ááºááá¯ááºáááºá á€áá±á¬á·áááºááŸá¯áá»á¬ážááẠá¡ááŒá¬ážáá±á¬ áá¯ááºáááºážá ááºáá»á¬ážááᯠáá±áá¬ááŒá±á¬ááºážáá²ááŒááºážá០áá¬ážáá®ážáá±ážáááºá ááá¯ááá¯áááºááŸá¬á áááºážááá¯á·ááᯠáááááºáááºáž áá±áá¬áá±á·á áºááŒááºáááºá ááŒáááºážáá±á«ááºáá»á¬áž ááœá²á·á ááºážááẠá¡áá¯á¶ážááŒá¯áááºá
áá®ážááá·áºáá±á¬á·ááá±á¬ááºáá»á¬ážááᯠáá±áá¬ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážá¡ááœáẠá¡áá¯á¶ážááŒá¯ááẠ- áá¯ááºáááºážá ááºáá áºáá¯áᬠáá±á¬á·áááºááŒááºážááᯠááŒá¯áá¯ááºááá¯ááºáááºá áá®ážááá·áºáá±á¬á·áááºááŒááºážááᯠá¡á±á¬ááºáá«ááá¯á·á ááá°ááá¯ááºáá«áááºá
- áá±áá¬á¡ááá²á·ááŒá áºáá»áŸááºáááºááá·áºáá¯ááºáááºážá ááº
- á€áá±áá¬ááœáẠáá»áŸáá±áá±á¬áá±á¬á·áááºáá¬ážáá±á¬ áá¯ááºáááºážá ááºáá¬ááŒá áºááŒá®áž áá®ážááá·áºáá±á¬á·áááºááŸá¯ááᯠáá±á¬ááºážááá¯ááá·áº ááááá¯á¶ážáá¯ááºáááºážá ááºááŒá áºáááºá
ááŒááºááá¯ááºá
áœááºážáááºážááá¯áž ááá¯áá»ááºážáá±á á¡ááŒá¬áž áá¯ááºáááºážá
ááºáá»á¬ážááᯠá
á±á¬áá·áºááá±áá±á ááá¯á·áá±á¬áº áááºážá¡ááœááºážááŸá áá±áá¬áá±á·á
áºá á¡ááŒá±á¡áá±ááẠááá¯á áá®ááœááºáá±ááŒá
áºáááºá
READ_COMMITTED â á€á¡ááá·áºá á¡ááŸá áºáá¬áááŸá¬ áá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá¬ážá á¬ááœá²áá»á¬ážá០á¡áá»ááºá¡áááºáá»á¬ážááá¯áᬠááŒááºáá±áááŒááºážááŒá áºáá«áááºá á¡ááŒá¬ážááœá±áá±ážááœá±áá°ááŸááá±áá¬ááᯠááá»á°ážááœááºáá±ážáá«á áááºážááá¬ážááŸááºážáá±á¬ááºážááᯠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºááá«áááºá
á€á¡áá¬á áá»áœááºá¯ááºááá¯á·á¡á¬áž áá±á¬á·ááœáá·áºááá·áºá¡áá»áááºááᯠá á±á¬áá·áºááá·áºá¡á á¬áž á¡áá¯ááºá¡á¬ážááŒáá¯ááºáá°áá¯ááºáá±á¬ááºááá¯ááºá á±áá«áááºá
á¡áá°ážááŸáá·áºááœááºáá»á¬ážááá«áá²á IRIS ááœááºáá±áá¬áá¬ážááŸááºážáá±á¬ááºážááá¯áá»áœááºá¯ááºááá¯á·ááŒááºááá¯ááºáááºááá¯ááºáá«á ááá¯á·ááŒá±á¬áá·áºáá±á¬á·ááºáá»á¬ážááŒáá·áºáá¯ááºáá±á¬ááºááááºááŒá áºáá«áááºá
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠáá®ááœááºáá±á¬á¡ááá¯ááºá¡ááá·áºááœááºáᬠáá±áá¬ááá¯áááºááŸá¯ááá¯ááºá á±ááẠáá»áŸáá±áá¬ážáá±á¬áá±á¬á·ááá±á¬ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááááºááŒá áºáá«áááºá
áá»áœááºá¯ááºááá¯á·ááœáẠáá áºáŠážááŸáá·áºáá áºáŠáž ááœá±ááœáŸá²ááá·áº áá¯á¶ážá áœá²áá°á¡ááŒá±áᶠ^áá°áá áºáá±á¬ááºááŸáááẠááá¯ááŒáá«á áá¯á·á
áá° ááá á០áá° ááá ááá¯á· ááœáŸá²ááŒá±á¬ááºážááá·áºá¡ááá¯ááºá¡ááá·áºá
LOCK +^person(123), +^person(242)
Set ^person(123, amount) = ^person(123, amount) - amount
Set ^person(242, amount) = ^person(242, amount) + amount
LOCK -^person(123), -^person(242)
ááœá±áá¯ááºááŒááºážáááŒá¯áá® áá° 123 áá¶á០ááœá±ááá¬ááá±á¬ááºážáá¶ááá·áºá¡áá»áááºááẠáá®ážááá·áºááááºááá¯á·ááŒááºáž (áá°áá¡á¬ážááŒáá·áº) ááŸáá·áºá¡áá° ááá¯ááºáá«ááá«áááº-
LOCK +^person(123)
Write ^person(123)
ááá·áºááá¯ááºáá±ážááá¯ááºáá¬á¡áá±á¬áá·áºááœáẠá¡áá±á¬áá·áºá¡ááŒá±á¡áá±ááá¯ááŒáááẠááá¯á¡ááºáá«áá áá»áŸáá±áá¬ážáá±á¬áá±á¬á·ááºááᯠáááºá¡áá¯á¶ážááŒá¯ááá¯ááºááẠááá¯á·ááá¯áẠáááºážááᯠáá¯á¶ážáá¡áá¯á¶ážáááŒá¯ááá¯ááºáá«á
LOCK +^person(123)#âSâ
Write ^person(123)
ááá¯á·áá±á¬áºá áá±áá¬áá±á·á áºáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá»ááºáá»ááºážáá®ážáá«ážáá¯ááºáá±á¬ááºáááºáᯠáá»áœááºá¯ááºááá¯á·áá°ááá«á (ááá¹áá¬áá¯á¶ážááá¯ááºáá¬áá»á¬ážááẠáááºááœááºááŸá¯ááá¬ážááẠáá»á¬ážá áœá¬áááá·áºáá»áá±á¬ááœá²á·á ááºážáá¯á¶ááŒá áºáááºáᯠááá·áºá¡á¬áž ááááá±ážáá«áá á±)á ááá¯á·áá±á¬áẠá€á¡ááá·áºá¡ááœáẠááá¯á¡ááºááŸá¯ áá»á±á¬á·áááºážááœá¬ážáááºá
áááºáá«ááá²áá²áááºáá«á - á€á¡áá®ážáá»ááºá¡ááá·áºááẠáá áºááŒáá¯ááºáááºáááºáž ááœá±áá±ážááœá±áá°áá»á¬ážááŒáá·áº ááœááºážáá¶ááŒááºáááºááá¯ááºáá±á¬ áá±áá¬áá»á¬ážá áœá¬ááᯠáááºááŸá¯ááá¯ááºá á±áá«áááºá
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááŒá±á¬ááºážáá²áá±á¬áá±áá¬ááá¯áááºááŸá¯ááŒááºážááŸáá·áºáá»áœááºá¯ááºááá¯á·ááŒá±á¬ááºážáá²áá±á¬áá±áá¬áá±á«áºááœááºáá®ážááá·áºáá±á¬á·áááºááŒááºážáá»á¬ážááŒá¯áá¯ááºáááºáá»áŸáá±áá¬ážáá±á¬áá±á¬á·áááºáá¬ážááá«áááºá
áá¶áá±á¬ááºážáá±á¬ááºáá áœá¬á LOCK á¡á±á¬áºááá±áá¬ááẠááá·áºá¡á¬áž áá¯ááºááŒááºáá»ááºáá áºáá¯ááœáẠáá»á¬ážá áœá¬ááŸáááá¯ááºááá·áº ááá¯á¡ááºáá±á¬áá±á¬á·áá»á¬ážá¡á¬ážáá¯á¶ážááᯠá¡áá±ážá áááºá á¬áááºážááŒá¯á á¯ááá¯ááºá á±áá«áááºá
LOCK +^person(123, amount)#âSâ
ÑÑеМОе ^person(123, amount)
á¡ááŒá¬ážáá¯ááºáá±á¬ááºááŸá¯áá»á¬áž (ááá¯á¡áá»áááºááœáẠáá»ááºážááŒáá¯ááºááœá²áá»á¬ážááẠ^person(123á ááá¬á) ááᯠááŒá±á¬ááºážáá²ááẠááŒáá¯ážá á¬ážáá±á¬áºáááºáž áááŒá áºááá¯ááºáá«)
LOCK +^person(123, amount)
ОзЌеМеМОе ^person(123, amount)
LOCK -^person(123, amount)
ÑÑеМОе ^person(123, amount)
LOCK -^person(123, amount)#âSâ
áá±á¬áºáá¬áá»á¬ážááŒáá·áº ááŒá¬ážáá¬ážáá±á¬áá±á¬á·áá»á¬ážááᯠá á¬áááºážááŒá¯á á¯áá±á¬á¡áá«á áááºážááá¯á·ááᯠáááºááá¯ááºáá°áááºá ááá¯á·áá±á¬áº áááºá€ááá¯á·áá¯ááºáá±á¬ááºáá«á-
LOCK +(^person(123),^person(242))
ááá¯á·áá±á¬áẠáááºážááá¯á·ááᯠá¡ááºáááºááŒáá·áº áá áºááŒáá¯ááºááẠááááºážáá°áááºá
áá¬ááºáááºážááœá² â áá¯á¶áá±áá¬áá«ááŸááá±á¬ ááœá±áá±ážááœá±áá°á¡á¬ážáá¯á¶ážááᯠáá±á¬ááºáá¯á¶ážááœáẠáááºááá¯ááºáá¯ááºáá±á¬ááºááá¯ááºááẠáá±á¬á·ááºáá»á¬ážááᯠáááºááŸááºááá«áááºá á€áááºážáááºážá¡ááœááºá áá±á¬á·ááá±á¬ááºá¡áá»á¬ážá á¯ááẠáá®ážááá·áºááŒá áºááŒá®áž á áœááºážáá±á¬ááºáááºá¡ááœáẠááá¹áá¬áá¯á¶ážááá¯ááºáᬠá¡áá±ážáááºáá¯á¶ážáá±á¬ á§áááá¬áá»á¬ážááœáẠáá¯ááºáá±á¬ááºááá·áºáááºá
ááá¹áá¬áá¯á¶ážááá¯ááºáᬠ^person ááœáẠááœá±áá¯ááºááŒááºážá¡ááŒá±á¬ááºážááŒá±á¬áá«áá SERIALIZE áá®ážááŒá¬ážááœá²áá¯ááºááŒááºážá¡ááá·áºááá¯áᬠáááºáá¶ááá¯ááºáááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº ááœá±ááᯠáááºážááŒááºá áœá¬ áááºááá¯ááºáá¯á¶ážá áœá²ááááºááŒá áºááŒá®ážá ááá¯á·ááá¯ááºáá«á áá°áá®áá±á¬ááá¬áááᯠá¡ááŒáááºáá±á«ááºážáá»á¬ážá áœá¬ áá¯á¶ážááá¯ááºáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá
4. áá¬ááŸááºáá¶ááŒááºážá
ááœááºááááºáá¬ááᯠá¡ááŒááºážá¡ááẠááŒááºáá±á¬ááºááŒá®áž á ááºážáááºááŸá¯ááœá± áá¯ááºáá²á·áááºá
docker kill my-iris
á¡ááŒá± áᶠáᶠáá¬áž á ááẠá ááŒá¿áá¬áá»á¬ážááᯠáá±á¬áºáá¯ááºáá²á·ááŒááºážáááŸááá«á
áá±á¬ááºáá»ááº
ááá¹áá¬áá¯á¶ážááá¯ááºáá¬áá»á¬ážá¡ááœááºá InterSystems IRIS ááœáẠááœá±áá±ážááœá±áá°áá¶á·ááá¯ážááŸá¯ ááŸááá«áááºá áá°ááá¯á·áᬠáááá·áºááᯠá¡áá¯ááŒá°áá¯á¶ážááœá±ááŒá áºááŒá®áž áá¯á¶ááŒááºá áááºáá»ááá«áááºá ááá¹áá¬áá¯á¶ážááá¯ááºáá¬á¡ááŒá±áá¶áá±áá¬áá±á·á áºáá áºáá¯á áá®ááœááºááŸá¯ááŸáá á±áááºá ááá¯ááºáá¶ááŒá¬ážáá±á¬á·áá²á·ááá¯á·áá±á¬ ááŸá¯ááºááœá±ážáá±á¬ built-in áááºáá±á¬ááºááŸá¯áá»á¬ážáááŸááá±á¬ááŒá±á¬áá·áº áááá¯ááááºáá¬áááŒáá¯ážáááºážá¡á¬ážáá¯ááºááŸá¯ááŸáá·áº ááœá±áá±ážááœá±áá°á¡áá¯á¶ážááŒá¯ááŸá¯áá»á¬áž ááá¯á¡ááºáá«áááºá
áá±á¬á·ááá±á¬ááºáá»á¬ážááá¯á¶ážáá² ááá¹áá¬áá¯á¶ážááá¯ááºáᬠá¡áá®ážáá»ááºá¡ááá·áºááᯠáááºááŸá¯ááẠááœááºááá·áºááá±ážáá¬ážááŒá®ážá áá±á¬á·ááá±á¬ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá·áºá¡áá« áááºážááᯠSERIALIZE á¡ááá·áºá¡áá á¡á¬ááá¶ááá¯ááºáá«áááºá
ááá¹áá¬áá
áºááŸááºážááŸá ááœá±áá±ážááœá±áá°áá»á¬ážá ááŸááºáááºááŸá¯ááŸáá·áº ááŒááºááŸá¯ááºážááẠáááá¯ááááºáá¬á áá»áœááºážáá»ááºááŸá¯áá±á«áºááœáẠáá»á¬ážá
áœá¬áá°áááºáá«áááº- á
á¬áááºááá·áºá¡áá«ááœáẠáá»ááºáá»ááºááŒáá·áºááŒáá·áº áá»áŸáá±áá¬ážáá±á¬áá±á¬á·ááá±á¬ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá±á áá®ážááŒá¬ážááœá²áá¯ááºááŸá¯á¡ááá·áº ááá¯ááŒáá·áºáá±á áá»ááºážááŒá±á¬ááºážáá±á¬ áá®ážááá·áºáá±á¬á·ááºáá»á¬ážááᯠáá°áá±áá±á á
áœááºážáá±á¬ááºááẠááá¯ááŒááºáá±ááŒá
áºáááºá
source: www.habr.com