transaction management කියන්නෙ ව්්යාපාර කටයුතු වලට අදාල applications develop කරද්දි අතිශයින්ම වැදගත් වෙන දෙයක්.මූල්්ය,බැංකු සහ e-commerce වැනි ක්ශේත්රයන්හි යෙදෙන බොහෝමයක් applications රදා පවතින්නෙ මේ සංකලප මත.අපි අද ඉන් කිහිපයක් ගැන ටිකක් හොයල බලමු.මේ ලිපි මාලාව කොටස් කිහිපයකින් ඉදිරිපත් කරන්නයි කල්පනා කලේ.
- transaction එකක් කියන්නෙ මොකද්ද? මොනවද මේ ACID ?
- transactional applications develop කරද්දි එන ගැටලු මොනවාද? transaction management middleware වැදගත් වන්නේ ඇයි?
- transaction processing application එකක සාමාන්්ය ආකෘතිය මොකක්ද? මේ ආකෘතියේ විවිධ කොටස් වල කාර්යභාරය මොකක්ද?
- transaction management systems හා බැදි සංකල්ප මොනවාද?
- transaction management විශයෙහි ලා සැලකෙන standards මොනවාද?
enterprise applications වලදි නිතරම,,, application එකේ කොටස් ගනනාවක් පුරා පැතිරී පවතින දත්ත වලට සමගාමී ලෙස (concurrently) access කරන්න වෙනවා,එම දත්ත මත විවිද operations-ක්රියාවලි සිදු කිරීමට.එහෙම කරද්දි ඒ දත්ත වල පරිපූර්නභාවය(integrity) රැක ගන්න ඕනා, විශේෂයෙන් මෙන්න මේ තත්ව යටතේදී,
- application components ගනනාවක් මගින් එකම දත්ත මූලයක් (resource එකක්) access කරන කොට.
- පැතිරී පවතින දත්ත මූලයන් (resource) ගනනාවක් ,එකම application component එකෙන් access කරන කොට.
- data resources රැසක් මත යැපෙන, පැතිර පවතින application components ගනනාවක් පුරා අනු ක්රියාවලීන් දිවෙන ආකාරයෙන් පිහිටන transactions වලදී ..
- එම අනු ක්රියාවලීන්(operations) එකක් පසු එකක් ලෙස හෝ,සමාන්තර ලෙස ක්රියා කරවීමට නිසි ලෙස කාලය වෙන් කරගත යුතුයි වගේම,පාලනයක් තිබිය යුතුයි.(coodination and synchronization)
"""A transaction is a unit of work """ transaction එකකට මෙන්න මේ ගති ගුන තියෙන්න ඕනේ.
- Atomicity - transaction එකක් එකක් ඉවර කරනව නම්, ඉවර වෙන්නම කරන්න ඕනා.කර ගන්න බැරි වුනොත් එච්චරයි.අතර මැදි තත්ව ගනන් ගන්නෙ නෑ. එක්කො 1, නැත්නම් 0 වගේ.කිසිම සැකයක් තියෙන්න බෑ. ඒවගෙම transaction එකක් fail වුනාම ඒකට සම්බන්ද වුනු සියලු data නැවත පෙර තත්වයට ගෙන යා යුතුයි.
- consistency - data මත අප විසින් විචල්ය නොවිය යුතු යැයි define කරනු ලැබූ (integrity constraints) උදා: primary keys,foriegn keys,not null,unique constraints properties transaction එක පුරා දිගටම ආරක්ශා කර ගත යුතු වෙනවා. එනම් transaction එකකින් පසු data තිබිය යුත්තේ ස්ථාවර මට්ටමකයි.තව දුරටත් කියනවා නම් transaction එකකින් අනතුරුව system එක පරිවර්තනය වෙන්නේ එක්තරා ස්ථාවර මට්ටමක සිට තවත් ස්ථාවර මට්ටමකටයි.
- Isolation -එකම පරිසරයක් තුල සමගාමීව execute වෙන transactions වුනත් එකිනෙක මත බලපැමක් ඇති නොවන ආකාරයට ස්වාධීනව සිදු විය යුතුයි.[1] එනම් transaction එකක් අතරතුරදී එහි අතරමැදි තත්වය (state) අනෙකුත් transactions වලට නිරාවරනය නොවිය යුතුයි. [2] එකම දත්තයක් මත එකවිට සම ගාමී transactions දෙකක් සිදු විය නොහැකියි.මෙය ඉටු කර ගැනීම සඳහා DBMS විසින් යොදා ගනු ලබන්නේ Locking කියා ක්රම ශිල්පයක්.
- Durability -transaction එකකින් පසු එහි බල පෑම පද්ධතිය මත බල පැවැත්විය යුතුයි.
transactions ගැන තවත් කරුනු අලුත් post එකකින් කතා කරමු.
අචිනි
No comments:
Post a Comment