Acta et machinationes potestates eorum

Transactions

Transactio est ordo operationum in notitia habentis principium et finem.

Transactio sequentialis exsecutio operationum legere et scribere est. Finis transactionis esse potest vel mutationes servatas (committere) vel mutationes rescindere (rollback). Relate ad database, plures petitiones constant, quae tamquam unica petitione tractantur.

Transactions satisfacere debet ACID proprietatibus

Atomicity. Res aut omnino perficitur aut nulla est.

CONSTANTIA. Cum rem perficiendam, restrictiones datae (exempli gratia, angustiae in datorum) violari non debent. Constantia importat quod ratio ab uno recto ad alium statum transferetur.

Separatio. Transactiones in parallelas se mutuo non movere debent, exempli gratia, notitiarum mutationis ab alia transactione adhibitarum. Effectus rerum parallelarum exsecutio idem esse debet ac si res consequenter exsecutae sunt.

Sustentationem. Postquam commissum est, mutationes amitti non debent.

Transactio log

Tabularium thesaurorum mutationes per transactiones factas, atomicity ac stabilitatem notitiarum in eventu systematis defectus praestat

Stipes continet bona quae ante data sunt et post mutata transactione. Praemissae stipes technicae scribere requirit addito stipes ingressu circa valores priorum ante initium, et de valoribus finalibus post transactionem perficitur. In eventu subitae terminationis systematis, inverso ordine trabem datorum legit et mutationes a transactionibus factas destruit. Cum rem intermissam offendit, datorum exsequitur et mutat circa ipsam stipem. Cum in statu in tempore deficiendi, datorum in anteriori ordine trabem legit et mutationes rerum gestarum reddit. Hoc modo stabilitas transactionum quae iam commissa est et atomicity transactionis interruptae conservatur.

Simpliciter re-exsecutioni incassum transactions non sufficit ad recuperationem.

Exemplum. Usor $500 in ratione habet et usor ab machina removere iudicat. Duae res in progressu sunt. Primus legit valorem staterae et si satis pecuniae in libra sunt, pecuniam usori prodit. Secunda subtrahit quantitatem debitam ex trutina. Dicamus systema increpuit et prima operatio defecit, sed secunda fecit. Hoc in casu, pecuniam usori re- ferre non possumus quin systema in statum pristinum cum positivis statera restituat.

Nulla elit

Read Committed

Sordida problema Read est transactionis intermediam eventum alterius transactionis legere potest.

Exemplum. Libra initialis valor $0 est. T1 adiungit ad stateram $50. T2 legit valorem statera ($50). E1 rejicit mutationes et exitus. T2 supplicium pergit cum data statera falsa.

Solutio est certa notitia legere (Read Commissum), quae vetat legere data per transactionem mutata. Si transactio A certa notitiarum copia mutatur, transactio B, cum haec data accessio, negotium A ad perficiendum exspectare cogitur.

Iterarium Read

Amissa Updates quaestio. T1 servat mutationes super T2 mutationes.

Exemplum. Libra initialis valor $0 est et duae transactiones eodem tempore stateram reficiunt. T1 et T2 lege libra $0. T2 deinde addit $200 ad $0 et exitum servat. T1 addit $100 ad $0 et servat exitum. Postremum exitum est $100 pro $CCC.

Irreprecabilis legitur quaestio. Lectio eadem notitia saepe redit ad varia bona.

Exemplum. T1 legit statera valorem of $0. T2 deinde addit $50 ad libram et terminos. T1 iterum notitia legit et discrepantiam a praecedenti eventu invenit.

Repeatable Read efficit ut secunda lectio eodem redit. Data una transactione legebantur, in aliis mutari non possunt, donec transactio perficiatur. Si negotium A perlegit certum praefinitum notitiae, negotium B, cum haec notitia accesserit, negotium A ad perficiendum exspectare cogatur.

Lectio iussit (Serializable)

Phantasma legit problema. Duae interrogationes selectae datae certa conditione fundatae diversos valores reddunt.

Exemplum. T1 numerum ab omnibus utentibus petit, quorum statera maior est quam $0, sed minor quam $100. T2$ $1 ex usore detrahit cum libra $101. T1 rogatu petit.

Lectio iussit (Serializable). Trans- fectae sunt ut omnino sequentiae. Prohibetur renovare vel addere monumenta quae intra terminos petitionis cadunt. Si negotium A notitia ex tota mensa petierit, tota mensa congelata est in aliis negotiis donec transactio A compleat.

Scheduler

Ordinem ponit quo operationes faciendae sunt in rebus parallelis.

Certam planitiem solitudo praebet. Si secundum ordinem operationum non dependet, huiusmodi operationes sunt commutativae. Lectio operationes et operationes diversae notitiae sunt commutativae. Lege-scribere et scribe-scribere res commutativae non sunt. Munus schedulae est operationes parallelas gerendis intermittere, ut effectus exsecutionis sequentiae transactionum exsecutio aequiparatur.

Mechanismi pro moderandis parallelis jobs (Concurrency Control)

Optimistica innititur certaminibus detectis et resolventibus, pessimisticis innititur obsistentibus conflictationibus oriendis.

In eu approximatione, multi utentes habent exemplaria notitiarum quae in promptu sunt. Prima persona ad edendas mutationes perficiendas servat, dum ceterae mutationes mergere debent. Algorithmus eu permittit conflictum fieri, sed ratio certaminum convalescere debet.

Cum accessu pessimistico primus user notitias capiendi alios ne data recipiat. Si certamina rara sunt, sapiens est consilium eu eligere, cum altiorem gradum concursus praebet.

Obfirmo

Si una transactiones notitias claudat, aliae transactiones exspectare debent donec cum data accessione reserata sit.

Truncus obduci potest in datorum, tabularum, ordinis, aut attributorum. Communes Obfirmo eadem data per plures transactiones imponi potest, omnia negotia (inclusa uno imposito) legere, vetat modificationem et captivitatem exclusivam. Claustrum exclusivum ab una tantum transactione imponi potest, actiones impositionis transactionis quaslibet actiones ab aliis vetat.

Deadlock condicio est ubi transactiones finiunt in statu pendenti quod indefinite durat.

Exemplum. Prima res expectat datam a secundo dimitti, secundus exspectat datam a primo dimitti.

Optima solutio quaestionis deadlock permittit fieri deadlock, sed tunc systema revolutum unum e rebus quae in deadlock implicantur, recuperat.

Deadlocks perscrutantes certis intervallis. Una methodi detectionis tempore, id est, considera quod inciderunt deadlock, si nimis longum gestum est ad perficiendum. Cum morticinum invenerit, una e transactionibus revolvitur, ut alias transactions in deadlock ad perficiendos permittat. Electio victimae in valorem transactionum vel antiquitatis suae fundari potest (Wait-Die et Wound-wait technas).

Omnis res T indicatione assignata TS initium continens tempus transactionis.

Exspecta-Die.

si TS(Ti) < TS(Tj)tum Ti manet, aliter Ti volvitur et iterum incipit eodem indicatione.

Si iuvenis transactionis subsidium comparavit et maior transactionis idem petit auxilium, maior transactio expectare permittitur. Si maior transactionis subsidium acquisivit, tunc minor res postulans ut subsidio revolvetur.

Vulnus-expectandum.

si TS(Ti) < TS(Tj)tum Tj volvitur et iterum incipit eodem indicatione, aliter Ti exspectans.

Si minor transactionis auxilium quaesivit et maior transactionis idem petit, tunc minor transactio revolvetur. Si maior transactionis subsidium acquisivit, tunc minor res postulans ut subsidia expectare liceat. Praecedentia substructio victimae selectio vetat deadlocks, sed revolvitur negotiorum quae non sunt clausa. Problema est quod transactiones pluries revolvi possunt quia... res maior diuturnitatem obtineat.

Solutio pessimam problemati deadlock non permittit transactionem incipere exsequi, si periculum est de mortificatione.

Ad detectionem deadlock, graphi constructum est (graphi expectans, exspectatio-graphi), cuius vertices sunt res gestae, et margines diriguntur ab transactionibus exspectantibus emissionem notitiarum ad transactionem quae haec notitia cepit. A deadlock putatur accidisse si graphum ansam habeat. Insidiandi graphi construendi, praesertim in datorum distributis, ratio sumptuosa est.

Duo-phase densis - impedit deadlocks capiendo omnes facultates ab re adhibita in principio transactionis et dimittens eas in fine

Omnes operationes claudentes unam antecedere debent primam reserationem. Duos gradus habet - Crescens Phase, per quem manus cumulant, et Shrinkium Phase, per quod manus emittuntur. Si unum ex facultatibus capere non potest, transactio inchoatur. Fieri potest ut transactionis opes debitas acquirere non possit, verbi gratia, si plures transactiones pro eisdem opibus contendant.

Duo-phase committere efficit ut commissio fiat in omnibus replicas datorum

Quisque datorum notitias de notitia intrat quae in sextarium mutabuntur et coordinatori OK respondet (Voting Phase). Postquam omnes responderunt OK, coordinator signum mandat omnibus ad committendum officiosus. Ministri post patrationem OK respondent, si saltem unus OK non respondet, tunc coordinator signum mittit ut mutationes omnibus servientibus remittant (Perfectio Phase).

Indicatione temporis modum

An senior transaction revolvitur, cum conanti notitias accedere ad minorem transactionem

Quisque re tribuitur indicatione TS respondet initium temporis omissum. Si Ti maior Tjtum TS(Ti) < TS(Tj).

Cum transaction revolvitur, nova indicatione assignatur. Quisque data objectum Q implicatum in transactione duobus pittaciis notatum est. W-TS(Q) - indicatione minimi transactionis quae feliciter expletum est recordum super Q. R-TS(Q) - indicatione minimi rei, quae faciebat legere record on Q.

Cum re T petitiones legere data Q Duo sunt optiones.

si TS(T) < W-TS(Q), id est, notitia a minori transactione renovata, deinde transactionem T volvitur.

si TS(T) >= W-TS(Q)ergo lectio profertur et R-TS(Q) Ita decet MAX(R-TS(Q), TS(T)).

Cum re T petit data mutationes Q Duo sunt optiones.

si TS(T) < R-TS(Q)hoc est, notitia iam a iuniore negotio perlecta et, si fiat mutatio, orietur conflictus. Transactio T volvitur.

si TS(T) < W-TS(Q)id est, transactionem noviorem valorem rescribere conatur, transactionem T revolvit. In ceteris casibus mutatur et fit W-TS(Q) fit aequalis TS(T).

Nullam lacinia purus eget velit ullamcorper facilisis. Maiores transactiones a recentioribus pendent, ideo cycli non sunt in graphio insidiante. Deadlocks nullae sunt, quia transactiones non exspectantur sed statim revolvuntur. Cascada reverti possunt. Si Ti devolvit et Tj Lego data quod mutatum Titum Tj debet etiam revolvere. Si simul Tj iam commissum erit violatio stabilitatis principii.

Una solutionum lapsus mobilium. Res omnes scribentes operationes in fine complet, et aliae operationes illius operationi ad perficiendum exspectanda sunt. Trans- storias committendas antequam legerentur.

Thomam scribunt regulam β€” variatio notae methodi in qua notitia transactionis minoris renovatae prohibetur ne overscripta ab uno antiquiore.

Transactio T petit data mutationes Q. si TS(T) < W-TS(Q), id est, transactionem noviorem valorem rescribere nititur, transaction T non revolvitur ut in methodo indicationis.

Source: www.habr.com