3.1 బలహీనమైన ACID లక్షణాలు
చాలా కాలంగా, ఆర్కిటెక్ట్లు మరియు డెవలపర్లకు డేటా స్థిరత్వం ఒక పవిత్రమైన ఆవు. అన్ని రిలేషనల్ డేటాబేస్లు అప్డేట్ లాక్లు మరియు బ్లాకింగ్ రీడ్ల ద్వారా లేదా అన్డూ లాగ్ల ద్వారా కొంత స్థాయి ఐసోలేషన్ను అందించాయి. భారీ మొత్తంలో సమాచారం మరియు పంపిణీ వ్యవస్థల ఆగమనంతో, ఒకవైపు వాటి కోసం లావాదేవీల సెట్ను నిర్ధారించడం మరియు మరోవైపు అధిక లభ్యత మరియు వేగవంతమైన ప్రతిస్పందన సమయాన్ని పొందడం అసాధ్యం అని స్పష్టమైంది.
అంతేకాకుండా, ఒక రికార్డ్ను నవీకరించడం కూడా ఇతర వినియోగదారు సిస్టమ్లో మార్పులను తక్షణమే చూస్తారని హామీ ఇవ్వదు, ఎందుకంటే మార్పు సంభవించవచ్చు, ఉదాహరణకు, మాస్టర్ నోడ్లో మరియు ప్రతిరూపం అసమకాలికంగా స్లేవ్ నోడ్కు కాపీ చేయబడుతుంది, దానితో మరొక వినియోగదారు పనిచేస్తుంది. ఈ సందర్భంలో, అతను కొంత సమయం తర్వాత ఫలితాన్ని చూస్తాడు. దీన్నే ఆఖరి అనుగుణ్యత అంటారు మరియు Facebook మరియు Amazonతో సహా ప్రపంచంలోని అన్ని అతిపెద్ద ఇంటర్నెట్ కంపెనీలు ఇప్పుడు దీనికే వెళ్తున్నాయి. వినియోగదారు అస్థిరమైన డేటాను చూడగలిగే గరిష్ట విరామం సెకను కంటే ఎక్కువ కాదని రెండోది గర్వంగా ప్రకటించింది. అటువంటి పరిస్థితికి ఉదాహరణ చిత్రంలో చూపబడింది:
అటువంటి పరిస్థితిలో ఉత్పన్నమయ్యే తార్కిక ప్రశ్న ఏమిటంటే, కార్యకలాపాల యొక్క పరమాణు-స్థిరత్వంపై శాస్త్రీయంగా అధిక డిమాండ్లను ఉంచే మరియు అదే సమయంలో వేగంగా పంపిణీ చేయబడిన క్లస్టర్లు - ఆర్థిక, ఆన్లైన్ దుకాణాలు మొదలైనవి అవసరమయ్యే వ్యవస్థలను ఏమి చేయాలి? ఈ అవసరాలు ఇకపై సంబంధితంగా లేవని ప్రాక్టీస్ చూపిస్తుంది: ఫైనాన్షియల్ బ్యాంకింగ్ సిస్టమ్ యొక్క ఒక డిజైనర్ ఇలా అన్నాడు: “గ్లోబల్ నెట్వర్క్ ATM (ATMలు)లో ప్రతి లావాదేవీ పూర్తయ్యే వరకు మేము నిజంగా వేచి ఉన్నట్లయితే, కస్టమర్లు లావాదేవీలు జరపడానికి చాలా సమయం పడుతుంది. ఆవేశంతో పారిపోయేవాడు. మీరు మరియు మీ భాగస్వామి ఒకే సమయంలో డబ్బును విత్డ్రా చేసి, పరిమితిని మించిపోతే ఏమి జరుగుతుంది? "మీరిద్దరూ డబ్బు పొందుతారు మరియు మేము దానిని తరువాత పరిష్కరిస్తాము."
మరొక ఉదాహరణ చిత్రంలో చూపిన హోటల్ బుకింగ్. అటువంటి పరిస్థితులలో (ఆటోమేటిక్ కాన్ఫ్లిక్ట్ రిజల్యూషన్, ఆపరేషన్ రోల్బ్యాక్, ఇతర డేటాతో అప్డేట్) చర్యలను అందించడం కోసం డేటా పాలసీ అంతిమ స్థిరత్వాన్ని అంచనా వేసే ఆన్లైన్ స్టోర్లు అవసరం. ఆచరణలో, అత్యవసర పరిస్థితుల్లో హోటళ్లు ఎల్లప్పుడూ ఉచిత గదుల "పూల్"ని ఉంచడానికి ప్రయత్నిస్తాయి మరియు ఇది వివాదాస్పద పరిస్థితికి పరిష్కారంగా ఉంటుంది.
వాస్తవానికి, బలహీనమైన ACID లక్షణాలు అవి ఉనికిలో లేవని అర్థం కాదు. చాలా సందర్భాలలో, రిలేషనల్ డేటాబేస్తో పనిచేసే అప్లికేషన్ లాజికల్ సంబంధిత వస్తువులను (ఆర్డర్ - ఆర్డర్ ఐటెమ్లు) మార్చడానికి లావాదేవీని ఉపయోగిస్తుంది, ఇవి వేర్వేరు పట్టికలు కాబట్టి ఇది అవసరం. NoSQL డేటాబేస్లో డేటా మోడల్ యొక్క సరైన డిజైన్తో (మొత్తం అనేది ఆర్డర్ ఐటెమ్ల జాబితాతో పాటు ఒక ఆర్డర్), రిలేషనల్ డేటాబేస్లో ఉన్నట్లుగా ఒకే రికార్డ్ను మార్చేటప్పుడు మీరు అదే స్థాయి ఐసోలేషన్ను సాధించవచ్చు.
3.2 పంపిణీ చేయబడిన వ్యవస్థలు, భాగస్వామ్య వనరులు లేవు (ఏమీ పంచుకోవద్దు)
మళ్ళీ, ఇది డేటాబేస్ గ్రాఫ్లకు వర్తించదు, దీని నిర్మాణం, నిర్వచనం ప్రకారం, రిమోట్ నోడ్లలో బాగా వ్యాపించదు.
ఇది బహుశా NoSQL డేటాబేస్ల అభివృద్ధికి ప్రధాన సూత్రం. ప్రపంచంలో సమాచారం యొక్క హిమపాతం పెరుగుదల మరియు సహేతుకమైన సమయంలో దానిని ప్రాసెస్ చేయవలసిన అవసరంతో, నిలువు స్కేలబిలిటీ సమస్య తలెత్తింది - ప్రాసెసర్ వేగం పెరుగుదల 3.5 GHz వద్ద ఆగిపోయింది, డిస్క్ నుండి చదివే వేగం కూడా పెరుగుతోంది. స్లో పేస్, అలాగే శక్తివంతమైన సర్వర్ ధర ఎల్లప్పుడూ అనేక సాధారణ సర్వర్ల మొత్తం ధర కంటే ఎక్కువగా ఉంటుంది. ఈ పరిస్థితిలో, డిస్క్ల శ్రేణిలో క్లస్టర్ చేయబడిన సాంప్రదాయిక రిలేషనల్ డేటాబేస్లు కూడా వేగం, స్కేలబిలిటీ మరియు నిర్గమాంశ సమస్యను పరిష్కరించలేవు.
అనేక స్వతంత్ర సర్వర్లు వేగవంతమైన నెట్వర్క్ ద్వారా కనెక్ట్ చేయబడినప్పుడు మరియు ప్రతి ఒక్కటి డేటాలో కొంత భాగాన్ని మరియు / లేదా రీడ్-అప్డేట్ అభ్యర్థనలలో కొంత భాగాన్ని మాత్రమే కలిగి ఉన్నప్పుడు / ప్రాసెస్ చేసినప్పుడు పరిస్థితి నుండి బయటపడే ఏకైక మార్గం క్షితిజ సమాంతర స్కేలింగ్. ఈ నిర్మాణంలో, నిల్వ సామర్థ్యాన్ని పెంచడానికి (సామర్థ్యం, ప్రతిస్పందన సమయం, నిర్గమాంశ), మీరు క్లస్టర్కు కొత్త సర్వర్ను మాత్రమే జోడించాలి - అంతే. షార్డింగ్, రెప్లికేషన్, ఫాల్ట్ టాలరెన్స్ (ఒకటి లేదా అంతకంటే ఎక్కువ సర్వర్లు ప్రతిస్పందించడం ఆపివేసినప్పటికీ ఫలితం పొందబడుతుంది), నోడ్ను జోడించే సందర్భంలో డేటా పునఃపంపిణీ NoSQL డేటాబేస్ ద్వారా నిర్వహించబడుతుంది.
పంపిణీ చేయబడిన NoSQL డేటాబేస్ల యొక్క ప్రధాన లక్షణాలను నేను క్లుప్తంగా ప్రదర్శిస్తాను:
రెప్లికేషన్ - అప్డేట్ చేస్తున్నప్పుడు డేటాను ఇతర నోడ్లకు కాపీ చేయడం. ఎక్కువ స్కేలబిలిటీని సాధించడానికి మరియు డేటా లభ్యత మరియు భద్రతను పెంచడానికి రెండింటినీ అనుమతిస్తుంది. రెండు రకాలుగా ఉపవిభజన చేయడం ఆచారం:
మాస్టర్-స్లేవ్ : మరియు పీర్-టు-పీర్ :మొదటి రకం చదవడానికి మంచి స్కేలబిలిటీని ఊహిస్తుంది (ఏదైనా నోడ్ నుండి జరగవచ్చు), కానీ నాన్-స్కేలబుల్ రైటింగ్ (మాస్టర్ నోడ్కు మాత్రమే). స్థిరమైన లభ్యతను నిర్ధారించడంలో సూక్ష్మబేధాలు కూడా ఉన్నాయి (మాస్టర్ క్రాష్ సందర్భంలో, మాన్యువల్గా లేదా స్వయంచాలకంగా మిగిలిన నోడ్లలో ఒకటి దాని స్థానానికి కేటాయించబడుతుంది). రెండవ రకం రెప్లికేషన్ అన్ని నోడ్లు సమానంగా ఉంటాయి మరియు చదవడానికి మరియు వ్రాయడానికి అభ్యర్థనలను అందించగలవని ఊహిస్తుంది.
షార్డింగ్ అనేది నోడ్ల ద్వారా డేటా విభజన:
వేగాన్ని మరియు నిర్గమాంశను పెంచడం కోసం షేడింగ్ తరచుగా రిలేషనల్ డేటాబేస్లకు “క్రచ్”గా ఉపయోగించబడింది: వినియోగదారు అప్లికేషన్ అనేక స్వతంత్ర డేటాబేస్లలో డేటాను విభజించింది మరియు వినియోగదారు సంబంధిత డేటాను అభ్యర్థించినప్పుడు, నిర్దిష్ట డేటాబేస్ను యాక్సెస్ చేస్తుంది . NoSQL డేటాబేస్లలో, రెప్లికేషన్ వంటి షార్డింగ్ డేటాబేస్ ద్వారా స్వయంచాలకంగా చేయబడుతుంది మరియు వినియోగదారు అప్లికేషన్ ఈ సంక్లిష్ట విధానాల నుండి వేరుగా ఉంటుంది.
3.3 NoSQL డేటాబేస్లు ఎక్కువగా ఓపెన్ సోర్స్ మరియు 21వ శతాబ్దంలో సృష్టించబడ్డాయి
రెండవ మైదానంలో సదలాజ్ మరియు ఫౌలర్ ఆబ్జెక్ట్ డేటాబేస్లను NoSQLగా వర్గీకరించలేదు (అయితే http://nosql-database.org/ వాటిని సాధారణ జాబితాలో చేర్చింది), ఎందుకంటే అవి 90వ దశకంలో సృష్టించబడ్డాయి మరియు ఎప్పుడూ పెద్దగా ప్రజాదరణ పొందలేదు. ..
NoSQL ఉద్యమం భారీ వేగంతో ప్రజాదరణ పొందుతోంది. అయితే, రిలేషనల్ డేటాబేస్లు వెస్టిజియల్ లేదా పురాతనమైనవిగా మారుతున్నాయని దీని అర్థం కాదు. చాలా మటుకు అవి మునుపటిలా చురుగ్గా ఉపయోగించబడతాయి మరియు ఉపయోగించబడతాయి, అయితే మరిన్ని NoSQL డేటాబేస్లు వాటితో సహజీవనంలో పనిచేస్తాయి. మేము పాలీగ్లాట్ పెర్సిస్టెన్స్ యుగంలోకి ప్రవేశిస్తున్నాము, వివిధ డేటా స్టోర్లు వివిధ అవసరాల కోసం ఉపయోగించబడే యుగం. ఇప్పుడు వివాదాస్పద డేటా మూలంగా రిలేషనల్ డేటాబేస్ల గుత్తాధిపత్యం లేదు. ఆర్కిటెక్ట్లు డేటా యొక్క స్వభావాన్ని బట్టి నిల్వను ఎంచుకుంటారు మరియు మేము దానిని ఎలా మార్చాలనుకుంటున్నాము, సమాచారం యొక్క వాల్యూమ్లను అంచనా వేస్తారు. కాబట్టి ప్రతిదీ మరింత ఆసక్తికరంగా ఉంటుంది.
దిగువన మేము ఒక ఉదాహరణగా NoSQL కాసాండ్రా DBMS ఉపయోగించి పంపిణీ చేయబడిన డేటాబేస్ యొక్క ఆపరేషన్ను అర్థం చేసుకోవడానికి ప్రయత్నిస్తాము ...
GO TO FULL VERSION