1.1 NoSQL డేటాబేస్ ఎలా పనిచేస్తుంది

NoSQL డేటాబేస్‌లు డేటాను యాక్సెస్ చేయడానికి మరియు మార్చేందుకు వివిధ రకాల డేటా మోడల్‌లను ఉపయోగిస్తాయి. ఈ రకమైన డేటాబేస్‌లు తక్కువ జాప్యం మరియు సౌకర్యవంతమైన డేటా మోడల్‌లు అవసరమయ్యే డేటా-ఇంటెన్సివ్ అప్లికేషన్‌ల కోసం ఆప్టిమైజ్ చేయబడ్డాయి. ఇతర రకాల డేటాబేస్‌లకు విలక్షణమైన కఠినమైన డేటా అనుగుణ్యత అవసరాలను మృదువుగా చేయడం ద్వారా ఇవన్నీ సాధించబడతాయి.

పుస్తకాల యొక్క సాధారణ డేటాబేస్ కోసం స్కీమా మోడలింగ్ యొక్క ఉదాహరణను పరిగణించండి.

  • రిలేషనల్ డేటాబేస్లో, పుస్తక ప్రవేశం తరచుగా బహుళ భాగాలుగా విభజించబడింది (లేదా "సాధారణీకరించబడింది") మరియు ప్రత్యేక పట్టికలలో నిల్వ చేయబడుతుంది, దీని సంబంధాలు ప్రాథమిక మరియు విదేశీ కీలక పరిమితుల ద్వారా నిర్వచించబడతాయి. ఈ ఉదాహరణలో, పుస్తకాల పట్టికలో ISBN , పుస్తక శీర్షిక మరియు ఎడిషన్ నంబర్ నిలువు వరుసలు ఉన్నాయి , "ISBN"మరియు"రచయిత"రచయిత-ISBNమరియునిలువు వరుసలురచయిత పేరుమరియుIDరచయితపట్టికలోరచయితల. డేటాబేస్‌లోని పట్టికల మధ్య రెఫరెన్షియల్ సమగ్రతను నిర్వహించడానికి రిలేషనల్ మోడల్ రూపొందించబడింది. రిడెండెన్సీని తగ్గించడానికి డేటా సాధారణీకరించబడింది మరియు సాధారణంగా నిల్వ కోసం ఆప్టిమైజ్ చేయబడుతుంది.

  • NoSQL డేటాబేస్‌లో, బుక్ రికార్డ్ సాధారణంగా JSON డాక్యుమెంట్‌గా నిల్వ చేయబడుతుంది. ప్రతి పుస్తకం లేదా మూలకం కోసం, ISBN , పుస్తక శీర్షిక , ఎడిషన్ సంఖ్య , రచయిత పేరు మరియు రచయిత ID విలువలు ఒకే పత్రంలో గుణాలుగా నిల్వ చేయబడతాయి. ఈ మోడల్‌లో, డేటా సహజమైన అభివృద్ధి మరియు క్షితిజ సమాంతర స్కేలబిలిటీ కోసం ఆప్టిమైజ్ చేయబడింది.

1.2 NoSQL డేటాబేస్‌లను దేనికి ఉపయోగించవచ్చు?

NoSQL డేటాబేస్‌లు మొబైల్, గేమింగ్, వెబ్ అప్లికేషన్‌ల వంటి అనేక ఆధునిక అప్లికేషన్‌లకు బాగా సరిపోతాయి, వీటికి అనువైన, స్కేలబుల్ డేటాబేస్‌లు అధిక పనితీరు మరియు గరిష్ట వినియోగాన్ని అందించగల రిచ్ ఫంక్షనాలిటీ అవసరం.

  • వశ్యత . సాధారణంగా, NoSQL డేటాబేస్‌లు అనువైన స్కీమాలను అందిస్తాయి, వేగవంతమైన అభివృద్ధిని అనుమతిస్తుంది మరియు పెరుగుతున్న అమలును అనుమతిస్తుంది. ఫ్లెక్సిబుల్ డేటా మోడల్‌ల వాడకం కారణంగా, సెమీ స్ట్రక్చర్డ్ మరియు అన్‌స్ట్రక్చర్డ్ డేటా కోసం NoSQL డేటాబేస్‌లు బాగా సరిపోతాయి.

  • స్కేలబిలిటీ . NoSQL డేటాబేస్‌లు పంపిణీ చేయబడిన హార్డ్‌వేర్ క్లస్టర్‌లను ఉపయోగించి స్కేల్ చేయడానికి రూపొందించబడ్డాయి, ఖరీదైన, నమ్మదగిన సర్వర్‌లను జోడించడం ద్వారా కాదు. కొంతమంది క్లౌడ్ సర్వీస్ ప్రొవైడర్‌లు ఈ ఆపరేషన్‌లను బ్యాక్‌గ్రౌండ్‌లో అమలు చేస్తారు, పూర్తిగా నిర్వహించబడే సేవను అందిస్తారు.

  • అధిక పనితీరు . NoSQL డేటాబేస్‌లు రిలేషనల్ డేటాబేస్‌ల కంటే అధిక పనితీరును సాధించడానికి నిర్దిష్ట డేటా మోడల్‌లు మరియు యాక్సెస్ ప్యాటర్న్‌ల కోసం ఆప్టిమైజ్ చేయబడ్డాయి.

  • విస్తృత కార్యాచరణ . NoSQL డేటాబేస్‌లు వాటి సంబంధిత డేటా మోడల్‌ల కోసం ప్రత్యేకంగా రూపొందించబడిన రిచ్ APIలు మరియు డేటా రకాలను అందిస్తాయి.

1.3 NoSQL డేటాబేస్‌ల రకాలు

పట్టికల రూపంలో డేటాను నిల్వ చేయడం చాలా సౌకర్యంగా లేని చోట NoSQL డేటాబేస్‌లు ఉపయోగించబడతాయి. అందువల్ల, అవి చాలా భిన్నమైన ఫార్మాట్లలో నిల్వ చేయబడతాయి. సాధారణంగా, NoSQL డేటాబేస్‌లలో 6 ప్రధాన డేటా రకాలు ఉన్నాయి.

కీ-విలువ జతల ఆధారంగా DB

కీ-విలువ జతలను ఉపయోగించే డేటాబేస్‌లు అధిక విభజనకు మద్దతు ఇస్తాయి మరియు ఇతర రకాల డేటాబేస్‌లతో సాధించలేని అపూర్వమైన క్షితిజ సమాంతర స్కేలింగ్‌ను అందిస్తాయి. కీ-విలువ డేటాబేస్‌ల కోసం మంచి ఉపయోగ సందర్భాలు గేమింగ్, అడ్వర్టైజింగ్ మరియు IoT అప్లికేషన్‌లు.

ఉదాహరణకు, Amazon DynamoDB ఏదైనా స్కేల్‌లో కొన్ని మిల్లీసెకన్ల కంటే ఎక్కువ ఆలస్యం కాకుండా స్థిరమైన డేటాబేస్ ఆపరేషన్‌ను నిర్ధారిస్తుంది. Snapchat స్టోరీలను DynamoDBకి తరలించడానికి ఈ బలమైన పనితీరు ప్రధాన కారణం, ఎందుకంటే ఈ Snapchat ఫీచర్ అతిపెద్ద స్టోరేజ్ రైట్ లోడ్‌తో అనుబంధించబడింది.

పత్రం

అప్లికేషన్ కోడ్‌లో, డేటా తరచుగా JSON-వంటి ఆకృతిలో ఆబ్జెక్ట్ లేదా డాక్యుమెంట్‌గా సూచించబడుతుంది ఎందుకంటే ఇది డెవలపర్‌ల కోసం సమర్థవంతమైన మరియు స్పష్టమైన డేటా మోడల్. డాక్యుమెంట్ డేటాబేస్‌లు డెవలపర్‌లు తమ అప్లికేషన్ కోడ్‌లో ఉపయోగించే అదే డాక్యుమెంట్ మోడల్‌ను ఉపయోగించి డేటాబేస్‌లో డేటాను నిల్వ చేయడానికి మరియు ప్రశ్నించడానికి అనుమతిస్తాయి. డాక్యుమెంట్‌లు మరియు డాక్యుమెంట్ డేటాబేస్‌ల అనువైన, సెమీ స్ట్రక్చర్డ్, క్రమానుగత స్వభావం అప్లికేషన్ అవసరాలతో వాటిని అభివృద్ధి చేయడానికి అనుమతిస్తుంది.

డాక్యుమెంట్ మోడల్ కేటలాగ్‌లు, యూజర్ ప్రొఫైల్‌లు మరియు కంటెంట్ మేనేజ్‌మెంట్ సిస్టమ్‌లలో బాగా పని చేస్తుంది, ఇక్కడ ప్రతి పత్రం ప్రత్యేకంగా ఉంటుంది మరియు కాలక్రమేణా మారుతుంది. Amazon డాక్యుమెంట్‌డిబి (మొంగోడిబికి అనుకూలంగా ఉంటుంది) మరియు మొంగోడిబి అనేవి సాధారణ డాక్యుమెంట్ డేటాబేస్‌లు, ఇవి చురుకైన అభివృద్ధి కోసం క్రియాత్మక మరియు సహజమైన APIలను అందిస్తాయి.

గ్రాఫ్ డేటాబేస్లు

గ్రాఫ్ డేటాబేస్‌లు సంక్లిష్ట డేటా సెట్‌లతో పనిచేసే అప్లికేషన్‌లను అభివృద్ధి చేయడం మరియు అమలు చేయడం సులభతరం చేస్తాయి. సామాజిక నెట్‌వర్క్‌లు, సిఫార్సు సేవలు, మోసాన్ని గుర్తించే వ్యవస్థలు మరియు నాలెడ్జ్ గ్రాఫ్‌లు గ్రాఫ్ డేటాబేస్‌లను ఉపయోగించడం యొక్క సాధారణ ఉదాహరణలు. అమెజాన్ నెప్ట్యూన్ పూర్తిగా నిర్వహించబడే గ్రాఫ్ డేటాబేస్ సేవ. నెప్ట్యూన్ ప్రాపర్టీ గ్రాఫ్ మరియు రిసోర్స్ డిస్క్రిప్షన్ ఫ్రేమ్‌వర్క్ (RDF)కి మద్దతు ఇస్తుంది, వీటిని ఎంచుకోవడానికి రెండు గ్రాఫ్ APIలను అందిస్తుంది: TinkerPop మరియు RDF/SPARQL. సాధారణ గ్రాఫ్ డేటాబేస్‌లలో Neo4j మరియు Giraph ఉన్నాయి.

మెమరీలో DB

తరచుగా గేమింగ్ మరియు అడ్వర్టైజింగ్ అప్లికేషన్‌లు లీడర్‌బోర్డ్‌లు, సెషన్ నిల్వ మరియు నిజ-సమయ విశ్లేషణలను ఉపయోగిస్తాయి. ఇటువంటి సామర్థ్యాలకు కొన్ని మైక్రోసెకన్లలో ప్రతిస్పందన అవసరం, అయితే ట్రాఫిక్‌లో పదునైన పెరుగుదల ఎప్పుడైనా సాధ్యమవుతుంది.

Redis కోసం Amazon MemoryDB అనేది Redis-అనుకూలమైన, విశ్వసనీయమైన ఇన్-మెమరీ డేటాబేస్ సేవ, ఇది రీడ్ లేటెన్సీని మిల్లీసెకన్లకు తగ్గిస్తుంది మరియు బహుళ లభ్యత జోన్‌లలో మన్నికను అందిస్తుంది. MemoryDB అనేది అల్ట్రా-హై పనితీరు మరియు విశ్వసనీయత కోసం ఉద్దేశించబడింది, కాబట్టి దీనిని ఆధునిక మైక్రోసర్వీస్-ఆధారిత అనువర్తనాల కోసం ప్రాథమిక డేటాబేస్‌గా ఉపయోగించవచ్చు.

Amazon ElastiCache అనేది తక్కువ జాప్యం, అధిక నిర్గమాంశ పనిభారాన్ని అందించడానికి పూర్తిగా నిర్వహించబడే Redis మరియు Memcached అనుకూల ఇన్-మెమరీ కాషింగ్ సేవ. రియల్ టైమ్‌లో ప్రతిస్పందించడానికి వారి యాప్‌లు అవసరమయ్యే టిండర్ వంటి క్లయింట్లు డిస్క్ స్టోరేజ్ సిస్టమ్‌ల కంటే ఇన్-మెమరీని ఉపయోగిస్తున్నారు. పర్పస్-బిల్ట్ డేటా వేర్‌హౌస్‌కి మరొక ఉదాహరణ Amazon DynamoDB యాక్సిలరేటర్ (DAX). DAX DynamoDB డేటాను చాలా రెట్లు వేగంగా చదవడానికి అనుమతిస్తుంది.

డేటాబేస్‌లను శోధించండి

డెవలపర్‌లకు ట్రబుల్‌షూట్ చేయడం మరియు సమస్యలను పరిష్కరించడం సులభతరం చేయడానికి చాలా అప్లికేషన్‌లు లాగ్‌లను ఉత్పత్తి చేస్తాయి. Amazon OpenSearch అనేది ఇండెక్సింగ్, సమగ్రపరచడం మరియు సెమీ స్ట్రక్చర్డ్ లాగ్‌లు మరియు మెట్రిక్‌లను శోధించడం ద్వారా స్వయంచాలకంగా రూపొందించబడిన డేటా స్ట్రీమ్‌ల సమీప నిజ-సమయ విజువలైజేషన్ మరియు విశ్లేషణల కోసం ఉద్దేశించిన-నిర్మిత సేవ.

అదనంగా, Amazon OpenSearch అనేది శక్తివంతమైన, అధిక-పనితీరు గల పూర్తి-వచన శోధన సేవ. ఎక్స్‌పీడియా 150 కంటే ఎక్కువ Amazon OpenSearch సర్వీస్ డొమైన్‌లు, 30 TB డేటా మరియు 30 బిలియన్ డాక్యుమెంట్‌లను వివిధ మిషన్-క్రిటికల్ యూజ్ కేసుల కోసం, కార్యాచరణ పర్యవేక్షణ మరియు ట్రబుల్‌షూటింగ్ నుండి పంపిణీ చేయబడిన అప్లికేషన్ స్టాక్ ట్రాకింగ్ మరియు కాస్ట్ ఆప్టిమైజేషన్ వరకు ప్రభావితం చేస్తుంది.

1.4 SQL (రిలేషనల్) మరియు NoSQL (నాన్ రిలేషనల్) డేటాబేస్‌ల పోలిక

NoSQL అనేక ప్రయోజనాలను కలిగి ఉంది, కాబట్టి మీరు దానిని మీరే వ్రాయడానికి ముందు మీకు అవసరమైన సాధనం ఇప్పటికే ఉందని మీరు కనీసం సిద్ధాంతపరంగా తెలుసుకోవాలి. క్రింద నేను NoSQL మరియు SQL డేటాబేస్‌ల పోలికను ఇస్తాను:

తగిన పనిభారం

రిలేషనల్ డేటాబేస్‌లు లావాదేవీలు మరియు అత్యంత స్థిరమైన రియల్-టైమ్ ట్రాన్సాక్షన్ ప్రాసెసింగ్ (OLTP) అప్లికేషన్‌ల కోసం రూపొందించబడ్డాయి మరియు రియల్ టైమ్ అనలిటికల్ ప్రాసెసింగ్ (OLAP)కి బాగా సరిపోతాయి.

NoSQL డేటాబేస్‌లు తక్కువ జాప్యం అప్లికేషన్‌లతో సహా అనేక రకాల డేటా యాక్సెస్ నమూనాలతో పని చేయడానికి రూపొందించబడ్డాయి. NoSQL శోధన డేటాబేస్‌లు సెమీ స్ట్రక్చర్డ్ డేటా యొక్క విశ్లేషణల కోసం రూపొందించబడ్డాయి.

డేటా మోడల్

రిలేషనల్ మోడల్ డేటాను సాధారణీకరిస్తుంది మరియు అడ్డు వరుసలు మరియు నిలువు వరుసలతో కూడిన పట్టికలుగా మారుస్తుంది. ఒక స్కీమా పట్టికలు, అడ్డు వరుసలు, నిలువు వరుసలు, సూచికలు, పట్టికల మధ్య సంబంధాలు మరియు ఇతర డేటాబేస్ మూలకాలను కఠినంగా నిర్వచిస్తుంది. అటువంటి డేటాబేస్ పట్టికల మధ్య సంబంధాలలో సూచన డేటా యొక్క సమగ్రతను నిర్ధారిస్తుంది.

NoSQL డేటాబేస్‌లు అధిక పనితీరు మరియు స్కేలబిలిటీ కోసం ఆప్టిమైజ్ చేయబడిన కీ-వాల్యూ జతలు, డాక్యుమెంట్‌లు మరియు గ్రాఫ్‌లు వంటి వివిధ రకాల డేటా మోడల్‌లను అందిస్తాయి.

ACID లక్షణాలు

రిలేషనల్ డేటాబేస్‌లు ACID లక్షణాల సమితిని అందిస్తాయి: పరమాణుత్వం, స్థిరత్వం, ఐసోలేషన్, విశ్వసనీయత.

  • అటామిసిటీకి లావాదేవీని పూర్తిగా అమలు చేయడం లేదా అస్సలు చేయకపోవడం అవసరం.
  • స్థిరత్వం అంటే లావాదేవీ పూర్తయిన వెంటనే, డేటా తప్పనిసరిగా డేటాబేస్ స్కీమాకు అనుగుణంగా ఉండాలి.
  • ఐసోలేషన్‌కి సమాంతర లావాదేవీలు ఒకదానికొకటి విడివిడిగా జరగాలి.
  • విశ్వసనీయత అనేది ఊహించని సిస్టమ్ వైఫల్యం లేదా విద్యుత్తు అంతరాయం తర్వాత చివరిగా సేవ్ చేయబడిన స్థితికి పునరుద్ధరించగల సామర్థ్యాన్ని సూచిస్తుంది.

NoSQL డేటాబేస్‌లు తరచుగా రాజీని అందిస్తాయి, క్షితిజ సమాంతర స్కేలింగ్‌ను అనుమతించే మరింత సౌకర్యవంతమైన డేటా మోడల్‌కు అనుకూలంగా ACID లక్షణాల యొక్క కఠినమైన అవసరాలను సడలించడం. ఇది అధిక-బ్యాండ్‌విడ్త్, తక్కువ-జాప్యం వినియోగ కేసుల కోసం NoSQLని ఒక గొప్ప ఎంపికగా చేస్తుంది, ఇవి ఒకే ఉదాహరణకి మించి సమాంతర స్కేలింగ్ అవసరం.

ప్రదర్శన

పనితీరు ప్రధానంగా డిస్క్ సబ్‌సిస్టమ్‌పై ఆధారపడి ఉంటుంది. గరిష్ట పనితీరు కోసం ప్రశ్నలు, సూచికలు మరియు పట్టిక నిర్మాణం యొక్క ఆప్టిమైజేషన్ తరచుగా అవసరం.

పనితీరు సాధారణంగా అంతర్లీన హార్డ్‌వేర్ క్లస్టర్ పరిమాణం, నెట్‌వర్క్ జాప్యం మరియు కాలింగ్ అప్లికేషన్‌పై ఆధారపడి ఉంటుంది.

స్కేలింగ్

రిలేషనల్ డేటాబేస్‌లు సాధారణంగా హార్డ్‌వేర్ యొక్క కంప్యూటింగ్ శక్తిని పెంచడం ద్వారా లేదా రీడ్ వర్క్‌లోడ్‌ల కోసం ప్రత్యేక కాపీలను జోడించడం ద్వారా స్కేల్ చేస్తాయి.

NoSQL డేటాబేస్‌లు సాధారణంగా పంపిణీ చేయబడిన ఆర్కిటెక్చర్ ఆధారంగా స్కేలబుల్ యాక్సెస్ నమూనాల ద్వారా అధిక విభజనకు మద్దతు ఇస్తాయి. ఇది నిర్గమాంశను మెరుగుపరుస్తుంది మరియు దాదాపు అపరిమిత స్థాయిలో స్థిరమైన పనితీరును అందిస్తుంది.

API

డేటాను వ్రాయడం మరియు తిరిగి పొందడం కోసం అభ్యర్థనలు SQLలో వ్రాయబడ్డాయి. ఈ ప్రశ్నలు రిలేషనల్ డేటాబేస్ ద్వారా అన్వయించబడతాయి మరియు అమలు చేయబడతాయి.

ఆబ్జెక్ట్-ఓరియెంటెడ్ APIలు అప్లికేషన్ డెవలపర్‌లు డేటా స్ట్రక్చర్‌లను సులభంగా వ్రాయడానికి మరియు తిరిగి పొందేందుకు అనుమతిస్తాయి. విభజన కీలను ఉపయోగించి, అప్లికేషన్‌లు కీ-విలువ జతలను, కాలమ్ సెట్‌లను లేదా సీరియల్ ఆబ్జెక్ట్‌లు మరియు అప్లికేషన్ అట్రిబ్యూట్‌లను కలిగి ఉన్న సెమీ స్ట్రక్చర్డ్ డాక్యుమెంట్‌లను శోధించవచ్చు.