我的手机是什么型号| 吃什么水果对皮肤好又美白| 裹腹是什么意思| 印是什么意思| 嗓子疼吃什么消炎药| 胰腺癌有什么症状| 疟疾是什么意思| 小肠与什么相表里| 05年属什么生肖| hbalc是什么意思| 拍胸片挂什么科室| 浅表性胃炎吃什么药好使| 前列腺在人体什么位置| 心肌病是什么病| 压力等于什么| 公主是什么意思| 谷丙转氨酶偏高吃什么好| 老婆饼是什么馅| 3.17是什么星座| 附件炎吃什么药好| 531是什么意思| 什么是知青| 月经来了喝红糖水有什么好处| 为什么会尿路感染| 七月初七是什么星座| 爬山膝盖疼是什么原因| 园丁是什么意思| 熬夜流鼻血是什么原因| 没有淀粉可以用什么代替| 百香果和什么不能一起吃| 湿疹怎么治用什么药膏| 冰字五行属什么| 股骨头坏死挂什么科| 什么花能吃| 肺部钙化灶是什么意思| 什么酒不能喝打一生肖| 人大代表是什么| 载体是什么意思| 险象环生是什么意思| 李宇春父亲是干什么的| 生活补贴是什么意思| 慢性非萎缩性胃炎伴糜烂是什么意思| 足下生辉是什么意思| 不什么| 农历五月十八是什么星座| legrand是什么牌子| 高挑是什么意思| 屎壳郎长什么样子| 属猪的跟什么属相最配| 裂变是什么意思| 吃钙片有什么好处| 早搏吃什么药最管用| 胃息肉吃什么药| 耳朵流血是什么原因| 吃东西感觉口苦是什么原因| ns什么意思| 中国国酒是什么酒| 什么是一桌餐| 上头了是什么意思| 手黄是什么原因| 羊肉不能和什么一起吃| 骨折不能吃什么东西| 阴囊潮湿是什么症状| 什么人不能喝蜂蜜| 梦见钱是什么预兆| 广州有什么区| 容易长口腔溃疡是什么原因| 脑供血不足什么原因| 奇葩是什么意思| pl是什么| 生肖本命带红花是什么生肖| 姑爹是什么意思| 郑板桥是什么生肖| 细菌感染发烧吃什么药| 不良反应是什么意思| 肝囊性灶是什么意思| 寓教于乐什么意思| 穷书生是什么生肖| 小孩咳嗽有痰吃什么药| 龟奴是什么| 包粽子的叶子叫什么| 梦见前夫是什么兆头| 煎服是什么意思| 补充电解质喝什么水| 名落孙山是什么意思| 8月12号是什么星座| aba是什么意思| 名节是什么意思| 眉心长痘痘什么原因| 月牙消失了是什么原因| 女性尿道出血是什么原因引起的| 管型尿是什么意思| 孙悟空的真名叫什么| saa偏高说明什么| 男人结扎有什么好处| 间断性是什么意思| 辛辣食物指的是什么| tp是什么病毒| 邪魅一笑是什么意思| 肠胃湿热吃什么药| diss是什么意思| herb是什么意思| 南辕北辙什么意思| 腹痛吃什么药| 一什么鹿角| 早上头晕是什么原因| 腌鱼放什么调料| 同病相怜是什么意思| 什么颜色的包包招财并聚财| 杨梅不能和什么一起吃| 两侧肋骨疼是什么原因| 车厘子什么时候成熟| 胎儿肠管扩张是什么原因造成的| ms是什么单位| 孙策是孙权的什么人| 咖喱是什么做的| 见性成佛是什么意思| 什么是走婚| impress是什么意思| 梦见相亲是什么征兆| 显怀是什么意思| loa胎位是什么意思| 本来无一物何处惹尘埃什么意思| 肋骨下面疼是什么原因| 什么叫卒中| 吃什么补锌| 女人为什么不会怀孕| 老年痴呆吃什么药| 深圳市市长是什么级别| 什么龟最贵| 黄芪有什么功效| 什么颜色属金| 称心如意是什么意思| 小弟一阵阵的疼什么原因| 胃不舒服吃什么食物好| 两点水的字和什么有关| 屋里有蝙蝠有什么预兆| 夹腿有什么坏处吗| 爱什么稀罕| 指甲凹陷是什么原因引起的| 黑油是什么油| 含羞草长什么样| 蛐蛐吃什么| 养老院靠什么挣钱| 中气下陷是什么意思| 陈慧琳属什么生肖| 流口水吃什么药最好| 男孩学什么技术最好| 下巴长闭口是什么原因| 子宫粘连是什么原因引起的| 吃羊肉不能吃什么水果| 12月1日是什么日子| 什么是蜘蛛痣图片| 大腿根部内侧瘙痒用什么药膏| 吃什么东西会长胖| mj什么意思| 丑未戌三刑 会发生什么| 梦见西红柿什么意思| 蝙蝠属于什么类| 春宵一刻值千金什么意思| 周围神经病是什么病| 纵欲是什么意思| 蟑螂喜欢什么环境| 女人什么时候排卵期| 补肾壮阳吃什么药好| 额头上长痘痘是什么原因引起的| 微信是什么时候开始有的| 林彪为什么反革命| 低压偏高有什么危害| 屿字五行属什么| 抗锯齿是什么意思| 补休是什么意思| 考试前吃什么早餐| vcr是什么意思| 念珠菌用什么药最好| 水杯用什么材质的好| 为什么警察叫条子| 女性吃辅酶q10有什么好处| 初字五行属什么| 鸡蛋为什么这么便宜| 碱和小苏打有什么区别| 湿寒吃什么中成药| 盆腔炎有什么明显症状| 二杠四星是什么军衔| 肚子左边是什么部位| 眼花是什么原因| soleil是什么意思| 小孩肚子疼是什么原因| 男人阴虚吃什么药好| 盆腔炎吃什么消炎药| 等闲识得东风面下一句是什么| 男人容易出汗是什么原因造成的| 什么是靶向治疗| 始终是什么意思| 苹果对身体有什么好处| 向日葵什么时候播种| otc是什么意思| 什么时候洗头是最佳时间| 碘缺乏会导致什么疾病| 2003是什么年| 阿尔茨海默症吃什么药| 灰指甲用什么药好| 长春有什么大学| 一什么二什么| 契丹族现在是什么族| 眼黄瘤什么方法治疗最好| 吞金为什么会死| 5.2号是什么星座| 小孩肚脐周围疼是什么原因| 减脂吃什么主食| 凉拌什么菜好吃| 至少是什么意思| eod是什么意思| 秘密是什么意思| 脚发热是什么原因| 唱歌有什么好处| 猫眼石是什么材质| ECG是什么| 手脚麻木挂什么科| 草莓的种子是什么| 夏至吃什么| 梦特娇属于什么档次| 肌肉抖动是什么原因| 转呼啦圈有什么好处| 四川酸菜是什么菜| 拍拖是什么意思| 开心的动物是什么生肖| 什么人容易得多囊卵巢| 月球表面的坑叫什么| 线上考试是什么意思| 上善若水什么意思| 4月8日是什么星座| 黄马褂是什么意思| 中国反导弹系统叫什么| 眼睛过敏用什么眼药水| 康复治疗是做什么的| 老班章是什么茶| 二甲双胍什么时候吃| 梦见自己准备结婚是什么意思| 晚上夜尿多吃什么药| 梦到死人是什么预兆| 卖腐是什么意思| 经常饿是什么原因| 上火耳鸣吃什么药最好| 梅长苏结局是什么| 杜甫的诗被称为什么| 尿蛋白阴性是什么意思| 什么是社会| 三千年前是什么朝代| hcd是什么意思| 上元节是什么节日| 去医院看舌头挂什么科| 梦见骆驼是什么意思| 为什么没有西京| 骞是什么意思| 集训是什么| 心阳不足吃什么中成药| 带状疱疹能吃什么| 孕妇梦见猪是什么意思| 朱元璋为什么不传位给朱棣| 立夏吃什么食物| ais什么意思| 原生态是什么意思| 阴部痒是什么原因| 百度Перейти до вм?сту

人民日报评论员:努力创造属于新时代的光辉业绩

Матер?ал з В?к?пед?? — в?льно? енциклопед??.
百度 他们的结合,带着强烈的政治经济色彩,搞的是一场“权色交易”。

Транза?кц?я (англ. transaction) — група посл?довних операц?й з базою даних, яка ? лог?чною одиницею роботи з даними. Транзакц?я може бути виконана або ц?лком ? усп?шно, дотримуючись ц?л?сност? даних ? незалежно в?д ?нших транзакц?й, що йдуть паралельно, або не виконана зовс?м, ? тод? вона не може справити н?якого ефекту. Транзакц?? оброблюються транзакц?йними системами, в процес? роботи яких створю?ться ?стор?я транзакц?й. Транзакц?? з базою даних використовуються для досягнення наступних ц?лей:

  1. Забезпечення над?йних робочих елемент?в, як? дозволяють правильно в?дновити роботу у випадку збо?в та збер?гати ц?л?сн?сть бази даних у випадку системних в?дмов, коли виконання операц?й зупиня?ться (повн?стю або частково) ? б?льш?сть операц?й над базою даних залишаються незавершеними з нез'ясованим статусом.
  2. Для забезпечення розд?льного доступу для процес?в, що одночасно звертаються до бази даних. При в?дсутност? ?золяц?? операц?й результати, отриман? процесами, можуть бути помилковими.

Розр?зняють посл?довн? (звичайн?), паралельн? ? розпод?лен? транзакц??. Розпод?лен? транзакц?? вбачають використання б?льш н?ж одн??? транзакц?йно? системи ? потребують набагато б?льш складно? лог?ки (наприклад, two-phase commit — двофазний протокол ф?ксац?? транзакц??). Також, в деяких системах реал?зован? автономн? транзакц??, або п?д-транзакц??, як? ? автономною частиною батьк?всько? транзакц??.

Приклад транзакц??

[ред. | ред. код]

Приклад: необх?дно переказати з банк?вського рахунку номер 5 на рахунок номер 7 суму в 10 грошових одиниць. Цього можна досягти, наприклад, наведеною посл?довн?стю д?й:

  • Почати транзакц?ю: прочитати баланс на рахунку номер 5
зменшити баланс на 10 грошових одиниць: зберегти новий баланс рахунку номер 5
прочитати баланс на рахунку номер 7
зб?льшити баланс на 10 грошових одиниць: зберегти новий баланс рахунку номер 7
  • Зак?нчити транзакц?ю

Ц? д?? являють собою лог?чну одиницю роботи ?переказ суми м?ж рахунками?, ?, таким чином, ? транзакц??ю. Якщо перервати дану транзакц?ю, наприклад, в середин?, ? не анулювати вс? зм?ни, легко залишити власника рахунку номер 5 без 10 одиниць, тод? як власник рахунку номер 7 ?х не отрима?.

Властивост? транзакц?й

[ред. | ред. код]

Одним з найб?льш розповсюджених набор?в вимог до транзакц?й ? транзакц?йних систем ? наб?р ACID (англ. Atomicity, Consistency, Isolation, Durability). Вимоги ACID були в головному сформульован? наприк?нц? 70-х рок?в Джимом ?ре?м[1]. Разом з тим, ?снують спец?ал?зован? системи з ослабленими транзакц?йними властивостями[2].

Atomicity — Атомарн?сть

[ред. | ред. код]
Докладн?ше: Атомарн?сть

Атомарн?сть гаранту?, що н?яка транзакц?я не буде заф?ксована в систем? частково. Будуть або виконан? вс? ?? складов? операц??, або не виконано жодно?. Оск?льки на практиц? неможливо одночасно ? атомарно виконати всю посл?довн?сть операц?й усередин? транзакц??, вводиться поняття ?в?дкат? (англ. rollback): якщо транзакц?ю не вда?ться повн?стю завершити, результати вс?х ?? до сих п?р виконаних д?й будуть в?дм?нен?, ? система повернеться до стану на початок транзакц??.

Consistency — Узгоджен?сть

[ред. | ред. код]

Одна з найскладн?ших ? неоднозначних властивостей з четв?рки ACID. У в?дпов?дност? до ц??? вимоги, система знаходиться в узгодженому стан? до початку транзакц?? ? повинна залишитись в узгодженому стан? п?сля завершення транзакц??. Не можна плутати вимогу узгодженост? з вимогами ц?л?сност? (англ. integrity). Останн? правила ? б?льш вузькими ?, багато в чому, специф?чн? для реляц?йних СКБД: ? вимоги ц?л?сност? тип?в (англ. domain integrity), ц?л?сност? посилань (англ. referential integrity), ц?л?сност? сутностей (англ. entity integrity), як? не можуть бути порушен? ф?зично в силу особливостей реал?зац?? системи.

Узгоджен?сть ? б?льш широким поняттям. Наприклад, в банк?вськ?й систем? може ?снувати вимога р?вност? суми, що спису?ться з одного рахунку, сум?, що зачислю?ться на ?нший. Це б?знес-правило ? воно не може бути гарантовано т?льки перев?рками ц?л?сност?, його повинн? дотриматись програм?сти при написанн? коду транзакц?й. Якщо будь-яка транзакц?я викона? списання, але не викона? зачислення, то система залишиться в некоректному стан? ? властив?сть узгодженост? буде порушена.

Нарешт?, ще одне зауваження стосу?ться того, що п?д час виконання транзакц?? узгоджен?сть не потребу?ться. В нашому приклад?, списання ? зачислення будуть, скор?ш за все, двома р?зними п?доперац?ями ? м?ж ?х виконанням всередин? транзакц?? буде видно неузгоджений стан системи. Однак не треба забувати, що при виконанн? вимоги ?золяц??, жодним ?ншим транзакц?ям ця неузгоджен?сть не буде видна. А атомарн?сть гаранту?, що транзакц?я або буде повн?стю завершена, або жодна з операц?й транзакц?? не буде виконана. Тим самим ця пром?жна неузгоджен?сть ? прихованою.

Isolation — ?зольован?сть

[ред. | ред. код]

П?д час виконання певно? транзакц??, транзакц??, як? в?дбуваються паралельно, не повинн? впливати на ?? результат. Ця властив?сть не дотриму?ться на р?вн? ?зольованост? Repeatable Read та нижче.

Durability — Над?йн?сть

[ред. | ред. код]

Незалежно в?д проблем на нижн?х р?внях (наприклад, при знеструмленн? системи чи збоях в обладнанн?), зм?ни, зроблен? транзакц??ю, яка усп?шно завершена, повинн? залишитись збереженими п?сля повернення системи до роботи. ?ншими словами, якщо користувач отримав п?дтвердження в?д системи, що транзакц?я виконана, в?н може бути впевнений, що зм?ни, як? в?н зробив, не будуть в?дм?нен? через будь-який зб?й.

Р?вн? ?золяц?? транзакц?й

[ред. | ред. код]

В ?деал? транзакц?? р?зних користувач?в повинн? виконуватись так, щоб створювалась ?люз?я, що користувач поточно? транзакц?? — ?диний. Однак в реальност?, з м?ркувань продуктивност? ? для виконания деяких спец?альних задач, СКБД забезпечують певн? р?вн? ?золяц?? транзакц?й.

Р?вн? ? описаними в порядку зб?льшення ?зольованост? транзакц?й ?, в?дпов?дно, над?йност? роботи з даними.

  • 0 — Читання неп?дтверджених даних (брудне читання) (Read Uncommitted, Dirty Read) — читання незаф?ксованих зм?н як сво?? транзакц??, так ? паралельних транзакц?й. Нема? гарант??, що дан?, зм?нен? ?ншими транзакц?ями, не будуть в будь-який момент зм?нен? в результат? ?х в?дката, тому таке читання ? потенц?йним джерелом помилок. Неможливими ? втрачен? зм?ни (lost changes), можливими ? неповторюван? читання ? фантоми.
  • 1 — Читання п?дтверджених даних (Read Committed) — читання вс?х зм?н сво?? транзакц?? ? заф?ксованих зм?н паралельних транзакц?й. Втрачен? зм?ни ? брудне читання не дозволяються, можливими ? неповторюване читання ? фантоми.
  • 2 — Повторюване читання (Repeatable Read, Snapshot) — читання вс?х зм?н сво?? транзакц??, будь-як? зм?ни, внесен? паралельними транзакц?ями п?сля початку сво??, ? недоступними. Втрачен? зм?ни, брудне ? неповторюване читання не ? можливими; можлив? фантоми.
  • 3 — Впорядкований — (Serializable) — впорядкован? транзакц??. Результат паралельного виконання впорядковано? транзакц?? з ?ншими транзакц?ями повинен бути лог?чно екв?валентний результату ?х будь-якого посл?довного виконання. Проблеми синхрон?зац?? не виникають.

Чим вище р?вень ?золяц??, тим б?льше потребу?ться ресурс?в, щоб його забезпечити. В?дпов?дно, п?двищення ?зольованост? може приводити до зниження швидкост? виконання паралельних транзакц?й, що ? ?платою? за п?двищення над?йност?.

В СКБД р?вень ?золяц?? транзакц?й можна вибрати як для вс?х транзакц?й разом, так ? для одно? конкретно? транзакц??. За умовчанням в б?льшост? баз даних використову?ться р?вень 1 (Read Committed). Р?вень 0 використову?ться в основному для в?дстеження зм?н тривалих транзакц?й або для читання даних, що р?дко зм?нюються. Р?вн? 2 и 3 використовуються при п?двищених вимогах до ?зольованост? транзакц?й.

Реал?зац?я

[ред. | ред. код]

Повноц?нна реал?зац?я р?вн?в ?золяц?? ? властивостей ACID ? нетрив?альною задачею. Обробка вх?дних даних призводить до велико? к?лькост? маленьких зм?н, включаючи оновлення як самих таблиць, так ? ?ндекс?в. Ц? зм?ни потенц?йно можуть зазнати поразку: зак?нчилось м?сце на диску, операц?я займа? забагато часу (timeout) ? т. д. Система повинна у випадку невдач? коректно повернути базу даних у стан до транзакц??.

Перш? комерц?йн? СКБД (наприклад, IBM DB2), скористались виключно блокуванням доступу до даних для забезпечення властивостей ACID. Але велика к?льк?сть блокувань призводить до сутт?вого зменшення продуктивност?. ? два популярних с?мейства р?шень ц??? проблеми, як? знижують к?льк?сть блокувань:

В обох випадках, блокування повинн? бути розставлен? на всю ?нформац?ю, яка оновлю?ться. В залежност? в?д р?вня ?золяц?? ? ?мплементац??, блокування запис?в також розставляються на ?нформац?ю, яка була прочитана транзакц??ю.

При упереджуюч?й журнализац??, яка використову?ться в Sybase ? MS SQL Server до верс?? 2005, вс? зм?ни записуються до журналу, ? т?льки п?сля усп?шного завершення — до бази даних. Це дозволя? СКБД повернутись до робочого стану п?сля неоч?куваного пад?ння системи. Т?ньов? стор?нки м?стять коп?? тих стор?нок бази даних на початок транзакц??, в яких трапляються зм?ни. Ц? коп?? активуються п?сля усп?шного завершення. Хоча т?ньов? стор?нки легше реал?зуються, упереджуюча журнал?зац?я б?льш ефективна[4]

Подальший розвиток технолог?й керування базами даних прив?в до появи безблоковних технолог?й. ?дея контроля за паралельним доступом з допомогою часових м?ток (timestamp-based concurrency control) була розвинена ? привела до появи багатоверс?йно? арх?тектури MVCC. Ц? технолог?? не потребують н? журнализац?? зм?н, ан?ж т?ньових стор?нок. Арх?тектура, що реал?зована в Oracle 7.х ? вище, запису? стар? верс?? стор?нок в спец?альний сегмент в?дкату, але вони все ще доступн? для читання. Якщо транзакц?я при читанн? попада? на стор?нку, часова м?тка яко? нов?ше за початок читання, дан? беруться з сегменту в?дката (тобто використову?ться ?стара? верс?я). Для п?дтримки тако? роботи ведеться журнал транзакц?й, але на в?дм?ну в?д ?упереджуючо? журнал?зац???, в?н не м?стить даних. Робота з ним склада?ться з трьох лог?чних крок?в:

  1. Записати нам?р провести деяк? операц??
  2. Виконати завдання, коп?юючи ориг?нали стор?нок, що зм?нюються, до сегменту в?дката
  3. Записати, що все зроблено без помилок

Журнал транзакц?й в комб?нац?? з сегментом в?дката (область, в як?й збер?га?ться коп?я вс?х даних, що зм?нюються в ход? транзакц??) гаранту? ц?л?сн?сть даних. У випадку збою запуска?ться процедура в?дновлення, яка перев?ря? окрем? його записи наступним чином:

  • Якщо запис ? пошкодженим, то зб?й трапився п?д час проставлення в?дм?тки в журнал?. Значить, н?чого важливого не загубилось, ?гнору?мо цю помилку.
  • Якщо вс? записи пом?чен? як усп?шно виконан?, то зб?й трапився м?ж транзакц?ями, тут також нема? втрат.
  • Якщо в журнал? ? незак?нчена транзакц?я, то зб?й трапився п?д час запису на диск. У цьому випадку ми в?дновлю?мо стару верс?ю даних з сегменту в?дката.

Firebird взагал? не ма? ан? журналу зм?н, ан? сегменту в?дката, а реал?зу? MVCC, записуючи нов? верс?? рядк?в таблиць прямо до активного простору даних. Так само робить ? MS SQL 2005. Теоретично це да? максимальну ефективность при паралельн?й робот? з даними, але ц?ною ? необх?дн?сть ?збирання см?ття?, тобто видалення старих ? вже не потр?бних верс?й даних.

Див. також

[ред. | ред. код]

Прим?тки

[ред. | ред. код]
  1. Gray, Jim. The Transaction Concept: Virtues and Limitations. Proceedings of the 7th International Conference on Very Large Databases: pages 144—154, 1981(англ.)
  2. Advanced Transaction Models and Architectures [Арх?вовано 2025-08-14 у Wayback Machine.](англ.)
  3. Семейство алгоритмов ARIES. Арх?в ориг?налу за 20 вересня 2008. Процитовано 6 травня 2014. [Арх?вовано 2025-08-14 у Wayback Machine.]
  4. Gray, J., McJones, P., Blasgen, M., Lindsay, B., Lorie, R., Price, T., Putzolu, F., and Traiger, I. The recovery manager of the System R database manager. ACM Comput. Surv. 13, 2 (June 1981).


痰湿瘀阻是什么症状 红斑狼疮吃什么药最好 为什么要延迟退休 云南的特产是什么 地级市市长是什么级别
四肢发麻是什么原因 彼岸花是什么花 星光是什么意思 促甲状腺素高是什么意思 和南圣众是什么意思
pashmina是什么面料 肝囊肿饮食要注意什么 韩国欧巴是什么意思 肝血不足吃什么食补最快 什么是iga肾病
过敏性皮肤用什么护肤品比较好 引火归元是什么意思 处男是什么 幻和是什么意思 外阴裂口用什么药
医生为什么用肥皂洗手hcv7jop9ns1r.cn close是什么意思jasonfriends.com 鹰头皮带是什么牌子hcv9jop0ns8r.cn 吃什么最补肾hcv8jop9ns1r.cn 肾结石可以吃什么hcv7jop5ns0r.cn
1.7号是什么星座96micro.com 宠溺是什么意思hcv9jop2ns0r.cn 脚后跟疼为什么hcv8jop0ns1r.cn 膀胱钙化是什么意思hcv8jop8ns7r.cn 摸头是什么意思hcv9jop3ns1r.cn
深入交流是什么意思hcv9jop0ns8r.cn 花金龟吃什么hcv9jop5ns4r.cn 日语斯国一是什么意思clwhiglsz.com 09年的牛是什么命hcv7jop9ns8r.cn 拔冗是什么意思hcv9jop2ns8r.cn
碳水化合物是什么意思hcv8jop9ns2r.cn 烤鱼用什么鱼hcv8jop3ns5r.cn 普工是什么hcv8jop2ns6r.cn 炖牛腩放什么调料hcv8jop3ns9r.cn 补骨头吃什么最好hcv9jop3ns3r.cn
百度