ஒரு transaction என்பது ஒற்றை, பிரிக்க முடியாத அலகாகக் கருதப்படும் செயல்பாடுகளின் தொகுப்பாகும் — அவை அனைத்தும் ஒன்றாக வெற்றியடைகின்றன (COMMIT) அல்லது அனைத்தும் ஒன்றாகத் தோல்வியடைகின்றன (ROLLBACK). Transactions ACID properties ஐ உறுதி செய்கின்றன, தோல்விகள் அல்லது ஒரே நேரத்தில் நிகழும் அணுகலுடன் கூட தரவு சரியாகவும் முரண்பாடற்றதாகவும் இருப்பதை உறுதி செய்கின்றன.
ஒரு transaction — அனைத்தும்-அல்லது-எதுவுமில்லை
BEGIN; -- start the transaction
UPDATE accounts SET balance = balance - 100 WHERE id = 1; -- debit
UPDATE accounts SET balance = balance + 100 WHERE id = 2; -- credit
COMMIT; -- both succeed → save permanently
-- if anything fails: ROLLBACK → undo EVERYTHING (no partial transfer)
இதன் உன்னதமான எடுத்துக்காட்டு: ஒரு பணப் பரிமாற்றம். debit மற்றும் credit இரண்டும் நிகழ வேண்டும், அல்லது எதுவுமே நிகழக்கூடாது — இல்லையெனில் பணம் இழக்கப்படுகிறது அல்லது உருவாக்கப்படுகிறது. ஒரு transaction இதை உறுதி செய்கிறது: பிழை ஏற்படும்போது, ROLLBACK அனைத்து மாற்றங்களையும் ரத்து செய்து, எதுவும் நடக்காதது போல டேட்டாபேஸை விட்டுவிடுகிறது.
ACID — நான்கு உத்தரவாதங்கள்
A — ATOMICITY → all operations succeed or all fail (no partial transactions)
C — CONSISTENCY → the database moves from one valid state to another (constraints hold)
I — ISOLATION → concurrent transactions don't interfere (as if run sequentially)
D — DURABILITY → once committed, changes survive crashes (persisted permanently)
இந்த properties தான் relational டேட்டாபேஸ்களை முக்கியமான தரவுக்கு நம்பகமானதாக ஆக்குகின்றன.
Atomicity ஏன் முக்கியம் (முக்கிய நன்மை)
Without transactions, a failure mid-way leaves data in an inconsistent state:
money debited from one account but not credited to another → data corruption.
Atomicity (all-or-nothing) prevents this — the cornerstone of data integrity for
any multi-step operation (transfers, orders with line items, etc.).
Isolation மற்றும் concurrency
When many transactions run concurrently, ISOLATION controls what they can see of
each other's uncommitted changes. Isolation LEVELS (Read Committed, Repeatable Read,
Serializable) trade off consistency vs performance — higher isolation = more correct
but more locking/contention. (A deeper topic on its own.)
இது ஏன் முக்கியம்
Transactions மற்றும் ACID properties நம்பகமான டேட்டாபேஸ்களுக்கு அடிப்படையானவை — தோல்விகள் மற்றும் ஒரே நேரத்தில் நிகழும் அணுகலுக்கு இடையேயும் தரவு சரியாகவும் முரண்பாடற்றதாகவும் இருப்பதை உறுதி செய்வது இவைதான், இது முக்கியமான தரவைக் கையாளும் எந்தவொரு பயன்பாட்டுக்கும் இன்றியமையாதது, எனவே இவற்றைப் புரிந்துகொள்வது முக்கியம்.
முக்கிய மதிப்பு atomicity (அனைத்தும்-அல்லது-எதுவுமில்லை): பல படிகளை உள்ளடக்கிய எந்தவொரு செயல்பாடும் (ஒரு பணப் பரிமாற்றம், line items உடன் ஒரு ஆர்டரை உருவாக்குதல், தொடர்புடைய பதிவுகளைப் புதுப்பித்தல்) முழுமையாக வெற்றியடைய வேண்டும் அல்லது அறவே நிகழக்கூடாது — இல்லையெனில் ஒரு செயல்பாட்டின் நடுவில் ஏற்படும் தோல்வி டேட்டாபேஸை சிதைந்த, முரண்பட்ட நிலையில் விட்டுவிடுகிறது (உன்னதமான எடுத்துக்காட்டு: பணம் debit செய்யப்பட்டது ஆனால் credit செய்யப்படவில்லை).
Transactions இதை COMMIT/ROLLBACK மூலம் உறுதி செய்கின்றன, இது பல படி செயல்பாடுகளில் தரவு ஒருமைப்பாட்டுக்கு இன்றியமையாததாக ஆக்குகிறது.
முழு ACID properties ஐப் புரிந்துகொள்வது — Atomicity (அனைத்தும்-அல்லது-எதுவுமில்லை), Consistency (செல்லுபடியான நிலைகள்), Isolation (concurrent transactions தலையிடாது), மற்றும் Durability (commit செய்யப்பட்ட மாற்றங்கள் crashes ஐ தாங்கி நிற்கின்றன) — relational டேட்டாபேஸ்கள் ஏன் முக்கியமான தரவுக்கு (நிதி, ஆர்டர்கள், சரக்கு) நம்பப்படுகின்றன என்பதை விளக்குகிறது.
Isolation concurrency நடத்தையைக் கட்டுப்படுத்துகிறது (isolation levels ஒருமைப்பாட்டை செயல்திறனுக்காக மாற்றுகின்றன) என்பதை அறிவது ஆழமான concurrency தலைப்புகளுடன் இணைக்கிறது.
தரவு ஒருமைப்பாடு நம்பகமான பயன்பாடுகளுக்கு முக்கியமாக இருப்பதால், மற்றும் transactions (atomicity மற்றும் ACID உத்தரவாதங்களை வழங்குவது) பல படி செயல்பாடுகள் தரவைச் சிதைக்காமலும், தோல்விகள் மற்றும் concurrency இன் கீழ் டேட்டாபேஸ் முரண்பாடற்றதாக இருப்பதையும் உறுதி செய்யும் வழிமுறையாக இருப்பதால், transactions மற்றும் ACID ஐப் புரிந்துகொள்வது நம்பகமான தரவுடன் பயன்பாடுகளை உருவாக்குவதற்கு முக்கியமான, அடிப்படை அறிவாகும் — இது டேட்டாபேஸ் நம்பகத்தன்மையின் மூலக்கல்லாகவும், டேட்டாபேஸ்கள் சரியான தன்மையை எவ்வாறு உறுதி செய்கின்றன என்பதைப் புரிந்துகொள்வதை வெளிப்படுத்தும் ஒரு பொதுவான, முக்கியமான நேர்காணல் தலைப்பாகவும் உள்ளது.
