డెవలపర్ తీసుకునే అత్యంత ముఖ్యమైన నిర్ణయాలలో ఒకటి ఏ డేటాబేస్ను ఉపయోగించాలి. చాలా సంవత్సరాలు, ఎంపికలు స్ట్రక్చర్డ్ క్వెరీ లాంగ్వేజ్ (SQL)కి మద్దతు ఇచ్చే వివిధ రిలేషనల్ డేటాబేస్ ఎంపికలకు పరిమితం చేయబడ్డాయి. వీటిలో MS SQL సర్వర్, ఒరాకిల్, MySQL, PostgreSQL, DB2 మరియు అనేక ఇతరాలు ఉన్నాయి.
గత 15 సంవత్సరాలుగా, మార్కెట్లో అనేక కొత్త No-SQL డేటాబేస్లు కనిపించాయి. వీటిలో రెడిస్ మరియు అమెజాన్ డైనమోడిబి వంటి కీలక-విలువ స్టోర్లు, కాసాండ్రా మరియు హెచ్బేస్ వంటి విస్తృత స్తంభాల డేటాబేస్లు, మోంగోడిబి మరియు కౌచ్బేస్ వంటి డాక్యుమెంట్ స్టోర్లు మరియు గ్రాఫ్ డేటాబేస్లు మరియు ఎలాస్టిక్సెర్చ్ మరియు సోల్ర్ వంటి శోధన ఇంజిన్లు ఉన్నాయి.
ఈ వ్యాసంలో మేము SQL మరియు NoSQLలను వాటి కార్యాచరణలోకి రాకుండా అర్థం చేసుకోవడానికి ప్రయత్నిస్తాము.
అదనంగా, మేము ప్రక్రియలో కొంచెం ఆనందిస్తాము.
అమ్మమ్మకు SQLని వివరిస్తున్నాను
అమ్మమ్మ, నేను మీ ఒక్కడే మనవడిని కాదని ఊహించుకోండి. బదులుగా, అమ్మ మరియు నాన్న ఒకరినొకరు కుందేళ్ళలా ప్రేమిస్తారు, 100 మంది పిల్లలను కలిగి ఉన్నారు, ఆపై మరో 50 మందిని దత్తత తీసుకున్నారు.
కాబట్టి, మీరు మమ్మల్నందరినీ ప్రేమిస్తారు మరియు మా పేర్లు, పుట్టినరోజులు, ఇష్టమైన ఐస్క్రీం రుచులు, దుస్తుల పరిమాణాలు, అభిరుచులు, జీవిత భాగస్వాముల పేర్లు, సంతానం పేర్లు మరియు ఇతర అతి ముఖ్యమైన వాస్తవాలు ఏవీ మర్చిపోకూడదు. అయితే, దానిని ఎదుర్కొందాం. మీ వయస్సు 85 సంవత్సరాలు మరియు మంచి పాత జ్ఞాపకశక్తిని భరించలేము.
అదృష్టవశాత్తూ, మీ మనవరాళ్లలో అత్యంత తెలివైన వ్యక్తి కావడంతో నేను సహాయం చేయగలను. కాబట్టి నేను మీ ఇంటికి వచ్చాను, కొన్ని కాగితాలను తీసివేసి, మేము ప్రారంభించడానికి ముందు కొన్ని కుకీలను కాల్చమని అడుగుతాను.
ఒక కాగితపు షీట్లో మేము "" అనే జాబితాను తయారు చేస్తాము.మనవాళ్ళు" ప్రతి మనవడు దాని గురించిన కొన్ని ముఖ్యమైన సమాచారంతో రికార్డ్ చేయబడింది, ప్రత్యేక సంఖ్యతో సహా ఇప్పుడు ఏది సూచిస్తుంది మనవడు అతడు. అలాగే, సంస్థ కోసం, మేము జాబితా ఎగువన పేరు పెట్టబడిన లక్షణాలను వ్రాస్తాము, తద్వారా జాబితా ఏ సమాచారాన్ని కలిగి ఉందో మాకు ఎల్లప్పుడూ తెలుసు.
id
పేరు
పుట్టినరోజు
చివరి సందర్శన
దుస్తులు పరిమాణం
ఇష్టమైన ఐస్ క్రీం
స్వీకరించింది
1
జిమ్మీ
09-22-1992
09-01-2019
L
మింట్ చాక్లెట్
తప్పుడు
2
జెస్సికా
07-21-1992
02-22-2018
M
రాళ్ళతో కూడిన దారి
నిజమైన
...జాబితాను కొనసాగించు!
మనవళ్ల జాబితా
కొంతకాలం తర్వాత మీరు అన్నింటినీ గుర్తించి, మేము జాబితాను దాదాపు పూర్తి చేసాము! అయితే, మీరు నా వైపు తిరిగి ఇలా చెప్పండి: "జీవిత భాగస్వాములు, అభిరుచులు, మనవరాళ్ల కోసం మేము స్థలాన్ని జోడించడం మర్చిపోయాము!" కానీ లేదు, మేము మరచిపోలేదు! ఇది మరింత కొనసాగుతుంది మరియు కొత్త కాగితపు షీట్ అవసరం.
కాబట్టి నేను మరొక కాగితాన్ని బయటకు తీస్తాను మరియు దానిపై మేము జాబితాను పిలుస్తాము జీవిత భాగస్వాములు. మేము మళ్లీ జాబితా ప్రారంభంలో మనకు ముఖ్యమైన లక్షణాలను జోడిస్తాము మరియు వరుసలలో జోడించడం ప్రారంభిస్తాము.
id
మనవడు_id
పేరు
పుట్టినరోజు
1
2
జాన్
06-01-1988
2
9
Fernanda
03-05-1985
...మరింత మంది జీవిత భాగస్వాములు!
జీవిత భాగస్వాముల జాబితా
ఈ దశలో, నేను మా అమ్మమ్మకి వివరిస్తాను, ఆమె ఎవరిని వివాహం చేసుకున్నదో తెలుసుకోవాలంటే, ఆమె పోల్చి చూడవలసి ఉంటుంది id జాబితాలో మనవాళ్ళు с మనవడు_id జీవిత భాగస్వాముల జాబితాలో.
రెండు డజన్ల కుక్కీల తర్వాత, నేను ఒక ఎన్ఎపి తీసుకోవాలి. "మీరు కొనసాగించగలరా, అమ్మమ్మా?" నేను నిద్రించడానికి బయలుదేరుతున్నాను.
నేను కొన్ని గంటల్లో తిరిగి వస్తాను. నువ్వు బాగున్నావు అమ్మమ్మా! జాబితా మినహా ప్రతిదీ చాలా బాగుంది అభిరుచి. జాబితాలో సుమారు 1000 హాబీలు ఉన్నాయి. వాటిలో చాలా వరకు పునరావృతమవుతాయి; ఏం జరిగింది?
మనవడు_id
అభిరుచి
1
బైకింగ్
4
బైకింగ్
3
బైకింగ్
7
నడుస్తున్న
11
బైకింగ్
...ముందుకు సాగిద్దాము!
క్షమించండి, నేను చెప్పడం పూర్తిగా మర్చిపోయాను! ఒక జాబితాను ఉపయోగించి, మీరు మాత్రమే ట్రాక్ చేయవచ్చు అభిరుచి. అప్పుడు మరొక జాబితాలో మనం ట్రాక్ చేయాలి మనవాళ్ళుఎవరు దీన్ని చేస్తున్నారు అభిరుచి. మేము దానిని పిలుస్తాము "సాధారణ జాబితా". మీకు నచ్చకపోవడాన్ని చూసి, నేను ఆందోళన చెందడం ప్రారంభించాను మరియు జాబితా మోడ్కి తిరిగి వెళ్తాను.
id
అభిరుచి
1
బైకింగ్
2
నడుస్తున్న
3
ఈత
... మరిన్ని హాబీలు!
అభిరుచుల జాబితా
మేము మా అభిరుచి జాబితాను కలిగి ఉన్న తర్వాత, మేము మా రెండవ జాబితాను సృష్టించి, దానిని పిలుస్తాము "మనవళ్ల అభిరుచులు".
మనవడు_id
అభిరుచి_ఐడి
4
1
3
1
7
2
…మరింత!
మనవళ్ల అభిరుచుల సాధారణ జాబితా
ఇంత పని చేసిన తర్వాత, అమ్మమ్మ ఇప్పుడు తన అద్భుతమైన పెద్ద కుటుంబాన్ని ట్రాక్ చేయడానికి కూల్ మెమరీ సిస్టమ్ని కలిగి ఉంది. ఆపై - నన్ను ఎక్కువసేపు ఉంచడానికి - ఆమె మాయా ప్రశ్న అడుగుతుంది: “ఇవన్నీ చేయడం మీరు ఎక్కడ నేర్చుకున్నారు?”
రిలేషనల్ డేటాబేస్లు
రిలేషనల్ డేటాబేస్ అనేది మీరు యాక్సెస్ చేయగల అధికారికంగా వివరించిన పట్టికల సమితి (మా ఉదాహరణలో ఇవి షీట్లు) డేటా లేదా పట్టికలను పునర్వ్యవస్థీకరించకుండా వాటిని వివిధ మార్గాల్లో సేకరించండి డేటాబేస్. అనేక రకాల రిలేషనల్ డేటాబేస్లు ఉన్నాయి, కానీ దురదృష్టవశాత్తూ కాగితంపై ఉన్న జాబితా వాటిలో ఒకటి కాదు.
అత్యంత ప్రజాదరణ పొందిన రిలేషనల్ డేటాబేస్ల యొక్క విలక్షణమైన లక్షణం ప్రశ్న భాష SQL (స్ట్రక్చర్డ్ క్వెరీ లాంగ్వేజ్). దానికి ధన్యవాదాలు, అమ్మమ్మ తన మెమరీ సిస్టమ్ను కంప్యూటర్కు బదిలీ చేస్తే, ఆమె త్వరగా ఇలాంటి ప్రశ్నలకు సమాధానం పొందవచ్చు: “గత సంవత్సరం నన్ను ఎవరు సందర్శించలేదు, వివాహం చేసుకున్నారా మరియు అభిరుచులు లేవా?”
అత్యంత ప్రజాదరణ పొందిన SQL డేటాబేస్ మేనేజ్మెంట్ సిస్టమ్లలో ఒకటి ఓపెన్ సోర్స్ MySQL. ఇది ప్రాథమికంగా వెబ్ ఆధారిత సాఫ్ట్వేర్ అప్లికేషన్ల కోసం రిలేషనల్ డేటాబేస్ మేనేజ్మెంట్ సిస్టమ్ (RDBMS)గా అమలు చేయబడుతుంది.
MySQL యొక్క కొన్ని ముఖ్య లక్షణాలు:
- ఇది బాగా తెలిసినది, విస్తృతంగా ఉపయోగించబడుతుంది మరియు పూర్తిగా పరీక్షించబడింది.
- SQL మరియు రిలేషనల్ డేటాబేస్లతో పనిచేసిన అనుభవం ఉన్న చాలా మంది అర్హత కలిగిన డెవలపర్లు ఉన్నారు.
- డేటా వివిధ పట్టికలలో నిల్వ చేయబడుతుంది, ఇది ప్రాథమిక మరియు విదేశీ కీలను (ఐడెంటిఫైయర్లు) ఉపయోగించి సంబంధాలను ఏర్పరచుకోవడం సులభం చేస్తుంది.
- ఇది ఉపయోగించడం సులభం మరియు ప్రభావవంతంగా ఉంటుంది, ఇది పెద్ద మరియు చిన్న వ్యాపారాలకు అనువైనది.
- సోర్స్ కోడ్ GNU జనరల్ పబ్లిక్ లైసెన్స్ నిబంధనల ప్రకారం ఉంది.
ఇప్పుడు అది మర్చిపో ALL.
అమ్మమ్మకు NoSQLని వివరిస్తున్నారు
అమ్మమ్మ, మాది పెద్ద కుటుంబం. అందులో మనవాళ్ళు 150 మంది! వారిలో చాలామంది పెళ్లయినవారు, పిల్లలు ఉన్నారు, ఏదో ఒకదానిపై ఆసక్తి కలిగి ఉంటారు. మీ వయస్సులో మనందరి గురించి ప్రతిదీ గుర్తుంచుకోవడం అసాధ్యం. మీకు కావలసింది కంఠస్థం వ్యవస్థ!
అదృష్టవశాత్తూ, I కాదు మీరు నా పుట్టినరోజు మరియు నాకు ఇష్టమైన ఐస్ క్రీం రుచిని మరచిపోవాలని నేను కోరుకుంటున్నాను, నేను సహాయం చేయగలను. కాబట్టి నేను సమీపంలోని దుకాణానికి పరిగెత్తి, నోట్బుక్ తీసుకొని మీ ఇంటికి తిరిగి వస్తాను.
నా నోట్బుక్ కవర్పై “మనవరాళ్లు” అని పెద్ద పెద్ద అక్షరాలతో రాయడం నేను తీసుకునే మొదటి అడుగు. అప్పుడు నేను మొదటి పేజీకి తిరుగుతాను మరియు మీరు నా గురించి గుర్తుంచుకోవాల్సిన ప్రతిదాన్ని వ్రాయడం ప్రారంభిస్తాను. కొన్ని నిమిషాల తర్వాత పేజీ ఇలా కనిపిస్తుంది.
{
"_id":"dkdigiye82gd87gd99dg87gd",
"name":"Cody",
"birthday":"09-12-2006",
"last_visit":"09-02-2019",
"clothing_size":"XL",
"favorite_ice_cream":"Fudge caramel",
"adopted":false,
"hobbies":[
"video games",
"computers",
"cooking"
],
"spouse":null,
"kids":[
],
"favorite_picture":"file://scrapbook-103/christmas-2010.jpg",
"misc_notes":"Prefers ice-cream cake on birthday instead of chocolate cake!"
}
Я: "అంతా సిద్ధంగా ఉన్నట్లుంది!"
అమ్మమ్మ: “ఆగండి, మిగతా మనవరాళ్ల సంగతేంటి?”
Я: "అవును ఖచ్చితంగా. అప్పుడు మేము ప్రతిదానికీ ఒక పేజీని కేటాయిస్తాము.
అమ్మమ్మ: "నేను మీ కోసం వ్రాసినట్లుగా అందరి కోసం ఒకే సమాచారాన్ని వ్రాయవలసి ఉంటుందా?"
Я: “లేదు, మీకు కావాలంటే మాత్రమే. నన్ను చూపించనివ్వండి."
నా అమ్మమ్మ పెన్ను తీసుకొని, నేను పేజీని తిప్పాను మరియు నాకు కనీసం ఇష్టమైన కజిన్ గురించి సమాచారాన్ని త్వరగా వ్రాస్తాను.
{
"_id":"dh97dhs9b39397ss001",
"name":"Tanner",
"birthday":"09-12-2008",
"clothing_size":"S",
"friend_count":0,
"favorite_picture":null,
"remember":"Born on same day as Cody but not as important"
}
బామ్మ తన మనవళ్లలో ఒకరి గురించి ఏదైనా గుర్తుంచుకోవాల్సిన అవసరం వచ్చినప్పుడు, ఆమె తన మనవళ్ల నోట్బుక్లో సరైన పేజీకి మాత్రమే వెళ్లాలి. వారి గురించిన మొత్తం సమాచారం వారి పేజీలోనే నిల్వ చేయబడుతుంది, దానిని ఆమె త్వరగా మార్చవచ్చు మరియు నవీకరించవచ్చు.
ప్రతిదీ పూర్తయిన తర్వాత, ఆమె మాయా ప్రశ్న అడుగుతుంది: "ఇవన్నీ చేయడానికి మీరు ఎక్కడ నేర్చుకున్నారు?"
NoSQL డేటాబేస్లు
చాలా ఉన్నాయి NoSQL డేటాబేస్లు ("కేవలం SQL కాదు"). మా ఉదాహరణలలో మేము చూపించాము డాక్యుమెంట్ డేటాబేస్. రిలేషనల్ డేటాబేస్లలో ఉపయోగించే పట్టిక సంబంధాలను తొలగించే మార్గాల్లో NoSQL డేటాబేస్ మోడల్ డేటా. ఈ డేటాబేస్లు 2000ల ప్రారంభంలో క్లౌడ్-ఆధారిత డేటాబేస్ క్లస్టరింగ్ అవసరమయ్యే కంపెనీల మధ్య వాటి స్కేలింగ్ అవసరాల కారణంగా (ఉదా. Facebook) జనాదరణ పొందాయి. అటువంటి అనువర్తనాల్లో, పనితీరు మరియు స్కేలబిలిటీ కంటే డేటా స్థిరత్వం చాలా తక్కువ ముఖ్యమైనది.
ప్రారంభంలో, NoSQL డేటాబేస్లు తరచుగా సముచిత డేటా నిర్వహణ పనుల కోసం ఉపయోగించబడ్డాయి. ప్రాథమికంగా, వెబ్ మరియు క్లౌడ్ అప్లికేషన్ల విషయానికి వస్తే, NoSQL డేటాబేస్లు గణనీయమైన మొత్తంలో డేటాను ప్రాసెస్ చేసి పంపిణీ చేస్తాయి. NoSQL ఇంజనీర్లు డేటా స్కీమా (లేదా దాని లేకపోవడం) యొక్క సౌలభ్యాన్ని కూడా ఇష్టపడ్డారు, తద్వారా అప్గ్రేడబుల్ అప్లికేషన్లలో వేగవంతమైన మార్పులు సాధ్యమవుతాయి.
NoSQL యొక్క ముఖ్య లక్షణాలు:
- డేటాను నిల్వ చేయడానికి చాలా సౌకర్యవంతమైన మార్గం
- క్లస్టర్లకు క్షితిజ సమాంతర స్కేలింగ్
- పట్టుదల/ప్రచారం కోసం సాధ్యమయ్యే క్రమం
- ప్రత్యేక కీలను ఉపయోగించి గుర్తించబడిన పత్రాలు
వివరణాత్మక పోలిక
MySQLకి నిర్వచించబడిన మరియు నిర్మాణాత్మక స్కీమా అవసరం.
NoSQL ఏదైనా డేటాను “పత్రం”లో నిల్వ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
MySQLకు భారీ సంఘం మద్దతు ఇస్తుంది.
NoSQL ఒక చిన్న మరియు వేగంగా అభివృద్ధి చెందుతున్న సంఘాన్ని కలిగి ఉంది.
NoSQL స్కేల్ చేయడం సులభం.
MySQLకి మరింత నిర్వహణ అవసరం.
MySQL SQLని ఉపయోగిస్తుంది, ఇది అనేక రకాల డేటాబేస్లలో ఉపయోగించబడుతుంది.
NoSQL అనేది జనాదరణ పొందిన అమలులతో డిజైన్ ద్వారా డేటాబేస్.
MySQL ప్రామాణిక ప్రశ్న భాషను (SQL) ఉపయోగిస్తుంది.
NoSQL ప్రామాణిక ప్రశ్న భాషను ఉపయోగించదు.
MySQL అనేక గొప్ప రిపోర్టింగ్ సాధనాలను కలిగి ఉంది.
NoSQL అనేక రిపోర్టింగ్ సాధనాలను కలిగి ఉంది, వీటిని ప్రామాణీకరించడం కష్టం.
MySQL పెద్ద డేటా కోసం పనితీరు సమస్యలను కలిగి ఉండవచ్చు.
NoSQL పెద్ద డేటాపై అద్భుతమైన పనితీరును అందిస్తుంది.
ఆలోచనలు 8 బేస్
సంస్థలో
రిపోర్టింగ్, లావాదేవీల సమగ్రత మరియు బాగా నిర్వచించబడిన డేటా మోడల్లు అవసరమయ్యే వ్యాపార అనువర్తనాలను రూపొందించే స్టార్టప్లు మరియు డెవలపర్ల కోసం, మా అభిప్రాయం ప్రకారం, రిలేషనల్ డేటాబేస్లలో పెట్టుబడి పెట్టడం సరైన ఎంపిక.
8base.comతో Aurora, Serverless మరియు GraphQLతో అభివృద్ధి చేయడం గురించి మరింత తెలుసుకోండి
మూలం: www.habr.com