ACID మీ డేటాబేస్ డేటాను కాపాడుతుంది
డేటాబేస్ డిజైన్ యొక్క ACID నమూనా డేటాబేస్ సిద్ధాంతంలో పురాతన మరియు అత్యంత ముఖ్యమైన అంశాల్లో ఒకటి. అటామిక్సిటీ, స్థిరత్వం, ఐసోలేషన్ మరియు మన్నిక: ప్రతి డేటాబేస్ మేనేజ్మెంట్ సిస్టమ్ సాధించడానికి ప్రయత్నించాలి, ఇది ముందుకు నాలుగు గోల్స్ సెట్. ఈ నాలుగు లక్ష్యాలను ఏవీ సాధించలేకపోయిన రిలేషనల్ డేటాబేస్ నమ్మదగినదిగా పరిగణించబడదు. ఈ లక్షణాలను కలిగి ఉన్న ఒక డేటాబేస్ ACID- కంప్లైంట్గా పరిగణించబడుతుంది.
ACID నిర్వచిస్తుంది
ఈ లక్షణాల్లో ప్రతి ఒక్కదానిని పరిశీలించడానికి కొంత సమయం తీసుకుందాం:
- అటామైటిటి డేటాబేస్ మార్పులు ఒక "అన్ని లేదా ఏమీలేదు" నియమాన్ని పాటించాలి. ప్రతి లావాదేవీ "పరమాణువు" అని చెప్పబడింది. లావాదేవీలో ఒక భాగం విఫలమైతే మొత్తం లావాదేవీ విఫలమవుతుంది. ఏ DBMS, ఆపరేటింగ్ సిస్టమ్ లేదా హార్డ్వేర్ వైఫల్యం ఉన్నప్పటికీ డేటాబేస్ మేనేజ్మెంట్ సిస్టమ్ లావాదేవీల పరమాణు స్వభావాన్ని నిర్వహిస్తుంది.
- క్రమబద్ధమైన డేటా మాత్రమే డేటాబేస్కు వ్రాయబడిందని స్థిరంగా చెబుతుంది. కొన్ని కారణాల వలన, ఒక లావాదేవీ డేటాబేస్ యొక్క అనుగుణ్యత నియమాలను ఉల్లంఘిస్తున్నట్లు అమలు చేస్తే, మొత్తం లావాదేవీ తిరిగి వెనక్కి తీసుకోబడుతుంది మరియు డేటాబేస్ ఆ నిబంధనలకు అనుగుణమైన స్థితిలోకి పునరుద్ధరించబడుతుంది. మరోవైపు, ఒక లావాదేవి విజయవంతంగా అమలు చేయబడితే, అది ఒక రాష్ట్రం నుండి డేటాను తీసుకొంటుంది, ఇది నియమాలకు అనుగుణంగా ఉన్న మరొక రాష్ట్రం నియమాలకు అనుగుణంగా ఉంటుంది.
- ఏకకాలంలో సంభవించే పలు లావాదేవీలు ప్రతి ఇతర అమలును ప్రభావితం చేయకూడదు. ఉదాహరణకు, మేరీ వేరొక లావాదేవీని జారీచేసే సమయంలో డేటాబేస్కు వ్యతిరేకంగా ఒక లావాదేవిని జారీ చేస్తే, రెండు లావాదేవీలు డేటాబేస్లో ఏకాంత పద్ధతిలో పనిచేయాలి. డేటాబేస్ మేరీ యొక్క అమలు చేయడానికి ముందు జో యొక్క మొత్తం లావాదేవీని జరపాలి, లేదా వైస్ వెర్సా. ఇది జో యొక్క లావాదేవిని మరీ యొక్క లావాదేవీలో కొంతభాగంగా ప్రభావం చూపించే ఇంటర్మీడియట్ డేటాను చదవడాన్ని నిరోధిస్తుంది, అది చివరికి డేటాబేస్కు కట్టుబడి ఉండదు. ఒంటరి ఆస్తి ఏ లావాదేవీని అమలు చేస్తుందో లేదో గమనించండి - లావాదేవీలు ఒకదానితో ఒకటి జోక్యం చేసుకోవు
- డేటాబేస్కు కట్టుబడి ఉన్న ఏదైనా లావాదేవీ కోల్పోరని మన్నిక నిర్ధారిస్తుంది. ఏదైనా తదుపరి సాఫ్ట్ వేర్ లేదా హార్డ్వేర్ వైఫల్యంతో సంబంధం లేకుండా కట్టుబడి లావాదేవీల పునరుద్ధరణకు ఉపయోగపడే డేటాబేస్ బ్యాకప్లు మరియు లావాదేవీల లాగ్ల ద్వారా డ్యూలబిలిటీ నిర్ధారించబడుతుంది.
ప్రాక్టీసులో ఎసిఐడి ఎలా పనిచేస్తుంది
డేటాబేస్ నిర్వాహకులు ACID అమలు చేయడానికి అనేక వ్యూహాలను ఉపయోగిస్తారు.
అటామైటిని మరియు మన్నికను అమలు చేయడానికి ఉపయోగించబడినది, వ్రాయడం-ముందుకు లాగింగ్ (WAL), దీనిలో ఏ లావాదేవీ వివరాలు మొదట ఒక చర్యను తిరిగి రూపొందించడం మరియు తొలగింపు సమాచారం రెండింటిని కలిగి ఉంటాయి. ఇది ఏ విధమైన డేటాబేస్ వైఫల్యం ఇవ్వబడిందో నిర్ధారిస్తుంది, డేటాబేస్ తనిఖీ చేయవచ్చు లాగ్ మరియు డేటాబేస్ రాష్ట్ర దాని కంటెంట్లను సరిపోల్చండి.
పరమాణుత్వం మరియు మన్నికను పరిష్కరించడానికి ఉపయోగించే మరొక పద్ధతి నీడ-పేజింగ్ , దీనిలో డేటా మార్చబడినప్పుడు నీడ పేజీ సృష్టించబడుతుంది. ప్రశ్న యొక్క నవీకరణలు డేటాబేస్లోని వాస్తవ డేటా కంటే కాకుండా నీడ పేజీకి వ్రాయబడతాయి. ఎడిట్ పూర్తయినప్పుడు మాత్రమే డేటాబేస్ సవరించబడుతుంది.
మరో వ్యూహం రెండు-దశల నిబద్ధత ప్రోటోకాల్గా పిలువబడుతుంది, ముఖ్యంగా పంపిణీ చేయబడిన డేటాబేస్ వ్యవస్థల్లో ఉపయోగపడుతుంది. ఈ ప్రోటోకాల్ డేటాను రెండు దశలుగా మార్చడానికి ఒక అభ్యర్థనను వేరు చేస్తుంది: ఒక కమిట్ అభ్యర్థన దశ మరియు ఒక నిబద్ధత దశ. అభ్యర్ధన దశలో, లావాదేవీ ద్వారా ప్రభావితమైన నెట్వర్క్లో అన్ని DBMS లు తాము స్వీకరించామని మరియు లావాదేవీని నిర్వహించడానికి సామర్థ్యాన్ని కలిగి ఉండాలి. అన్ని సంబంధిత DBMS ల నుండి నిర్ధారణ ఒకసారి అందుకున్నప్పుడు, కట్టుబాటు దశ పూర్తి అవుతుంది, దీనిలో డేటా వాస్తవానికి సవరించబడుతుంది.