E lagolagoina e le InterSystems IRIS DBMS fausaga manaia mo le teuina o faʻamaumauga - lalolagi. O le mea moni, o nei ki e tele-tulaga faʻatasi ai ma isi mea lelei faʻaopoopo i le tulaga o fefaʻatauaiga, galuega vave mo le felauaiga o laʻau faʻamaumauga, loka ma lana lava gagana ObjectScript.
Faitau atili e uiga i lalolagi i le faasologa o tala "Globals o 'oa-pelu mo le teuina o faʻamatalaga":
Na amata ona ou fiafia i le faʻaogaina o fefaʻatauaiga i le lalolagi atoa, o a mea o loʻo i ai. A uma mea uma, o se fausaga e matua ese lava mo le teuina o faʻamaumauga nai lo laulau masani. Tulaga maualalo tele.
E pei ona iloa mai le talitonuga o fesoʻotaʻiga faʻamaumauga, o se faʻatinoga lelei o fefaʻatauaiga e tatau ona faʻamalieina manaʻoga :
A - Atomic (atomicity). O suiga uma na faia i le fefaʻatauaʻiga poʻo leai se mea uma e faʻamaumau.
C - Fa'amaoni. A mae'a se fefa'ataua'iga, e tatau ona fa'alotoifale le tulaga sa'o o fa'amaumauga. I le tele o auala o lenei manaʻoga e faʻatatau i le tagata fai polokalame, ae i le tulaga o faʻamaumauga SQL e faʻatatau foi i ki mai fafo.
Ou - Tuuese. O fefa'atauaiga o lo'o fa'atutusa e le tatau ona a'afia ai le tasi ma le isi.
D - Tumau. A maeʻa le faʻamaeʻaina o se fefaʻatauaiga, o faʻafitauli i tulaga maualalo (faʻaleagaina o le eletise, mo se faʻataʻitaʻiga) e le tatau ona aʻafia ai faʻamatalaga ua suia e le fefaʻatauaiga.
Globals o faʻamaumauga e le o fesoʻotaʻiga. Na mamanuina e tamo'e vave tele i luga o meafaigaluega fa'atapula'a. Sei o tatou vaʻavaʻai i le faʻatinoga o fefaʻatauaiga i le lalolagi faʻaaogaina .
Ina ia lagolagoina fefaʻatauaiga i IRIS, o loʻo faʻaaogaina tulafono nei: , , .
1. Atomicity
O le auala pito sili ona faigofie e siaki ai o le atomicity. Matou te siaki mai le faʻamafanafanaga faʻamaumauga.
Kill ^a
TSTART
Set ^a(1) = 1
Set ^a(2) = 2
Set ^a(3) = 3
TCOMMITOna tatou faaiuina lea:
Write ^a(1), “ ”, ^a(2), “ ”, ^a(3)Matou te maua:
1 2 3Ua lelei mea uma. Atomicity o lo'o fa'atumauina: fa'amaumau uma suiga.
Sei o tatou faʻalavelaveina le galuega, faʻaalia se mea sese ma vaʻai pe faʻafefea ona faʻasaoina le fefaʻatauaiga, vaega pe leai foi.
Sei o tatou toe siaki le atomicity:
Kill ^A
TSTART
Set ^a(1) = 1
Set ^a(2) = 2
Set ^a(3) = 3Ona matou taofi malosi lea o le atigipusa, faʻalauiloa ma vaʻai.
docker kill my-irisO lenei fa'atonuga e toetoe lava tutusa ma le fa'amalosi e tapunia, aua e tu'uina atu se fa'ailoga SIGKILL e taofi vave ai le gaioiga.
Masalo o le fefaʻatauaiga na faʻasaoina se vaega?
WRITE ^a(1), ^a(2), ^a(3)
^
<UNDEFINED> ^a(1)- Leai, e leʻi ola.
Sei o tatou taumafai i le rollback poloaiga:
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)E leai foi se mea ua ola.
2. Fa'amaoni
Talu ai i faʻamaumauga e faʻavae i luga ole lalolagi, e faia foi ki i luga ole lalolagi (seʻi ou faamanatu atu ia te oe o le lalolagi o se fausaga maualalo mo le teuina o faʻamaumauga nai lo se laulau faʻafesoʻotaʻi), e faʻafetaui le manaʻoga tumau, e tatau ona aofia ai se suiga i le ki. i le fefaʻatauaʻiga tutusa e pei o se suiga i le lalolagi.
Mo se faʻataʻitaʻiga, o loʻo i ai so matou lalolagi ^tagata, lea matou te teuina ai uiga ma matou faʻaogaina le TIN e fai ma ki.
^person(1234567, ‘firstname’) = ‘Sergey’
^person(1234567, ‘lastname’) = ‘Kamenev’
^person(1234567, ‘phone’) = ‘+74995555555
...Ina ia maua se su'esu'ega vave i le igoa fa'ai'u ma le igoa muamua, na matou faia le ^index key.
^index(‘Kamenev’, ‘Sergey’, 1234567) = 1Ina ia mafai ona ogatasi le database, e tatau ona tatou faʻaopopoina le tagata e pei o lenei:
TSTART
^person(1234567, ‘firstname’) = ‘Sergey’
^person(1234567, ‘lastname’) = ‘Kamenev’
^person(1234567, ‘phone’) = ‘+74995555555
^index(‘Kamenev’, ‘Sergey’, 1234567) = 1
TCOMMITE tusa ai, pe a tapeina e tatau foi ona tatou faʻaogaina se fefaʻatauaiga:
TSTART
Kill ^person(1234567)
ZKill ^index(‘Kamenev’, ‘Sergey’, 1234567)
TCOMMITI se isi faaupuga, o le faʻataunuʻuina o mea e manaʻomia e faʻalagolago atoa i luga o tauau o le tagata fai polokalame. Ae a oʻo mai i lalolagi, e masani lava, ona o lo latou tulaga maualalo.
3. Faaesea
O iinei e amata ai le vao. O le tele o tagata fa'aoga e galulue i le taimi lava e tasi i luga o fa'amaumauga e tasi, suia fa'amaumauga tutusa.
O le tulaga e faʻatusatusa i le tele o tagata faʻaoga e galulue i le taimi e tasi ma le faʻamaumauga tutusa ma taumafai e faia suiga i le tele o faila i le taimi e tasi.
O le database e tatau ona fa'avasega uma i le taimi moni. Mafaufau i totonu o kamupani ogaoga o loʻo i ai se tagata faʻapitoa e nafa ma le faʻatonutonuina o faʻasalalauga (mo le tuʻufaʻatasia o lala, foʻia feteʻenaʻiga, ma isi), ma o le database e tatau ona faia uma nei mea i le taimi moni, le lavelave o le galuega ma le saʻo o le mamanu fa'amaumauga ma le fa'ailoga o lo'o tautua ai.
E le mafai e le database ona malamalama i le uiga o gaioiga na faia e tagata faʻaoga ina ia aloese ai mai feeseeseaiga pe a latou galulue i luga o faʻamatalaga tutusa. E na'o le tasi le fefa'atauaiga e fete'ena'i ma le isi, pe fa'atino fa'asolosolo.
O le isi faʻafitauli o le taimi o le faʻataunuʻuina o se fefaʻatauaiga (aʻo leʻi faia), o le tulaga o le database atonu e le ogatasi, o lea e manaʻomia ai isi fefaʻatauaiga e le maua le avanoa i le tulaga le mautonu o le database, lea e ausia i faʻamaumauga fesoʻotaʻiga. i le tele o auala: fatuina ata, laina tele-versioning ma isi.
Pe a faʻatinoina fefaʻatauaiga i se tulaga tutusa, e taua mo i tatou ia aua neʻi faʻalavelave le tasi i le isi. O le meatotino lea o le faaesea.
O lo'o fa'amatalaina e le SQL 4 tulaga tu'ufua:
- FAITAU E LE FA'ATAUINA
- FAITAU FAITAU
- FAITAU FAATAU
- SERIALIZABLE
Se'i o tatou va'ava'ai i tulaga ta'itasi. O tau o le faʻatinoina o laʻasaga taʻitasi e faʻatupulaia toetoe lava faʻateleina.
FAITAU E LE FA'ATAUINA - o le tulaga aupito maualalo lea o le tu'uesea, ae i le taimi lava e tasi e sili ona vave. O fefa'atauaiga e mafai ona faitau suiga na faia e le tasi ma le isi.
FAITAU FAITAU o le isi tulaga o le fa'a'esea, o le fa'afitu. E le mafai e fefa'atauaiga ona faitau suiga a le tasi a'o le'i faia le tautinoga, ae e mafai ona latou faitau i so'o se suiga e faia pe a uma le tautinoga.
Afai ei ai a matou fefaʻatauaiga umi T1, i le taimi na faia ai faʻamatalaga i fefaʻatauaiga T2, T3 ... Tn, lea na galulue faʻatasi ma faʻamatalaga tutusa e pei o T1, pe a talosagaina faʻamatalaga i T1 o le a matou maua se iʻuga eseese i taimi uma. O lea tulaga e ta'ua o le faitau lē toe faia.
FAITAU FAATAU - i lenei tulaga faʻaesea matou te le maua le faʻalavelave o le faitau le toe faʻaaogaina, ona o le mea moni e faapea mo talosaga taʻitasi e faitau faʻamaumauga, o se ata o faʻamaumauga o faʻamaumauga e faia ma pe a toe faʻaaogaina i le fefaʻatauaiga lava e tasi, o faʻamaumauga mai le ata. e fa'aaogaina. Ae ui i lea, e mafai ona faitau faʻamatalaga phantom i lenei tulaga tuʻufua. E faasino lea i le faitauina o laina fou na fa'aopoopoina i fefa'atauaiga tutusa.
SERIALIZABLE - le maualuga maualuga o le insulation. O loʻo faʻaalia i le mea moni o faʻamatalaga e faʻaaogaina i soʻo se auala i se fefaʻatauaiga (faitau pe suia) e maua i isi fefaʻatauaiga naʻo le maeʻa o le fefaʻatauaiga muamua.
Muamua, seʻi o tatou vaʻai pe o iai le faʻaesea o gaioiga i se fefaʻatauaiga mai le filo autu. Tatou tatala 2 fa'amalama fa'amau.
Kill ^t
Write ^t(1)
2
TSTART
Set ^t(1)=2E leai se faaesea. O le tasi filo e iloa ai le mea o loʻo faia e le lona lua na tatalaina le fefaʻatauaiga.
Se'i va'ai pe va'ai fefa'ataua'iga o filo eseese le mea o lo'o tupu i totonu.
Tatou tatala 2 fa'amalama fa'amalama ma tatala 2 fefa'ataua'iga i le tutusa.
kill ^t
TSTART
Write ^t(1)
3
TSTART
Set ^t(1)=3
O fefa'atauaiga tutusa e va'aia fa'amaumauga a le tasi. O lea la, na matou maua le sili ona faigofie, ae faʻapea foʻi le tulaga faʻaesea sili ona vave, FAITAU UNCOMMITED.
I le faʻavae, e mafai ona faʻamoemoeina mo le lalolagi atoa, lea o le faʻatinoga o loʻo avea pea ma faʻamuamua.
Ae faʻapefea pe a tatou manaʻomia se maualuga maualuga o le faʻaesea i gaioiga i luga ole lalolagi?
O iinei e tatau ona e mafaufau pe aisea e manaʻomia ai le tuʻuesea ma pe faʻafefea ona latou galulue.
Ole maualuga maualuga ole tulaga, SERIALIZE, o lona uiga o le taunuuga o fefaʻatauaʻiga na faia faʻatasi e tutusa ma latou faʻasologa faʻasologa, lea e faʻamaonia ai le leai o ni faʻalavelave.
E mafai ona matou faia lenei mea e faʻaaoga ai loka atamai i le ObjectScript, lea e tele naua faʻaoga eseese: e mafai ona e faia masani, faʻaopoopoga, tele lokaina ma le poloaiga .
O tulaga tu'utasi maualalo o fefa'ataua'iga ua fuafuaina e fa'ateleina ai le saoasaoa o fa'amaumauga.
Se'i va'ai pe fa'afefea ona tatou ausia tulaga eseese o le tu'ufua e fa'aaoga ai loka.
O lenei tagata fa'afoe e mafai ai ona e ave e le gata o loka faʻapitoa e manaʻomia e sui ai faʻamaumauga, ae o loʻo taʻua o loka fefaʻasoaaʻi, lea e mafai ona ave ni filo faʻatasi pe a manaʻomia ona faitau faʻamatalaga e le tatau ona suia e isi faiga i le faagasologa o le faitauga.
O nisi faʻamatalaga e uiga i le lua-vaega poloka auala ile Rusia ma le Igilisi:
→
→
O le faigata o le taimi o se fefaʻatauaʻiga o le tulaga o le database atonu e le o gatasi, ae o lenei faʻamatalaga le fetaui e iloa atu i isi faiga. E faapefea ona aloese mai lenei mea?
I le faʻaaogaina o loka, o le a matou fatuina faʻamalama faʻaalia lea o le a tumau ai le tulaga o le database. Ma o avanoa uma i ia faamalama o le vaʻaia o le setete maliliega o le a pulea e loka.
Loka fefa'asoaa'i i luga o fa'amaumauga e tasi e mafai ona toe fa'aaogaina—e tele faiga e mafai ona ave ai. O loka nei e taofia ai isi faiga mai le suia o faʻamaumauga, i.e. o lo'o fa'aaogaina e fai ai fa'amalama o fa'amaumauga tumau.
O loka fa'apitoa e fa'aoga mo suiga o fa'amaumauga - e na'o le tasi le fa'agasologa e mafai ona ave sea loka. E mafai ona ave se loka faapitoa e:
- Soʻo se faʻagasologa pe afai o faʻamaumauga e leai se totogi
- Na'o le fa'agasologa o lo'o i ai se loka fa'asoa i luga o nei fa'amaumauga ma o le mea muamua na talosagaina se loka fa'apitoa.

O le vaapiapi o le faʻamalama vaʻaia, o le umi o isi faiga e tatau ona faʻatali mo ai, ae o le sili atu ona tumau le tulaga o le database i totonu e mafai.
READ_COMMITTED - o le ute o lenei tulaga o le tatou vaʻaia naʻo faʻamaumauga tuʻufaʻatasia mai isi filo. Afai o faʻamatalaga i se isi fefaʻatauaiga e leʻi faia, ona matou vaʻai lea i lona tuai.
O lenei mea e mafai ai ona tatou faʻatusaina le galuega nai lo le faʻatali mo le tatalaina o le loka.
A aunoa ma ni togafiti faʻapitoa, o le a le mafai ona tatou vaʻai i le tuai o faʻamaumauga i le IRIS, o lea e tatau ai ona tatou faʻaogaina loka.
E tusa ai, e tatau ona tatou faʻaogaina loka fefaʻasoaaʻi e faʻatagaina ai faʻamatalaga e faitau naʻo taimi e tutusa ai.
Fa'apea e iai la tatou tagata e fa'aoga tagata e fa'aliliuina tupe i le tasi ma le isi.
Taimi o le fesiitaiga mai le tagata 123 i le tagata 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)O le taimi e talosagaina ai le aofaʻi o tupe mai le tagata 123 aʻo leʻi totogiina le aitalafu e tatau ona faʻatasi ma se poloka faʻapitoa (e ala i le faaletonu):
LOCK +^person(123)
Write ^person(123)Ma afai e te manaʻomia le faʻaalia o le tulaga o le tala i lau lava tala, ona mafai lea ona e faʻaogaina se loka faʻasoa pe le faʻaaogaina uma:
LOCK +^person(123)#”S”
Write ^person(123)Ae peitaʻi, afai tatou te manatu o loʻo faʻatinoina faʻamaumauga faʻamaumauga e toetoe lava a vave (seʻi ou faamanatu atu ia te oe o le lalolagi o se fausaga sili atu ona maualalo nai lo se laulau faʻafesoʻotaʻi), ona faʻaitiitia lea o le manaʻoga mo lenei tulaga.
FAITAU FAATAU - O lenei tulaga tu'ufua e mafai ai mo le tele o faitauga o fa'amaumauga e mafai ona suia e ala i fefa'atauaiga fa'atasi.
E tusa ai, e tatau ona matou tuʻuina se loka faʻasoa i le faitauina o faʻamaumauga matou te suia ma loka faʻapitoa i faʻamaumauga matou te suia.
O le mea e lelei ai, o le LOCK operator e faʻatagaina oe e lisi auiliili uma loka talafeagai, lea e mafai ona tele, i se faʻamatalaga e tasi.
LOCK +^person(123, amount)#”S”
чтение ^person(123, amount)isi gaioiga (i le taimi nei o filo tutusa e taumafai e sui ^tagata(123, aofaʻi), ae le mafai)
LOCK +^person(123, amount)
изменение ^person(123, amount)
LOCK -^person(123, amount)
чтение ^person(123, amount)
LOCK -^person(123, amount)#”S”Pe a lisiina loka e tuueseese i koma, e ave faasolosolo, ae afai e te faia lenei mea:
LOCK +(^person(123),^person(242))ona ave uma ai lea i le taimi e tasi.
SAUNIGA - e tatau ona matou seti loka ina ia iu ai i fefaʻatauaiga uma e iai faʻamatalaga masani e faʻatinoina faʻasolosolo. Mo lenei faiga, o le tele o loka e tatau ona faʻapitoa ma ave i luga o vaega laiti o le lalolagi mo le faʻatinoga.
Afai tatou te talanoa e uiga i le totogiina o tupe i le lalolagi ^tagata, ona naʻo le SERIALIZE isolation level e talia, talu ai o tupe e tatau ona faʻaalu faʻasolosolo faʻasolosolo, a leai e mafai ona faʻaalu le aofaʻi tutusa i le tele o taimi.
4. Tumau
Sa ou faia su'ega i le tipiina malosi o le atigipusa e fa'aaoga
docker kill my-irisSa talia lelei e le faavae. E leai ni fa'afitauli na iloa.
iʻuga
Mo le lalolagi atoa, InterSystems IRIS o loʻo i ai le lagolago tau fefaʻatauaiga. E moni lava atomic ma faatuatuaina. Ina ia mautinoa le tumau o se faʻamaumauga e faʻavae i luga o le lalolagi, taumafaiga a le polokalame ma le faʻaogaina o fefaʻatauaiga e manaʻomia, talu ai e leai ni faʻalavelave faʻapipiʻi faʻapipiʻi e pei o ki mai fafo.
Ole tulaga tu'ufua ole lalolagi e aunoa ma le fa'aogaina o loka o le READ UNCOMMITED, ma a fa'aoga loka e mafai ona fa'amautinoa e o'o ile SERIALIZE level.
O le saʻo ma le saoasaoa o fefaʻatauaiga i luga o le lalolagi e matua faʻalagolago lava i le tomai o le tagata fai polokalame: o le tele o loka fefaʻasoaaʻi lautele e faʻaaoga pe a faitau, o le maualuga o le tulaga o le vavae ese, ma le sili atu ona vaapiapi loka faʻapitoa, o le vave foi lea o le faʻatinoga.
puna: www.habr.com
