ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืื™ืŸ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS ื’ืœืึธื•ื‘ืึทืœื–

ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืื™ืŸ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS ื’ืœืึธื•ื‘ืึทืœื–ื“ื™ InterSystems IRIS DBMS ืฉื˜ื™ืฆื˜ ื˜ืฉื™ืงืึทื•ื•ืข ืกื˜ืจืึทืงื˜ืฉืขืจื– ืคึฟืึทืจ ืกื˜ืึธืจื™ื ื’ ื“ืึทื˜ืŸ - ื’ืœืึธื•ื‘ืึทืœื–. ื™ืกืขื ืฉืึทืœื™, ื“ืึธืก ื–ืขื ืขืŸ ืžืึทืœื˜ื™-ืžื“ืจื’ื” ืฉืœื™ืกืœืขืŸ ืžื™ื˜ ืคืึทืจืฉื™ื“ืŸ ื ืึธืš ื’ื•ื“ื™ื– ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื–, ืฉื ืขืœ ืคืึทื ื’ืงืฉืึทื ื– ืคึฟืึทืจ ื“ื•ืจื›ืคืึธืจ ื“ืึทื˜ืŸ ื‘ื™ื™ืžืขืจ, ืœืึทืงืก ืื•ืŸ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืึธื‘ื“ื–ืฉืขืงื˜ืกืงืจื™ืคึผื˜ ืฉืคึผืจืึทืš.

ืœื™ื™ืขื ืขืŸ ืžืขืจ ื•ื•ืขื’ืŸ ื’ืœืึธื‘ืึทืœืก ืื™ืŸ ื“ื™ ืกืขืจื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืึทืจื˜ื™ืงืœืขืŸ "ื’ืœืึธื‘ืึทืœื– ื–ืขื ืขืŸ ืื•ืฆืจ ืฉื•ื•ืขืจื“ืŸ ืคึฟืึทืจ ืกื˜ืึธืจื™ื ื’ ื“ืึทื˜ืŸ":

ื‘ื™ื™ืžืขืจ. ื˜ื™ื™ืœ 1
ื‘ื™ื™ืžืขืจ. ื˜ื™ื™ืœ 2
ืฉื™ื˜ืขืจืข ืขืจื™ื™ื–. ื˜ื™ื™ืœ 3

ืื™ืš ื’ืขื•ื•ืืจืŸ ืื™ื ื˜ืขืจืขืกื™ืจื˜ ืื™ืŸ ื•ื•ื™ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ื–ืขื ืขืŸ ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื™ืŸ ื’ืœืึธื•ื‘ืึทืœื–, ื•ื•ืึธืก ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืขืก ื–ืขื ืขืŸ. ื ืึธืš ืึทืœืข, ื“ืึธืก ืื™ื– ืึท ื’ืึธืจ ืึทื ื“ืขืจืฉ ืกื˜ืจื•ืงื˜ื•ืจ ืคึฟืึทืจ ืกื˜ืึธืจื™ื ื’ ื“ืึทื˜ืŸ ื•ื•ื™ ื“ื™ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš ื˜ื™ืฉืŸ. ืคื™ืœ ื ื™ื“ืขืจื™ืงืขืจ ืžื“ืจื’ื”.

ื•ื•ื™ ืื™ื– ื‘ืืงืื ื˜ ืคื•ืŸ ื“ื™ ื˜ืขืึธืจื™ืข ืคื•ืŸ โ€‹โ€‹ืจื™ืœื™ื™ืฉืึทื ืึทืœ ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื–, ืึท ื’ื•ื˜ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืžื•ื–ืŸ ื‘ืึทืคืจื™ื“ื™ืงืŸ ื“ื™ ื‘ืื“ืขืจืคืขื ื™ืฉืŸ ื–ื•ื™ืขืจ:

ื - ืึทื˜ืึธืžื™ืฉืข (ืึทื˜ืึธืžื™ืฉืข). ื›ืœ ืขื ื“ืขืจื•ื ื’ืขืŸ ื’ืขืžืื›ื˜ ืื™ืŸ ื“ื™ ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ ืึธื“ืขืจ ื’ืึธืจื ื™ื˜ ื–ืขื ืขืŸ ืจืขืงืึธืจื“ืขื“.

C - ืงืึธื ืกื™ืกื˜ืขื ืกื™. ื ืึธืš ืึท ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ ืงืึทืžืคึผืœื™ืฅ, ื“ื™ ืœืึทื“ื–ืฉื™ืงืึทืœ ืฉื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ื™ื ืขื•ื•ื™ื™ื ื™ืง ืงืึธื ืกื™ืกื˜ืขื ื˜. ืื™ืŸ ืคื™ืœืข ื•ื•ืขื’ืŸ ื“ืขื ืคืึธื“ืขืจื•ื ื’ ืงืึทื ืกืขืจื ื– ื“ื™ ืคึผืจืึธื’ืจืึทืžื™ืกื˜, ืึธื‘ืขืจ ืื™ืŸ ื“ื™ ืคืึทืœ ืคื•ืŸ SQL ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ืขืก ืื•ื™ืš ืงืึทื ืกืขืจื ื– ืคืจืขืžื“ ืฉืœื™ืกืœืขืŸ.

ืื™ืš - ื™ื–ืึธืœื™ืจืŸ. ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืคืœื™ืกื ื“ื™ืง ืื™ืŸ ืคึผืึทืจืึทืœืขืœ ื–ืึธืœ ื ื™ืฉื˜ ื•ื•ื™ืจืงืŸ ื™ืขื“ืขืจ ืื ื“ืขืจืขืจ.

ื“ - ื“ื•ืจืึทื‘ืึทืœ. ื ืึธืš ืžืฆืœื™ื— ืงืึทืžืคึผืœื™ืฉืึทืŸ ืคื•ืŸ ืึท ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ, ืคึผืจืึธื‘ืœืขืžืก ืื™ืŸ ื ื™ื“ืขืจื™ืงืขืจ ืœืขื•ื•ืขืœืก (ืžืึทื›ื˜ ื“ื•ืจื›ืคืึทืœ, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ) ื–ืึธืœ ื ื™ืฉื˜ ื•ื•ื™ืจืงืŸ ื“ื™ ื“ืึทื˜ืŸ ื’ืขื‘ื™ื˜ืŸ ื“ื•ืจืš ื“ื™ ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ.

ื’ืœืึธื‘ืึทืœืก ื–ืขื ืขืŸ ื ื™ื˜-ืจื™ืœื™ื™ืฉืึทื ืึทืœ ื“ืึทื˜ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื–. ื–ื™ื™ ื–ืขื ืขืŸ ื“ื™ื–ื™ื™ื ื“ ืฆื• ืœื•ื™ืคืŸ ืกื•ืคึผืขืจ ืฉื ืขืœ ืื•ื™ืฃ ื–ื™ื™ืขืจ ืœื™ืžื™ื˜ืขื“ ื™ื™ึทื–ื ื•ื•ืึทืจื’. ื–ืืœ ืก ืงื•ืง ืื™ืŸ ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืื™ืŸ ื’ืœืึธื•ื‘ืึทืœื– ื ื™ืฆืŸ ื‘ืึทืึทืžื˜ืขืจ IRIS ื“ืึธืงืงืขืจ ื‘ื™ืœื“.

ืฆื• ืฉื˜ื™ืฆืŸ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืื™ืŸ IRIS, ื“ื™ ืคืืœื’ืขื ื“ืข ืงืึทืžืึทื ื“ื– ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜: TSTART, TCOMMIT, TROLLBACK.

1. ืึทื˜ืึธืžื™ืกื™ื˜ื™

ื“ื™ ื™ื–ื™ืึทืกื˜ ื•ื•ืขื’ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืื™ื– ืึทื˜ืึธืžื™ืงื™ื™ื˜. ืžื™ืจ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืคึฟื•ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ืงืึทื ืกืึธื•ืœ.

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

ืืœืขืก ืื™ื– ื’ื•ื˜. ืึทื˜ืึธืžื™ืกื™ื˜ื™ ืื™ื– ืžื™ื™ื ื˜ื™ื™ื ื“: ืึทืœืข ืขื ื“ืขืจื•ื ื’ืขืŸ ื–ืขื ืขืŸ ืจืขืงืึธืจื“ืขื“.

ืœืึธืžื™ืจ ืงืึธืžืคึผืœื™ืฆื™ืจืŸ ื“ื™ ืึทืจื‘ืขื˜, ื‘ืึทืงืขื ืขืŸ ืึท ื˜ืขื•ืช ืื•ืŸ ื–ืขืŸ ื•ื•ื™ ื“ื™ ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ ืื™ื– ื’ืขืจืื˜ืขื•ื•ืขื˜, ื˜ื™ื™ืœ ืึธื“ืขืจ ื ื™ืฉื˜.

ืœืึธืžื™ืจ ื•ื•ื™ื“ืขืจ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืึทื˜ืึธืžื™ืงื™ื™ื˜:

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)

- ื ื™ื™ืŸ, ืขืก ื”ืื˜ ื ื™ืฉื˜ ืกืขืจื•ื•ื™ื™ื•ื•ื“.

ืœืึธืžื™ืจ ืคึผืจื•ื‘ื™ืจืŸ ื“ื™ ืจืึธื•ืœื‘ืึทืง ื‘ืึทืคึฟืขืœ:

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(โ€˜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. ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜

ื“ืืก ืื™ื– ื•ื•ื• ื“ื™ ื•ื•ื™ืœื“ื– ืึธื ื”ื™ื™ื‘ืŸ. ืคื™ืœืข ื™ื•ื–ืขืจื– ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืกืœื™ ืึทืจื‘ืขื˜ ืื•ื™ืฃ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ื“ืึทื˜ืึทื‘ื™ื™ืก, ื˜ืฉืึทื ื’ื™ื ื’ ื“ื™ ื–ืขืœื‘ืข ื“ืึทื˜ืŸ.

ื“ื™ ืกื™ื˜ื•ืึทืฆื™ืข ืื™ื– ืคืึทืจื’ืœื™ื™ึทื›ืœืขืš ืฆื• ื•ื•ืขืŸ ืคื™ืœืข ื™ื•ื–ืขืจื– ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืกืœื™ ืึทืจื‘ืขื˜ ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืงืึธื“ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืกืœื™ ื™ื‘ืขืจื’ืขื‘ืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ืคื™ืœืข ื˜ืขืงืขืก ืื™ืŸ ืึทืžืึธืœ.

ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ื–ืึธืœ ืกืึธืจื˜ ืขืก ืึทืœืข ืื•ื™ืก ืื™ืŸ ืคืึทืงื˜ื™ืฉ ืฆื™ื™ื˜. ืงืึทื ืกื™ื“ืขืจื™ื ื’ ืึทื– ืื™ืŸ ืขืจื ืกื˜ ืงืึธืžืคึผืึทื ื™ืขืก ืขืก ืื™ื– ืืคื™ืœื• ืึท ืกืคึผืขืฆื™ืขืœ ืžืขื ื˜ืฉ ื•ื•ืึธืก ืื™ื– ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ื•ื•ืขืจืกื™ืข ืงืึธื ื˜ืจืึธืœ (ืคึฟืึทืจ ืžืขืจื“ื–ืฉื™ื ื’ ืฆื•ื•ื™ื™ื’ืŸ, ืจื™ื–ืึทืœื•ื•ื™ื ื’ ืงืึธื ืคืœื™ืงื˜, ืืื–"ื• ื•), ืื•ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ืžื•ื–ืŸ ื˜ืึธืŸ ืึทืœืข ื“ืขื ืื™ืŸ ืคืึทืงื˜ื™ืฉ ืฆื™ื™ื˜, ื“ื™ ืงืึทืžืคึผืœืขืงืกื™ื˜ื™ ืคื•ืŸ ื“ื™ ืึทืจื‘ืขื˜ ืื•ืŸ ื“ื™ ืจื™ื›ื˜ื™ืง ืคื•ืŸ ื“ื™ ืึทืจื‘ืขื˜. ื“ืึทื˜ืึทื‘ื™ื™ืก ืคึผืœืึทืŸ ืื•ืŸ ืงืึธื“ ื•ื•ืึธืก ืกืขืจื•ื•ืขืก ืขืก.

ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ืงืขืŸ ื ื™ืฉื˜ ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื“ื™ ื˜ื™ื™ึทื˜ืฉ ืคื•ืŸ ื“ื™ ืึทืงืฉืึทื ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ื“ื•ืจืš ื™ื•ื–ืขืจื– ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ืงืึธื ืคืœื™ืงื˜ ืื•ื™ื‘ ื–ื™ื™ ืึทืจื‘ืขื˜ืŸ ืื•ื™ืฃ ื“ื™ ื–ืขืœื‘ืข ื“ืึทื˜ืŸ. ืขืก ืงืขืŸ ื ืึธืจ ื•ืคืžืึทื›ืŸ ืื™ื™ืŸ ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ ื•ื•ืึธืก ืงืึธื ืคืœื™ืงื˜ ืžื™ื˜ ืื ื“ืขืจืŸ, ืึธื“ืขืจ ื•ื™ืกืคื™ืจืŸ ื–ื™ื™ ืกืึทืงื•ื•ืขื ื˜ืฉืึทืœื™.

ืืŸ ืื ื“ืขืจ ืคึผืจืึธื‘ืœืขื ืื™ื– ืึทื– ื‘ืขืฉืึทืก ื“ื™ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ืึท ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ (ืื™ื™ื“ืขืจ ืึท ื™ื‘ืขืจื’ืขื‘ืŸ), ื“ื™ ืฉื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ืงืขืŸ ื–ื™ื™ืŸ ืกืชื™ืจื”, ืึทื–ื•ื™ ืขืก ืื™ื– ื“ื™ื–ื™ื™ืจืึทื‘ืึทืœ ืึทื– ืื ื“ืขืจืข ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืฆื•ื˜ืจื™ื˜ ืฆื• ื“ื™ ืกืชื™ืจื” ืฉื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก, ื•ื•ืึธืก ืื™ื– ืึทื˜ืฉื™ื•ื•ื“ ืื™ืŸ ืจื™ืœื™ื™ืฉืึทื ืึทืœ ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื–. ืื™ืŸ ืคื™ืœืข ื•ื•ืขื’ืŸ: ืงืจื™ื™ื™ื˜ื™ื ื’ ืกื ืึทืคึผืฉืึทืฅ, ืžื•ืœื˜ื™-ื•ื•ืขืจืกื™ืข ืจืึธื•ื– ืื•ืŸ ืขื˜ืง.

ื•ื•ืขืŸ ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืื™ืŸ ืคึผืึทืจืึทืœืขืœ, ืขืก ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืคึฟืึทืจ ืื•ื ื“ื– ืึทื– ื–ื™ื™ ื˜ืึธืŸ ื ื™ื˜ ืึทืจื™ื™ึทื ืžื™ืฉื  ื–ื™ืš ืžื™ื˜ ื™ืขื“ืขืจ ืื ื“ืขืจืขืจ. ื“ืืก ืื™ื– ื“ื™ ืคืึทืจืžืึธื’ ืคื•ืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜.

SQL ื“ื™ืคื™ื™ื ื– 4 ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืœืขื•ื•ืขืœืก:

  • ืœื™ื™ืขื ืขืŸ ืึทื ืงืึทืžื˜ื™ื“
  • ืœื™ื™ืขื ืขืŸ ืงืึทืžื™ื˜ืึทื“
  • ืจื™ืคึผืขืึทื˜ืึทื‘ืึทืœ ืœื™ื™ืขื ืขืŸ
  • SERIALIZABLE

ื–ืืœ ืก ืงื•ืง ื‘ื™ื™ึท ื™ืขื“ืขืจ ืžื“ืจื’ื” ืกืขืคึผืขืจืึทื˜ืœื™. ื“ื™ ืงืึธืก ืคื•ืŸ ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ื™ืขื“ืขืจ ืžื“ืจื’ื” ื•ื•ืึทืงืกืŸ ื›ึผืžืขื˜ ืขืงืกืคึผืึธื•ื ืขื ืฉืึทืœื™.

ืœื™ื™ืขื ืขืŸ ืึทื ืงืึทืžื˜ื™ื“ - ื“ืึธืก ืื™ื– ื“ื™ ืœืึธื•ืึทืกื˜ ืžื“ืจื’ื” ืคื•ืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜, ืึธื‘ืขืจ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜ ื“ื™ ืคืึทืกื˜ืึทืกื˜. ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืงืขื ืขืŸ ืœื™ื™ืขื ืขืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ื’ืขืžืื›ื˜ ื“ื•ืจืš ื™ืขื“ืขืจ ืื ื“ืขืจืขืจ.

ืœื™ื™ืขื ืขืŸ ืงืึทืžื™ื˜ืึทื“ ืื™ื– ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืžื“ืจื’ื” ืคื•ืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜, ื•ื•ืึธืก ืื™ื– ืึท ืงืึธืžืคึผืจืึธืžื™ืก. ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืงืขื ืขืŸ ื ื™ืฉื˜ ืœื™ื™ืขื ืขืŸ ื™ืขื“ืขืจ ืื ื“ืขืจืข ืก ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ื™ื“ืขืจ ื“ื™ ื™ื‘ืขืจื’ืขื‘ืŸ, ืึธื‘ืขืจ ื–ื™ื™ ืงืขื ืขืŸ ืœื™ื™ืขื ืขืŸ ืงื™ื™ืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ื’ืขืžืื›ื˜ ื ืึธืš ื“ื™ ื™ื‘ืขืจื’ืขื‘ืŸ.

ืื•ื™ื‘ ืžื™ืจ ื”ืึธื‘ืŸ ืึท ืœืึทื ื’ ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ ื˜ 1, ื‘ืขืฉืึทืก ื•ื•ืึธืก ืงืึทืžื™ืฅ ื’ืขื ื•ืžืขืŸ ืึธืจื˜ ืื™ืŸ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ื˜ 2, ื˜ 3 ... ื˜ืŸ, ื•ื•ืึธืก ื’ืขืืจื‘ืขื˜ ืžื™ื˜ ื“ื™ ื–ืขืœื‘ืข ื“ืึทื˜ืŸ ื•ื•ื™ ื˜ 1, ื•ื•ืขืŸ ืžื™ืจ ื‘ืขื˜ืŸ ื“ืึทื˜ืŸ ืื™ืŸ ื˜ 1, ืžื™ืจ ื•ื•ืขืœืŸ ื‘ืึทืงื•ืžืขืŸ ืึท ืึทื ื“ืขืจืฉ ืจืขื–ื•ืœื˜ืึทื˜ ื™ืขื“ืขืจ ืžืึธืœ. ื“ืขื ื“ืขืจืฉื™ื™ื ื•ื ื’ ืื™ื– ื’ืขืจื•ืคืŸ ื ื™ื˜-ืจืขืคึผืขืึทื˜ืึทื‘ืœืข ืœื™ื™ืขื ืขืŸ.

ืจื™ืคึผืขืึทื˜ืึทื‘ืึทืœ ืœื™ื™ืขื ืขืŸ - ืื™ืŸ ื“ืขื ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืžื“ืจื’ื” ืžื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ื“ื™ ื“ืขืจืฉื™ื™ื ื•ื ื’ ืคื•ืŸ ื ื™ื˜-ืจืขืคึผืขืึทื˜ืึทื‘ืœืข ืœื™ื™ืขื ืขืŸ, ืจืขื›ื˜ ืฆื• ื“ืขื ืคืึทืงื˜ ืึทื– ืคึฟืึทืจ ื™ืขื“ืขืจ ื‘ืงืฉื” ืฆื• ืœื™ื™ืขื ืขืŸ ื“ืึทื˜ืŸ, ืึท ืžืึธืžืขื ื˜ื‘ื™ืœื“ ืคื•ืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ื“ืึทื˜ืŸ ืื™ื– ื‘ืืฉืืคืŸ ืื•ืŸ ื•ื•ืขืŸ ืจื™ื•ื–ื“ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ, ื“ื™ ื“ืึทื˜ืŸ ืคื•ืŸ ื“ื™ ืžืึธืžืขื ื˜ื‘ื™ืœื“ ืื™ื– ื’ืขื ื™ืฆื˜. ืึธื‘ืขืจ, ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืœื™ื™ืขื ืขืŸ ืคืึทื ื˜ืึธื ื“ืึทื˜ืŸ ืื™ืŸ ื“ืขื ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืžื“ืจื’ื”. ื“ืึธืก ืจืขืคืขืจืก ืฆื• ืœื™ื™ืขื ืขืŸ ื ื™ื™ึทืข ืจืึธื•ื– ื•ื•ืึธืก ื–ืขื ืขืŸ ืฆื•ื’ืขื’ืขื‘ืŸ ื“ื•ืจืš ืคึผืึทืจืึทืœืขืœ ื‘ืื’ืื ื’ืขืŸ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื–.

SERIALIZABLE - ื“ื™ ื”ืขื›ืกื˜ืŸ ืžื“ืจื’ื” ืคื•ืŸ ื™ื ืกืึทืœื™ื™ืฉืึทืŸ. ืขืก ืื™ื– ืงืขืจืึทืงื˜ืขืจื™ื™ื–ื“ ื“ื•ืจืš ื“ื™ ืคืึทืงื˜ ืึทื– ื“ืึทื˜ืŸ ื’ืขื ื™ืฆื˜ ืื™ืŸ ืงื™ื™ืŸ ื•ื•ืขื’ ืื™ืŸ ืึท ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ (ืœื™ื™ืขื ืขืŸ ืึธื“ืขืจ ื˜ืฉืึทื ื’ื™ื ื’) ืื™ื– ื‘ืืจืขื›ื˜ื™ื’ื˜ ืคึฟืึทืจ ืื ื“ืขืจืข ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ื‘ืœื•ื™ื– ื ืึธืš ื“ื™ ืงืึทืžืคึผืœื™ืฉืึทืŸ ืคื•ืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ.

ืขืจืฉื˜ืขืจ, ืœืึธื–ืŸ ืก ืจืขื›ืขื ืขืŸ ืื•ื™ืก ืฆื™ ืขืก ืื™ื– ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืคื•ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืื™ืŸ ืึท ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ ืคื•ืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ืคืึธื“ืขื. ื–ืืœ ืก ืขืคืขื ืขืŸ 2 ื•ื•ืึธืงื–ืึทืœ ืคึฟืขื ืฆื˜ืขืจ.

Kill ^t

Write ^t(1)
2

TSTART
Set ^t(1)=2

ืขืก ืื™ื– ืงื™ื™ืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜. ืื™ื™ืŸ ืคึฟืึธื“ืขื ื–ืขื˜ ื•ื•ืึธืก ื“ืขืจ ืฆื•ื•ื™ื™ื˜ืขืจ ื•ื•ืึธืก ื”ืึธื˜ ื’ืขืขืคึฟื ื˜ ื“ืขื ื˜ืจืึทื ื–ืึทืงืฆื™ืข ื˜ื•ื˜.

ื–ืืœ ืก ื–ืขืŸ ืื•ื™ื‘ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืคื•ืŸ ืคืึทืจืฉื™ื“ืขื ืข ืคึฟืขื“ืขื ื–ืขืŸ ื•ื•ืึธืก ืื™ื– ื’ืขืฉืขืขื ื™ืฉ ืื™ืŸ ื–ื™ื™.

ื–ืืœ ืก ืขืคืขื ืขืŸ 2 ื•ื•ืึธืงื–ืึทืœ ืคึฟืขื ืฆื˜ืขืจ ืื•ืŸ ืขืคืขื ืขืŸ 2 ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืื™ืŸ ืคึผืึทืจืึทืœืขืœ.

kill ^t
TSTART
Write ^t(1)
3

TSTART
Set ^t(1)=3

ืคึผืึทืจืึทืœืขืœ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ื–ืขืŸ ื™ืขื“ืขืจ ืื ื“ืขืจืข ืก ื“ืึทื˜ืŸ. ืึทื–ื•ื™, ืžื™ืจ ื”ืึธื‘ืŸ ื“ื™ ืกื™ืžืคึผืœืึทืกื˜, ืึธื‘ืขืจ ืื•ื™ืš ื“ื™ ืคืึทืกื˜ืึทืกื˜ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืžื“ืจื’ื”, ืœื™ื™ืขื ืขืŸ UNCOMMITED.

ืื™ืŸ ืคึผืจื™ื ืฆื™ืคึผ, ื“ืึธืก ืงืขืŸ ื–ื™ื™ืŸ ื“ืขืจื•ื•ืึทืจื˜ ืคึฟืึทืจ ื’ืœืึธื•ื‘ืึทืœื–, ืคึฟืึทืจ ื•ื•ืึธืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื™ื– ืฉื˜ืขื ื“ื™ืง ื’ืขื•ื•ืขืŸ ืึท ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜.

ื•ื•ืึธืก ืื•ื™ื‘ ืžื™ืจ ื“ืึทืจืคึฟืŸ ืึท ื”ืขื›ืขืจ ืžื“ืจื’ื” ืคื•ืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืื™ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืื•ื™ืฃ ื’ืœืึธื•ื‘ืึทืœื–?

ื“ืึธ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื˜ืจืึทื›ื˜ืŸ ื•ื•ืขื’ืŸ ื•ื•ืึธืก ื™ื–ืึธืœืึทื˜ื™ืึธืŸ ืœืขื•ื•ืขืœืก ื–ืขื ืขืŸ ื‘ื›ืœืœ ื“ืืจืฃ ืื•ืŸ ื•ื•ื™ ื–ื™ื™ ืึทืจื‘ืขื˜.

ื“ื™ ื”ืขื›ืกื˜ืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืžื“ืจื’ื”, SERIALIZE, ืžื™ื˜ืœ ืึทื– ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืื™ืŸ ืคึผืึทืจืึทืœืขืœ ืื™ื– ืขืงื•ื•ื™ื•ื•ืึทืœืขื ื˜ ืฆื• ื–ื™ื™ืขืจ ืกืึทืงื•ื•ืขื ื˜ืฉืึทืœ ื“ื•ืจื›ืคื™ืจื•ื ื’, ื•ื•ืึธืก ื’ืขืจืึทื ื˜ื™ื– ื“ืขืจ ืึทื•ื•ืขืง ืคื•ืŸ ืงืึทืœื™ื–ืฉืึทื ื–.

ืžื™ืจ ืงืขื ืขืŸ ื˜ืึธืŸ ื“ืึธืก ืžื™ื˜ ืงืœื•ื’ ืœืึทืงืก ืื™ืŸ ืึธื‘ื“ื–ืฉืขืงื˜ืกืงืจื™ืคึผื˜, ื•ื•ืึธืก ื”ืึธื‘ืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืคืึทืจืฉื™ื“ืขื ืข ื ื™ืฆื˜: ืื™ืจ ืงืขื ืขืŸ ื˜ืึธืŸ ืจืขื’ื•ืœืขืจ, ื™ื ืงืจืึทืžืขื ื˜ืึทืœ, ืงื™ื™ืคืœ ืœืึทืงื™ื ื’ ืžื™ื˜ ื“ื™ ื‘ืึทืคึฟืขืœ. ืฉืœืึธืก.

ื ื™ื“ืขืจื™ืงืขืจ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืœืขื•ื•ืขืœืก ื–ืขื ืขืŸ ื”ืึทื ื“ืœ-ืึธืคืก ื“ื™ื–ื™ื™ื ื“ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ื’ื™ื›ืงื™ื™ึทื˜.

ื–ืืœ ืก ื–ืขืŸ ื•ื•ื™ ืžื™ืจ ืงืขื ืขืŸ ื“ืขืจื’ืจื™ื™ื›ืŸ ืคืึทืจืฉื™ื“ืขื ืข ืœืขื•ื•ืขืœืก ืคื•ืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ื ื™ืฆืŸ ืœืึทืงืก.

ื“ืขืจ ืึธืคึผืขืจืึทื˜ืึธืจ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื ืขืžืขืŸ ื ื™ื˜ ื‘ืœื•ื™ื– ื•ื™ืกืฉืœื™ืกื™ืง ืœืึทืงืก ืฆื• ื˜ื•ื™ืฉืŸ ื“ืึทื˜ืŸ, ืึธื‘ืขืจ ืื•ื™ืš ืึทื–ื•ื™ ื’ืขืจื•ืคืขื ืข ืฉืขืจื“ ืœืึทืงืก, ื•ื•ืึธืก ืงืขื ืขืŸ ื ืขืžืขืŸ ืขื˜ืœืขื›ืข ืคึฟืขื“ืขื ืื™ืŸ ืคึผืึทืจืึทืœืขืœ ื•ื•ืขืŸ ื–ื™ื™ ื“ืึทืจืคึฟืŸ ืฆื• ืœื™ื™ืขื ืขืŸ ื“ืึทื˜ืŸ ื•ื•ืึธืก ื–ืึธืœ ื ื™ืฉื˜ ื–ื™ื™ืŸ ื˜ืฉื™ื™ื ื“ื–ืฉื“ ื“ื•ืจืš ืื ื“ืขืจืข ืคึผืจืึทืกืขืกืึทื– ื‘ืขืฉืึทืก ื“ื™ ืœื™ื™ืขื ืขืŸ ืคึผืจืึธืฆืขืก.

ืžืขืจ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ื™ ืฆื•ื•ื™ื™-ืคืึทืกืข ื‘ืœืึทืงื™ื ื’ ืื•ืคึฟืŸ ืื™ืŸ ืจื•ืกื™ืฉ ืื•ืŸ ืขื ื’ืœื™ืฉ:

โ†’ ืฆื•ื•ื™ื™-ืคืึทืกืข ื‘ืœืึทืงื™ื ื’
โ†’ ืฆื•ื•ื™ื™-ืคืึทืกืข ืœืึทืงื™ื ื’

ื“ื™ ืฉื•ื•ืขืจื™ืงื™ื™ื˜ ืื™ื– ืึทื– ื‘ืขืฉืึทืก ืึท ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ ื“ื™ ืฉื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ืงืขืŸ ื–ื™ื™ืŸ ืกืชื™ืจื”, ืึธื‘ืขืจ ื“ื™ ืกืชื™ืจื” ื“ืึทื˜ืŸ ืื™ื– ืงืขื ื˜ื™ืง ืคึฟืึทืจ ืื ื“ืขืจืข ืคึผืจืึทืกืขืกืึทื–. ื•ื•ื™ ืฆื• ื•ื™ืกืžื™ื™ึทื“ืŸ ื“ืขื?

ื ื™ืฆืŸ ืœืึทืงืก, ืžื™ืจ ืžืึทื›ืŸ ื•ื•ื™ื–ืึทื‘ื™ืœื™ื˜ื™ ืคึฟืขื ืฆื˜ืขืจ ืื™ืŸ ื•ื•ืึธืก ื“ื™ ืฉื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืงืึธื ืกื™ืกื˜ืขื ื˜. ืื•ืŸ ืึทืœืข ืึทืงืกืขืก ืฆื• ืึทื–ืึท ืคึฟืขื ืฆื˜ืขืจ ื•ื•ื™ื–ืึทื‘ื™ืœื™ื˜ื™ ืคื•ืŸ ื“ื™ ืžืกื›ื™ื ืฉื˜ืึทื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืงืึทื ื˜ืจืึธื•ืœื“ ื“ื•ืจืš ืœืึทืงืก.

ืฉืขืจื“ ืœืึทืงืก ืื•ื™ืฃ ื“ื™ ื–ืขืœื‘ืข ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ืจื™ื•ื–ืึทื‘ืึทืœ - ืขื˜ืœืขื›ืข ืคึผืจืึทืกืขืกืึทื– ืงืขื ืขืŸ ื ืขืžืขืŸ ื–ื™ื™. ื“ื™ ืœืึทืงืก ืคืึทืจืžื™ื™ึทื“ืŸ ืื ื“ืขืจืข ืคึผืจืึทืกืขืกืึทื– ืคื•ืŸ ื˜ืฉืึทื ื’ื™ื ื’ ื“ืึทื˜ืŸ, ื“.ื”. ื–ื™ื™ ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜ ืฆื• ืคืึธืจืขื ืคึฟืขื ืฆื˜ืขืจ ืคื•ืŸ ืงืึธื ืกื™ืกื˜ืขื ื˜ ื“ืึทื˜ืึทื‘ื™ื™ืก ืฉื˜ืึทื˜.

ื•ื™ืกืฉืœื™ืกื™ืง ืœืึทืงืก ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ ื“ืึทื˜ืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ - ื‘ืœื•ื™ื– ืื™ื™ืŸ ืคึผืจืึธืฆืขืก ืงืขื ืขืŸ ื ืขืžืขืŸ ืึทื–ืึท ืึท ืฉืœืึธืก. ืึท ื•ื™ืกืฉืœื™ืกื™ืง ืฉืœืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื ื•ืžืขืŸ ื“ื•ืจืš:

  1. ืงื™ื™ืŸ ืคึผืจืึธืฆืขืก ืื•ื™ื‘ ื“ื™ ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ืคืจื™ื™
  2. ื‘ืœื•ื™ื– ื“ืขืจ ืคึผืจืึธืฆืขืก ื•ื•ืึธืก ื”ืื˜ ืึท ืฉืขืจื“ ืฉืœืึธืก ืื•ื™ืฃ ื“ืขื ื“ืึทื˜ืŸ ืื•ืŸ ืื™ื– ื’ืขื•ื•ืขืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ืฆื• ื‘ืขื˜ืŸ ืึท ื•ื™ืกืฉืœื™ืกื™ืง ืฉืœืึธืก.

ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืื™ืŸ ื™ื ื˜ืขืจืกื™ืกื˜ืขืžืก IRIS ื’ืœืึธื•ื‘ืึทืœื–

ื“ื™ ื ืขืจืึธื•ืขืจ ื“ื™ ื•ื•ื™ื–ืึทื‘ื™ืœื™ื˜ื™ ืคึฟืขื ืฆื˜ืขืจ, ื“ื™ ืžืขืจ ืื ื“ืขืจืข ืคึผืจืึทืกืขืกืึทื– ื”ืึธื‘ืŸ ืฆื• ื•ื•ืึทืจื˜ืŸ ืคึฟืึทืจ ืขืก, ืึธื‘ืขืจ ื“ื™ ืžืขืจ ืงืึธื ืกื™ืกื˜ืขื ื˜ ื“ื™ ืฉื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ืื™ืŸ ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ.

READ_COMMITTED - ื“ื™ ืขืกืึทื ืก ืคื•ืŸ ื“ืขื ืžื“ืจื’ื” ืื™ื– ืึทื– ืžื™ืจ ื–ืขืŸ ื‘ืœื•ื™ื– ื‘ืื’ืื ื’ืขืŸ ื“ืึทื˜ืŸ ืคื•ืŸ ืื ื“ืขืจืข ืคึฟืขื“ืขื. ืื•ื™ื‘ ื“ื™ ื“ืึทื˜ืŸ ืื™ืŸ ืืŸ ืื ื“ืขืจ ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ ืื™ื– ื ืึธืš ื ื™ืฉื˜ ื‘ืื’ืื ื’ืขืŸ, ืžื™ืจ ื–ืขืŸ ื“ื™ ืึทืœื˜ ื•ื•ืขืจืกื™ืข.

ื“ืึธืก ืึทืœืึทื•ื– ืื•ื ื“ื– ืฆื• ืคึผืึทืจืึทืœืขืœื™ื–ื™ืจืŸ ื“ื™ ืึทืจื‘ืขื˜ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื•ื•ืืจื˜ืŸ ืคึฟืึทืจ ื“ื™ ืฉืœืึธืก ืฆื• ื–ื™ื™ืŸ ื‘ืืคืจื™ื™ื˜.

ืึธืŸ ืกืคึผืขืฆื™ืขืœ ื˜ืจื™ืงืก, ืžื™ืจ ื•ื•ืขืœืŸ ื ื™ืฉื˜ ืงืขื ืขืŸ ืฆื• ื–ืขืŸ ื“ื™ ืึทืœื˜ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ื“ืึทื˜ืŸ ืื™ืŸ IRIS, ืึทื–ื•ื™ ืžื™ืจ ื•ื•ืขืœืŸ ื”ืึธื‘ืŸ ืฆื• ื˜ืึธืŸ ืžื™ื˜ ืœืึทืงืก.

ืึทืงืงืึธืจื“ื™ื ื’ืœื™, ืžื™ืจ ื•ื•ืขืœืŸ ื”ืึธื‘ืŸ ืฆื• ื ื•ืฆืŸ ืฉืขืจื“ ืœืึทืงืก ืฆื• ืœืึธื–ืŸ ื“ืึทื˜ืŸ ืœื™ื™ืขื ืขืŸ ื‘ืœื•ื™ื– ืื™ืŸ ืžืึธื•ืžืึทื ืฅ ืคื•ืŸ ืงืึธื ืกื™ืกื˜ืขื ืกื™.

ื–ืืœ ืก ื–ืึธื’ืŸ ืžื™ืจ ื”ืึธื‘ืŸ ืึท ื‘ืึทื ื™ืฆืขืจ ื‘ืึทื–ืข ^ืžืขื ื˜ืฉ ื•ื•ืึธืก ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื’ืขืœื˜ ืฆื• ื™ืขื“ืขืจ ืื ื“ืขืจืขืจ.

ืžืึธืžืขื ื˜ ืคื•ืŸ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืคื•ืŸ ืžืขื ื˜ืฉ 123 ืฆื• ืžืขื ื˜ืฉ 242:

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)

ืื ื“ืขืจืข ืึทืคึผืขืจื™ื™ืฉืึทื ื– (ืื™ืŸ ื“ืขื ืฆื™ื™ึทื˜ ืคึผืึทืจืึทืœืขืœ ืคึฟืขื“ืขื ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื˜ื•ื™ืฉืŸ ^ ืžืขื ื˜ืฉ (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))

ื“ืขืจื ืึธืš ื–ื™ื™ ื–ืขื ืขืŸ ื’ืขื ื•ืžืขืŸ ืึทื˜ืึธืžื™ืฉืข ืึทืœืข ืื™ืŸ ืึทืžืึธืœ.

SERIALISE - ืžื™ืจ ื•ื•ืขืœืŸ ื”ืึธื‘ืŸ ืฆื• ืฉื˜ืขืœืŸ ืœืึทืงืก ืึทื–ื•ื™ ืึทื– ืœืขืกืึธืฃ ืึทืœืข ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ื•ื•ืึธืก ื”ืึธื‘ืŸ ืคึผืจืึธืกื˜ ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืกืึทืงื•ื•ืขื ื˜ืฉืึทืœื™. ืคึฟืึทืจ ื“ืขื ืฆื•ื’ืึทื ื’, ืจื•ื‘ึฟ ืœืึทืงืก ื–ืึธืœ ื–ื™ื™ืŸ ื•ื™ืกืฉืœื™ืกื™ืง ืื•ืŸ ื’ืขื ื•ืžืขืŸ ืื•ื™ืฃ ื“ื™ ืงืœืขื ืกื˜ืขืจ ื’ืขื‘ื™ื˜ืŸ ืคื•ืŸ ื“ืขืจ ื•ื•ืขืœื˜ ืคึฟืึทืจ ืคืึธืจืฉื˜ืขืœื•ื ื’.

ืื•ื™ื‘ ืžื™ืจ ืจืขื“ืŸ ื•ื•ืขื’ืŸ ื“ืขื‘ื™ื˜ื™ื ื’ ื’ืขืœื˜ ืื™ืŸ ื“ื™ ื’ืœืื‘ืืœืข ืžืขื ื˜ืฉ, ื‘ืœื•ื™ื– ื“ื™ SERIALISE ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืžื“ืจื’ื” ืื™ื– ืคึผืึทืกื™ืง ืคึฟืึทืจ ืื™ื, ื•ื•ื™ื™ึทืœ ื’ืขืœื˜ ืžื•ื–ืŸ ื–ื™ื™ืŸ ืคืืจื‘ืจืื›ื˜ ืฉื˜ืจืขื ื’ ืกืึทืงื•ื•ืขื ื˜ืฉืึทืœื™, ืึทื ื“ืขืจืฉ ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืคืึทืจื‘ืจืขื ื’ืขืŸ ื“ื™ ื–ืขืœื‘ืข ืกื•ืžืข ืขื˜ืœืขื›ืข ืžืึธืœ.

4. ื’ืขื•ื•ืขืจ

ืื™ืš ื’ืขืคื™ืจื˜ ื˜ืขืกืฅ ืžื™ื˜ ืฉื•ื•ืขืจ ืงืึทื˜ื™ื ื’ ืคื•ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ื ื™ืฆืŸ

docker kill my-iris

ื“ื™ ื‘ืึทื–ืข ื”ืื˜ ื–ื™ื™ ื’ืขื–ื•ื ื˜ ื˜ืึธืœืขืจืึทื˜ืขื“. ืงื™ื™ืŸ ืคืจืื‘ืœืขืžืขืŸ ื–ืขื ืขืŸ ื™ื™ื“ืขื ืึทืคื™ื™ื“.

ืกืึธืฃ

ืคึฟืึทืจ ื’ืœืึธื‘ืึทืœืก, InterSystems IRIS ื”ืื˜ ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ ืฉื˜ื™ืฆืŸ. ื–ื™ื™ ื–ืขื ืขืŸ ื‘ืืžืช ืึทื˜ืึธืžื™ืฉืข ืื•ืŸ ืคืึทืจืœืึธื–ืœืขืš. ืฆื• ืขื ืฉื•ืจ ืงืึธื ืกื™ืกื˜ืขื ืกื™ ืคื•ืŸ ืึท ื“ืึทื˜ืึทื‘ื™ื™ืก ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื’ืœืึธื•ื‘ืึทืœื–, ืคึผืจืึธื’ืจืึทืžื™ืกื˜ ื”ืฉืชื“ืœื•ืช ืื•ืŸ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ื–ืขื ืขืŸ ืคืืจืœืื ื’ื˜, ื•ื•ื™ื™ึทืœ ืขืก ื˜ื•ื˜ ื ื™ืฉื˜ ื”ืึธื‘ืŸ ืงืึธืžืคึผืœืขืงืก ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืงืึทื ืกื˜ืจืึทืงืฉืึทื ื– ืึทื–ืึท ื•ื•ื™ ืคืจืขืžื“ ืฉืœื™ืกืœืขืŸ.

ื“ื™ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืžื“ืจื’ื” ืคื•ืŸ ื’ืœืึธื‘ืึทืœืก ืึธืŸ ื ื™ืฆืŸ ืœืึทืงืก ืื™ื– ืœื™ื™ืขื ืขืŸ UNCOMMITED, ืื•ืŸ ื•ื•ืขืŸ ื ื™ืฆืŸ ืœืึทืงืก ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื™ื ืฉื•ืจื“ ืึทืจื•ื™ืฃ ืฆื• ื“ื™ SERIALISE ืžื“ืจื’ื”.

ื“ื™ ืงืขืจืขืงื˜ื ืึทืก ืื•ืŸ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืื•ื™ืฃ ื’ืœืึธื‘ืึทืœืก ื“ืขืคึผืขื ื“ืก ื–ื™ื™ืขืจ ืื•ื™ืฃ ื“ื™ ืกืงื™ืœื– ืคื•ืŸ ื“ื™ ืคึผืจืึธื’ืจืึทืžื™ืกื˜: ื“ื™ ืžืขืจ ื•ื•ื™ื™ื“ืœื™ ืฉืขืจื“ ืœืึทืงืก ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜ ื•ื•ืขืŸ ืœื™ื™ืขื ืขืŸ, ื“ื™ ื”ืขื›ืขืจ ื“ื™ ืžื“ืจื’ื” ืคื•ืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜, ืื•ืŸ ื“ื™ ืžืขืจ ืฉืžืึธืœ ื•ื™ืกืฉืœื™ืกื™ืง ืœืึทืงืก ื–ืขื ืขืŸ ื’ืขื ื•ืžืขืŸ, ื“ื™ ืคืึทืกื˜ืขืจ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’