CAP సిద్ధాంతం పంపిణీ వ్యవస్థల సిద్ధాంతానికి మూలస్తంభం. వాస్తవానికి, దాని చుట్టూ ఉన్న వివాదాలు తగ్గుముఖం పట్టవు: దానిలోని నిర్వచనాలు కానానికల్ కాదు మరియు ఖచ్చితమైన రుజువు లేదు... అయినప్పటికీ, రోజువారీ ఇంగితజ్ఞానం యొక్క స్థానాలపై గట్టిగా నిలబడి, సిద్ధాంతం నిజమని మేము అకారణంగా అర్థం చేసుకున్నాము.
"P" అనే అక్షరం యొక్క అర్థం మాత్రమే స్పష్టంగా లేదు. క్లస్టర్ విభజించబడినప్పుడు, కోరమ్ చేరే వరకు ప్రతిస్పందించకూడదా లేదా అందుబాటులో ఉన్న డేటాను తిరిగి ఇవ్వాలా అని అది నిర్ణయిస్తుంది. ఈ ఎంపిక ఫలితాలపై ఆధారపడి, సిస్టమ్ CP లేదా APగా వర్గీకరించబడుతుంది. కాసాండ్రా, ఉదాహరణకు, క్లస్టర్ సెట్టింగులపై కాకుండా, ప్రతి నిర్దిష్ట అభ్యర్థన యొక్క పారామితులపై ఆధారపడి, ఏ విధంగానైనా ప్రవర్తించవచ్చు. కానీ సిస్టమ్ "P" కాకపోతే మరియు అది విడిపోతే, అప్పుడు ఏమిటి?
ఈ ప్రశ్నకు సమాధానం కొంతవరకు ఊహించనిది: CA క్లస్టర్ విభజించబడదు.
ఇది ఏ విధమైన క్లస్టర్ విభజించలేనిది?
అటువంటి క్లస్టర్ యొక్క అనివార్యమైన లక్షణం భాగస్వామ్య డేటా నిల్వ వ్యవస్థ. చాలా సందర్భాలలో, SAN ద్వారా కనెక్ట్ చేయడం అంటే, SAN అవస్థాపనను నిర్వహించగల సామర్థ్యం ఉన్న పెద్ద సంస్థలకు CA పరిష్కారాల వినియోగాన్ని పరిమితం చేయడం. బహుళ సర్వర్లు ఒకే డేటాతో పనిచేయాలంటే, క్లస్టర్డ్ ఫైల్ సిస్టమ్ అవసరం. ఇటువంటి ఫైల్ సిస్టమ్లు HPE (CFS), వెరిటాస్ (VxCFS) మరియు IBM (GPFS) పోర్ట్ఫోలియోలలో అందుబాటులో ఉన్నాయి.
ఒరాకిల్ RAC
రియల్ అప్లికేషన్ క్లస్టర్ ఎంపిక మొదటిసారిగా 2001లో Oracle 9i విడుదలతో కనిపించింది. అటువంటి క్లస్టర్లో, అనేక సర్వర్ ఉదాహరణలు ఒకే డేటాబేస్తో పని చేస్తాయి.
ఒరాకిల్ క్లస్టర్డ్ ఫైల్ సిస్టమ్ మరియు దాని స్వంత పరిష్కారం - ASM, ఆటోమేటిక్ స్టోరేజ్ మేనేజ్మెంట్ రెండింటితోనూ పని చేయగలదు.
ప్రతి కాపీ దాని స్వంత పత్రికను ఉంచుతుంది. లావాదేవీ ఒక ఉదాహరణ ద్వారా అమలు చేయబడుతుంది మరియు కట్టుబడి ఉంటుంది. ఒక ఉదాహరణ విఫలమైతే, మనుగడలో ఉన్న క్లస్టర్ నోడ్లలో ఒకటి (ఉదాహరణలు) దాని లాగ్ను చదివి, కోల్పోయిన డేటాను పునరుద్ధరిస్తుంది - తద్వారా లభ్యతను నిర్ధారిస్తుంది.
అన్ని సందర్భాలు వాటి స్వంత కాష్ని నిర్వహిస్తాయి మరియు ఒకే పేజీలు (బ్లాక్లు) ఒకే సమయంలో బహుళ సందర్భాల కాష్లలో ఉంటాయి. అంతేకాకుండా, ఒక ఉదాహరణకి పేజీ అవసరమైతే మరియు అది మరొక ఉదాహరణ యొక్క కాష్లో ఉంటే, అది డిస్క్ నుండి చదవడానికి బదులుగా కాష్ ఫ్యూజన్ మెకానిజంను ఉపయోగించి దాని పొరుగువారి నుండి పొందవచ్చు.
కానీ ఒక సందర్భంలో డేటాను మార్చాల్సిన అవసరం ఉంటే ఏమి జరుగుతుంది?
ఒరాకిల్ యొక్క విశిష్టత ఏమిటంటే దీనికి ప్రత్యేకమైన లాకింగ్ సేవ లేదు: సర్వర్ అడ్డు వరుసను లాక్ చేయాలనుకుంటే, లాక్ రికార్డ్ నేరుగా లాక్ చేయబడిన అడ్డు వరుస ఉన్న మెమరీ పేజీలో ఉంచబడుతుంది. ఈ విధానానికి ధన్యవాదాలు, ఒరాకిల్ మోనోలిథిక్ డేటాబేస్లలో పనితీరు ఛాంపియన్: లాకింగ్ సేవ ఎప్పుడూ అడ్డంకిగా మారదు. కానీ క్లస్టర్ కాన్ఫిగరేషన్లో, అటువంటి ఆర్కిటెక్చర్ తీవ్రమైన నెట్వర్క్ ట్రాఫిక్ మరియు డెడ్లాక్లకు దారి తీస్తుంది.
రికార్డ్ లాక్ చేయబడిన తర్వాత, ఆ రికార్డ్ను నిల్వ చేసే పేజీ ప్రత్యేక హోల్డ్ను కలిగి ఉందని అన్ని ఇతర సందర్భాలకు ఒక ఉదాహరణ తెలియజేస్తుంది. మరొక సందర్భంలో అదే పేజీలో రికార్డ్ను మార్చాల్సిన అవసరం ఉన్నట్లయితే, అది పేజీకి మార్పులు చేసే వరకు వేచి ఉండాలి, అంటే మార్పు సమాచారం డిస్క్లోని జర్నల్కు వ్రాయబడుతుంది (మరియు లావాదేవీ కొనసాగుతుంది). అనేక కాపీల ద్వారా పేజీని వరుసగా మార్చడం కూడా జరగవచ్చు, ఆపై పేజీని డిస్క్కి వ్రాసేటప్పుడు ఈ పేజీ యొక్క ప్రస్తుత సంస్కరణను ఎవరు నిల్వ చేస్తున్నారో మీరు కనుగొనవలసి ఉంటుంది.
వేర్వేరు RAC నోడ్లలో ఒకే పేజీలను యాదృచ్ఛికంగా అప్డేట్ చేయడం వలన డేటాబేస్ పనితీరు ఒక్కసారిగా కంటే క్లస్టర్ పనితీరు తక్కువగా ఉండే స్థాయికి పడిపోతుంది.
Oracle RAC యొక్క సరైన ఉపయోగం డేటాను భౌతికంగా విభజించడం (ఉదాహరణకు, విభజించబడిన టేబుల్ మెకానిజంను ఉపయోగించడం) మరియు ప్రతి సెట్ విభజనలను ప్రత్యేక నోడ్ ద్వారా యాక్సెస్ చేయడం. RAC యొక్క ముఖ్య ఉద్దేశ్యం క్షితిజ సమాంతర స్కేలింగ్ కాదు, కానీ తప్పు సహనాన్ని నిర్ధారించడం.
ఒక నోడ్ హృదయ స్పందనకు ప్రతిస్పందించడం ఆపివేస్తే, దానిని గుర్తించిన నోడ్ మొదట డిస్క్లో ఓటింగ్ విధానాన్ని ప్రారంభిస్తుంది. తప్పిపోయిన నోడ్ ఇక్కడ గుర్తించబడకపోతే, నోడ్లలో ఒకటి డేటా రికవరీ బాధ్యతను తీసుకుంటుంది:
- తప్పిపోయిన నోడ్ యొక్క కాష్లో ఉన్న అన్ని పేజీలను "స్తంభింపజేస్తుంది";
- తప్పిపోయిన నోడ్ యొక్క లాగ్లను (పునరావృతం) చదువుతుంది మరియు ఈ లాగ్లలో నమోదు చేయబడిన మార్పులను మళ్లీ వర్తింపజేస్తుంది, అదే సమయంలో ఇతర నోడ్లు మార్చబడుతున్న పేజీల యొక్క ఇటీవలి సంస్కరణలను కలిగి ఉన్నాయో లేదో తనిఖీ చేస్తుంది;
- పెండింగ్లో ఉన్న లావాదేవీలను వెనక్కి తీసుకుంటుంది.
నోడ్ల మధ్య మారడాన్ని సులభతరం చేయడానికి, ఒరాకిల్ సేవ యొక్క భావనను కలిగి ఉంది - వర్చువల్ ఉదాహరణ. ఒక ఉదాహరణ బహుళ సేవలను అందించగలదు మరియు ఒక సేవ నోడ్ల మధ్య కదలగలదు. డేటాబేస్ యొక్క నిర్దిష్ట భాగాన్ని (ఉదాహరణకు, క్లయింట్ల సమూహం) అందించే అప్లికేషన్ ఉదాహరణ ఒక సేవతో పని చేస్తుంది మరియు నోడ్ విఫలమైనప్పుడు డేటాబేస్ యొక్క ఈ భాగానికి బాధ్యత వహించే సేవ మరొక నోడ్కి వెళుతుంది.
లావాదేవీల కోసం IBM ప్యూర్ డేటా సిస్టమ్స్
DBMS కోసం క్లస్టర్ సొల్యూషన్ బ్లూ జెయింట్ పోర్ట్ఫోలియోలో 2009లో కనిపించింది. సైద్ధాంతికంగా, ఇది "రెగ్యులర్" పరికరాలపై నిర్మించబడిన సమాంతర సిస్ప్లెక్స్ క్లస్టర్ యొక్క వారసుడు. 2009లో, DB2 ప్యూర్స్కేల్ సాఫ్ట్వేర్ సూట్గా విడుదల చేయబడింది మరియు 2012లో, IBM లావాదేవీల కోసం ప్యూర్ డేటా సిస్టమ్స్ అనే ఉపకరణాన్ని అందించింది. ఇది Analytics కోసం ప్యూర్ డేటా సిస్టమ్స్తో అయోమయం చెందకూడదు, ఇది పేరు మార్చబడిన Netezza తప్ప మరేమీ కాదు.
మొదటి చూపులో, ప్యూర్స్కేల్ ఆర్కిటెక్చర్ ఒరాకిల్ RAC మాదిరిగానే ఉంటుంది: అదే విధంగా, అనేక నోడ్లు సాధారణ డేటా నిల్వ వ్యవస్థకు అనుసంధానించబడి ఉంటాయి మరియు ప్రతి నోడ్ దాని స్వంత మెమరీ ప్రాంతాలు మరియు లావాదేవీ లాగ్లతో దాని స్వంత DBMS ఉదాహరణను అమలు చేస్తుంది. కానీ, ఒరాకిల్ వలె కాకుండా, DB2 db2LLM* ప్రాసెస్ల సెట్ ద్వారా ప్రాతినిధ్యం వహించే ప్రత్యేక లాకింగ్ సేవను కలిగి ఉంది. క్లస్టర్ కాన్ఫిగరేషన్లో, ఈ సేవ ఒక ప్రత్యేక నోడ్లో ఉంచబడుతుంది, దీనిని సమాంతర సిస్ప్లెక్స్లో కప్లింగ్ ఫెసిలిటీ (CF) అని మరియు స్వచ్ఛమైన డేటాలో PowerHA అని పిలుస్తారు.
PowerHA కింది సేవలను అందిస్తుంది:
- లాక్ మేనేజర్;
- ప్రపంచ బఫర్ కాష్;
- ఇంటర్ప్రాసెస్ కమ్యూనికేషన్స్ ప్రాంతం.
PowerHA నుండి డేటాబేస్ నోడ్లకు మరియు వెనుకకు డేటాను బదిలీ చేయడానికి, రిమోట్ మెమరీ యాక్సెస్ ఉపయోగించబడుతుంది, కాబట్టి క్లస్టర్ ఇంటర్కనెక్ట్ తప్పనిసరిగా RDMA ప్రోటోకాల్కు మద్దతు ఇవ్వాలి. PureScale ఈథర్నెట్ ద్వారా Infiniband మరియు RDMA రెండింటినీ ఉపయోగించవచ్చు.
నోడ్కు పేజీ అవసరమైతే మరియు ఈ పేజీ కాష్లో లేకుంటే, నోడ్ గ్లోబల్ కాష్లోని పేజీని అభ్యర్థిస్తుంది మరియు అది లేనట్లయితే మాత్రమే, దానిని డిస్క్ నుండి చదువుతుంది. ఒరాకిల్ వలె కాకుండా, అభ్యర్థన PowerHAకి మాత్రమే వెళుతుంది మరియు పొరుగు నోడ్లకు కాదు.
ఒక ఉదాహరణ అడ్డు వరుసను మార్చబోతున్నట్లయితే, అది దానిని ప్రత్యేకమైన మోడ్లో లాక్ చేస్తుంది మరియు అడ్డు వరుస భాగస్వామ్య మోడ్లో ఉన్న పేజీని లాక్ చేస్తుంది. అన్ని తాళాలు గ్లోబల్ లాక్ మేనేజర్లో నమోదు చేయబడ్డాయి. లావాదేవీ పూర్తయినప్పుడు, నోడ్ లాక్ మేనేజర్కి సందేశాన్ని పంపుతుంది, ఇది సవరించిన పేజీని గ్లోబల్ కాష్కి కాపీ చేస్తుంది, లాక్లను విడుదల చేస్తుంది మరియు ఇతర నోడ్ల కాష్లలో సవరించిన పేజీని చెల్లుబాటు చేస్తుంది.
సవరించిన అడ్డు వరుస ఉన్న పేజీ ఇప్పటికే లాక్ చేయబడి ఉంటే, లాక్ మేనేజర్ మార్పు చేసిన నోడ్ యొక్క మెమరీ నుండి సవరించిన పేజీని చదువుతుంది, లాక్ని విడుదల చేస్తుంది, ఇతర నోడ్ల కాష్లలో సవరించిన పేజీని చెల్లుబాటు చేస్తుంది మరియు పేజీ లాక్ని అభ్యర్థించిన నోడ్కు ఇవ్వండి.
“డర్టీ”, అంటే మార్చబడింది, పేజీలను సాధారణ నోడ్ నుండి మరియు పవర్హెచ్ఎ (కాస్ట్అవుట్) నుండి డిస్క్కి వ్రాయవచ్చు.
ప్యూర్స్కేల్ నోడ్లలో ఒకటి విఫలమైతే, విఫలమైన సమయంలో ఇంకా పూర్తి చేయని లావాదేవీలకు మాత్రమే రికవరీ పరిమితం చేయబడుతుంది: పూర్తయిన లావాదేవీలలో ఆ నోడ్ ద్వారా సవరించబడిన పేజీలు PowerHAలో గ్లోబల్ కాష్లో ఉంటాయి. నోడ్ క్లస్టర్లోని ఒక సర్వర్లో తగ్గిన కాన్ఫిగరేషన్లో పునఃప్రారంభించబడుతుంది, పెండింగ్లో ఉన్న లావాదేవీలను వెనక్కి తీసుకుంటుంది మరియు లాక్లను విడుదల చేస్తుంది.
PowerHA రెండు సర్వర్లపై నడుస్తుంది మరియు మాస్టర్ నోడ్ దాని స్థితిని సమకాలీనంగా ప్రతిబింబిస్తుంది. ప్రాథమిక PowerHA నోడ్ విఫలమైతే, క్లస్టర్ బ్యాకప్ నోడ్తో పనిచేయడం కొనసాగిస్తుంది.
వాస్తవానికి, మీరు ఒకే నోడ్ ద్వారా సెట్ చేసిన డేటాను యాక్సెస్ చేస్తే, క్లస్టర్ యొక్క మొత్తం పనితీరు ఎక్కువగా ఉంటుంది. PureScale డేటా యొక్క నిర్దిష్ట ప్రాంతం ఒక నోడ్ ద్వారా ప్రాసెస్ చేయబడుతుందని కూడా గమనించవచ్చు, ఆపై ఆ ప్రాంతానికి సంబంధించిన అన్ని లాక్లు PowerHAతో కమ్యూనికేట్ చేయకుండా నోడ్ ద్వారా స్థానికంగా ప్రాసెస్ చేయబడతాయి. కానీ అప్లికేషన్ మరొక నోడ్ ద్వారా ఈ డేటాను యాక్సెస్ చేయడానికి ప్రయత్నించిన వెంటనే, కేంద్రీకృత లాక్ ప్రాసెసింగ్ పునఃప్రారంభించబడుతుంది.
90% రీడ్ మరియు 10% రైట్ వర్క్లోడ్పై IBM యొక్క అంతర్గత పరీక్షలు, వాస్తవ-ప్రపంచ ఉత్పత్తి పనిభారానికి చాలా పోలి ఉంటాయి, దాదాపు 128 నోడ్ల వరకు లీనియర్ స్కేలింగ్ను చూపుతాయి. పరీక్ష పరిస్థితులు, దురదృష్టవశాత్తు, బహిర్గతం చేయబడలేదు.
HPE నాన్స్టాప్ SQL
హ్యూలెట్-ప్యాకర్డ్ ఎంటర్ప్రైజ్ పోర్ట్ఫోలియో దాని స్వంత అత్యంత అందుబాటులో ఉన్న ప్లాట్ఫారమ్ను కూడా కలిగి ఉంది. ఇది నాన్స్టాప్ ప్లాట్ఫారమ్, 1976లో టెన్డం కంప్యూటర్స్ ద్వారా మార్కెట్లోకి విడుదల చేయబడింది. 1997లో, కంపెనీని కాంపాక్ కొనుగోలు చేసింది, ఇది 2002లో హ్యూలెట్-ప్యాకర్డ్తో విలీనమైంది.
నాన్స్టాప్ క్లిష్టమైన అప్లికేషన్లను రూపొందించడానికి ఉపయోగించబడుతుంది - ఉదాహరణకు, HLR లేదా బ్యాంక్ కార్డ్ ప్రాసెసింగ్. ప్లాట్ఫారమ్ సాఫ్ట్వేర్ మరియు హార్డ్వేర్ కాంప్లెక్స్ (ఉపకరణం) రూపంలో పంపిణీ చేయబడుతుంది, ఇందులో కంప్యూటింగ్ నోడ్లు, డేటా స్టోరేజ్ సిస్టమ్ మరియు కమ్యూనికేషన్ పరికరాలు ఉంటాయి. సర్వర్నెట్ నెట్వర్క్ (ఆధునిక సిస్టమ్లలో - ఇన్ఫినిబ్యాండ్) నోడ్ల మధ్య మార్పిడి మరియు డేటా నిల్వ సిస్టమ్కు ప్రాప్యత కోసం రెండింటినీ అందిస్తుంది.
సిస్టమ్ యొక్క ప్రారంభ సంస్కరణలు ఒకదానితో ఒకటి సమకాలీకరించబడిన యాజమాన్య ప్రాసెసర్లను ఉపయోగించాయి: అన్ని కార్యకలాపాలు అనేక ప్రాసెసర్ల ద్వారా సమకాలీకరించబడ్డాయి మరియు ప్రాసెసర్లలో ఒకటి లోపం చేసిన వెంటనే, అది ఆపివేయబడింది మరియు రెండవది పని చేయడం కొనసాగించింది. తరువాత, సిస్టమ్ సాంప్రదాయిక ప్రాసెసర్లకు (మొదటి MIPS, తరువాత ఇటానియం మరియు చివరకు x86) మారింది మరియు సమకాలీకరణ కోసం ఇతర యంత్రాంగాలను ఉపయోగించడం ప్రారంభించింది:
- సందేశాలు: ప్రతి సిస్టమ్ ప్రాసెస్లో “షాడో” జంట ఉంటుంది, దీనికి సక్రియ ప్రక్రియ క్రమానుగతంగా దాని స్థితి గురించి సందేశాలను పంపుతుంది; ప్రధాన ప్రక్రియ విఫలమైతే, చివరి సందేశం ద్వారా నిర్ణయించబడిన క్షణం నుండి నీడ ప్రక్రియ పని చేయడం ప్రారంభిస్తుంది;
- ఓటింగ్: స్టోరేజ్ సిస్టమ్ ఒక ప్రత్యేక హార్డ్వేర్ కాంపోనెంట్ను కలిగి ఉంది, ఇది బహుళ సారూప్య యాక్సెస్లను అంగీకరిస్తుంది మరియు యాక్సెస్లు సరిపోలితే మాత్రమే వాటిని అమలు చేస్తుంది; భౌతిక సమకాలీకరణకు బదులుగా, ప్రాసెసర్లు అసమకాలికంగా పనిచేస్తాయి మరియు వాటి పని ఫలితాలు I/O క్షణాల్లో మాత్రమే పోల్చబడతాయి.
1987 నుండి, నాన్స్టాప్ ప్లాట్ఫారమ్లో రిలేషనల్ DBMS నడుస్తోంది - మొదటి SQL/MP, ఆపై SQL/MX.
మొత్తం డేటాబేస్ భాగాలుగా విభజించబడింది మరియు ప్రతి భాగం దాని స్వంత డేటా యాక్సెస్ మేనేజర్ (DAM) ప్రక్రియకు బాధ్యత వహిస్తుంది. ఇది డేటా రికార్డింగ్, కాషింగ్ మరియు లాకింగ్ మెకానిజమ్లను అందిస్తుంది. డేటా ప్రాసెసింగ్ అనేది సంబంధిత డేటా మేనేజర్ల వలె అదే నోడ్లలో రన్ అయ్యే ఎగ్జిక్యూటర్ సర్వర్ ప్రాసెస్ల ద్వారా నిర్వహించబడుతుంది. SQL/MX షెడ్యూలర్ కార్యనిర్వాహకుల మధ్య టాస్క్లను విభజిస్తుంది మరియు ఫలితాలను సమగ్రం చేస్తుంది. అంగీకరించిన మార్పులు చేయవలసి వచ్చినప్పుడు, TMF (లావాదేవీ నిర్వహణ సౌకర్యం) లైబ్రరీ అందించిన రెండు-దశల కమిట్ ప్రోటోకాల్ ఉపయోగించబడుతుంది.
నాన్స్టాప్ SQL ప్రక్రియలకు ప్రాధాన్యత ఇవ్వగలదు, తద్వారా సుదీర్ఘ విశ్లేషణాత్మక ప్రశ్నలు లావాదేవీ అమలులో జోక్యం చేసుకోదు. అయితే, దీని ఉద్దేశ్యం ఖచ్చితంగా చిన్న లావాదేవీల ప్రాసెసింగ్, మరియు విశ్లేషణలు కాదు. డెవలపర్ ఐదు “తొమ్మిది” స్థాయిలో నాన్స్టాప్ క్లస్టర్ లభ్యతకు హామీ ఇస్తాడు, అంటే, డౌన్టైమ్ సంవత్సరానికి 5 నిమిషాలు మాత్రమే.
SAP హనా
HANA DBMS (1.0) యొక్క మొదటి స్థిరమైన విడుదల నవంబర్ 2010లో జరిగింది మరియు SAP ERP ప్యాకేజీ మే 2013లో HANAకి మారింది. ప్లాట్ఫారమ్ కొనుగోలు చేసిన సాంకేతికతలపై ఆధారపడింది: TREX శోధన ఇంజిన్ (స్తంభాల నిల్వలో శోధన), P*TIME DBMS మరియు MAX DB.
"హానా" అనే పదం సంక్షిప్త రూపం, అధిక పనితీరు విశ్లేషణాత్మక ఉపకరణం. ఈ DBMS ఏదైనా x86 సర్వర్లలో అమలు చేయగల కోడ్ రూపంలో సరఫరా చేయబడుతుంది, అయినప్పటికీ, పారిశ్రామిక సంస్థాపనలు ధృవీకరించబడిన పరికరాలపై మాత్రమే అనుమతించబడతాయి. HP, Lenovo, Cisco, Dell, Fujitsu, Hitachi, NEC నుండి సొల్యూషన్స్ అందుబాటులో ఉన్నాయి. కొన్ని Lenovo కాన్ఫిగరేషన్లు SAN లేకుండా ఆపరేషన్ను కూడా అనుమతిస్తాయి - స్థానిక డిస్క్లలోని GPFS క్లస్టర్ ద్వారా సాధారణ నిల్వ వ్యవస్థ పాత్రను పోషిస్తుంది.
పైన జాబితా చేయబడిన ప్లాట్ఫారమ్ల వలె కాకుండా, HANA అనేది ఇన్-మెమరీ DBMS, అనగా ప్రాథమిక డేటా ఇమేజ్ RAMలో నిల్వ చేయబడుతుంది మరియు విపత్తు సంభవించినప్పుడు రికవరీ కోసం లాగ్లు మరియు ఆవర్తన స్నాప్షాట్లు మాత్రమే డిస్క్కు వ్రాయబడతాయి.
ప్రతి HANA క్లస్టర్ నోడ్ దాని స్వంత డేటా భాగానికి బాధ్యత వహిస్తుంది మరియు డేటా మ్యాప్ ఒక ప్రత్యేక భాగంలో నిల్వ చేయబడుతుంది - నేమ్ సర్వర్, కోఆర్డినేటర్ నోడ్లో ఉంది. నోడ్ల మధ్య డేటా డూప్లికేట్ చేయబడదు. లాకింగ్ సమాచారం కూడా ప్రతి నోడ్లో నిల్వ చేయబడుతుంది, అయితే సిస్టమ్లో గ్లోబల్ డెడ్లాక్ డిటెక్టర్ ఉంటుంది.
HANA క్లయింట్ క్లస్టర్కి కనెక్ట్ అయినప్పుడు, అది దాని టోపోలాజీని డౌన్లోడ్ చేస్తుంది మరియు దానికి అవసరమైన డేటా ఆధారంగా ఏదైనా నోడ్ని నేరుగా యాక్సెస్ చేయగలదు. ఒక లావాదేవీ ఒకే నోడ్ యొక్క డేటాను ప్రభావితం చేసినట్లయితే, అది స్థానికంగా ఆ నోడ్ ద్వారా అమలు చేయబడుతుంది, కానీ అనేక నోడ్ల డేటా మారినట్లయితే, ప్రారంభ నోడ్ కోఆర్డినేటర్ నోడ్ను సంప్రదిస్తుంది, ఇది పంపిణీ చేసిన లావాదేవీని తెరిచి సమన్వయం చేస్తుంది, దానిని ఉపయోగించి దానిని చేస్తుంది. ఆప్టిమైజ్ చేయబడిన రెండు-దశల కమిట్ ప్రోటోకాల్.
కోఆర్డినేటర్ నోడ్ నకిలీ చేయబడింది, కాబట్టి కోఆర్డినేటర్ విఫలమైతే, బ్యాకప్ నోడ్ వెంటనే స్వాధీనం చేసుకుంటుంది. కానీ డేటాతో నోడ్ విఫలమైతే, దాని డేటాను యాక్సెస్ చేయడానికి నోడ్ను పునఃప్రారంభించడమే ఏకైక మార్గం. నియమం ప్రకారం, HANA క్లస్టర్లు వీలైనంత త్వరగా కోల్పోయిన నోడ్ని పునఃప్రారంభించడానికి విడి సర్వర్ను నిర్వహిస్తాయి.
మూలం: www.habr.com