21వ శతాబ్దంలో SQL డేటాబేస్‌ను ఎలా బ్రతికించాలి: మేఘాలు, కుబెర్నెట్స్ మరియు పోస్ట్‌గ్రెస్‌ఎస్‌క్యూఎల్ మల్టీమాస్టర్

హలో, ఖబ్రోవ్స్క్ నివాసితులు. ఈ కోర్సులోని మొదటి గ్రూప్‌లోని తరగతులు ఈరోజు నుంచి ప్రారంభం కానున్నాయి "PostgreSQL". ఈ విషయంలో, ఈ కోర్సులో ఓపెన్ వెబ్‌నార్ ఎలా జరిగిందో మేము మీకు చెప్పాలనుకుంటున్నాము.

21వ శతాబ్దంలో SQL డేటాబేస్‌ను ఎలా బ్రతికించాలి: మేఘాలు, కుబెర్నెట్స్ మరియు పోస్ట్‌గ్రెస్‌ఎస్‌క్యూఎల్ మల్టీమాస్టర్

В తదుపరి ఓపెన్ పాఠం మేఘాలు మరియు కుబెర్నెట్స్ యుగంలో SQL డేటాబేస్‌లు ఎదుర్కొంటున్న సవాళ్ల గురించి మేము మాట్లాడాము. అదే సమయంలో, ఈ సవాళ్ల ప్రభావంతో SQL డేటాబేస్‌లు ఎలా స్వీకరించబడతాయి మరియు పరివర్తనం చెందుతాయి అని మేము చూశాము.

వెబ్‌నార్‌ నిర్వహించారు వాలెరి బెజ్రూకోవ్, EPAM సిస్టమ్స్‌లో Google క్లౌడ్ ప్రాక్టీస్ డెలివరీ మేనేజర్.

చెట్లు చిన్నగా ఉన్నప్పుడు...

మొదట, గత శతాబ్దం చివరిలో DBMS ఎంపిక ఎలా ప్రారంభమైందో గుర్తుంచుకోండి. అయితే, ఇది కష్టం కాదు, ఎందుకంటే ఆ రోజుల్లో DBMS ఎంపిక ప్రారంభమైంది మరియు ముగిసింది ఒరాకిల్.

21వ శతాబ్దంలో SQL డేటాబేస్‌ను ఎలా బ్రతికించాలి: మేఘాలు, కుబెర్నెట్స్ మరియు పోస్ట్‌గ్రెస్‌ఎస్‌క్యూఎల్ మల్టీమాస్టర్

90ల చివరలో మరియు 2ల ప్రారంభంలో, పారిశ్రామిక స్కేలబుల్ డేటాబేస్‌ల విషయానికి వస్తే తప్పనిసరిగా ఎంపిక లేదు. అవును, IBM DBXNUMX, Sybase మరియు కొన్ని ఇతర డేటాబేస్‌లు వచ్చి చేరాయి, కానీ సాధారణంగా అవి ఒరాకిల్ నేపథ్యంలో అంతగా గుర్తించబడలేదు. దీని ప్రకారం, ఆ కాలంలోని ఇంజనీర్ల నైపుణ్యాలు ఏదో ఒకవిధంగా ఉనికిలో ఉన్న ఏకైక ఎంపికతో ముడిపడి ఉన్నాయి.

ఒరాకిల్ DBA చేయగలిగింది:

  • పంపిణీ కిట్ నుండి ఒరాకిల్ సర్వర్‌ని ఇన్‌స్టాల్ చేయండి;
  • ఒరాకిల్ సర్వర్‌ను కాన్ఫిగర్ చేయండి:

  • init.ora;
  • శ్రోత.ఓరా;

- సృష్టించు:

  • టేబుల్స్పేసులు;
  • పథకాలు;
  • వినియోగదారులు;

- బ్యాకప్ చేయండి మరియు పునరుద్ధరించండి;
- పర్యవేక్షణ నిర్వహించండి;
- ఉపశీర్షిక అభ్యర్థనలతో వ్యవహరించండి.

అదే సమయంలో, ఒరాకిల్ DBA నుండి ప్రత్యేక అవసరం లేదు:

  • డేటాను నిల్వ చేయడానికి మరియు ప్రాసెస్ చేయడానికి సరైన DBMS లేదా ఇతర సాంకేతికతను ఎంచుకోగలుగుతారు;
  • అధిక లభ్యత మరియు క్షితిజ సమాంతర స్కేలబిలిటీని అందించండి (ఇది ఎల్లప్పుడూ DBA సమస్య కాదు);
  • సబ్జెక్ట్ ఏరియా, ఇన్‌ఫ్రాస్ట్రక్చర్, అప్లికేషన్ ఆర్కిటెక్చర్, OS గురించి మంచి పరిజ్ఞానం;
  • డేటాను లోడ్ చేయండి మరియు అన్‌లోడ్ చేయండి, వివిధ DBMSల మధ్య డేటాను మైగ్రేట్ చేయండి.

సాధారణంగా, మేము ఆ రోజుల్లో ఎంపిక గురించి మాట్లాడినట్లయితే, ఇది 80 ల చివరలో సోవియట్ స్టోర్లో ఎంపికను పోలి ఉంటుంది:

21వ శతాబ్దంలో SQL డేటాబేస్‌ను ఎలా బ్రతికించాలి: మేఘాలు, కుబెర్నెట్స్ మరియు పోస్ట్‌గ్రెస్‌ఎస్‌క్యూఎల్ మల్టీమాస్టర్

మా సమయం

అప్పటి నుండి, చెట్లు పెరిగాయి, ప్రపంచం మారిపోయింది మరియు ఇది ఇలా మారింది:

21వ శతాబ్దంలో SQL డేటాబేస్‌ను ఎలా బ్రతికించాలి: మేఘాలు, కుబెర్నెట్స్ మరియు పోస్ట్‌గ్రెస్‌ఎస్‌క్యూఎల్ మల్టీమాస్టర్

గార్ట్‌నర్ నుండి తాజా నివేదిక నుండి స్పష్టంగా చూడగలిగే విధంగా, DBMS మార్కెట్ కూడా మార్చబడింది:

21వ శతాబ్దంలో SQL డేటాబేస్‌ను ఎలా బ్రతికించాలి: మేఘాలు, కుబెర్నెట్స్ మరియు పోస్ట్‌గ్రెస్‌ఎస్‌క్యూఎల్ మల్టీమాస్టర్

మరియు ఇక్కడ మేఘాలు, దీని ప్రజాదరణ పెరుగుతోంది, వారి సముచిత స్థానాన్ని ఆక్రమించాయని గమనించాలి. మేము అదే గార్ట్‌నర్ నివేదికను చదివితే, మేము ఈ క్రింది తీర్మానాలను చూస్తాము:

  1. చాలా మంది కస్టమర్‌లు అప్లికేషన్‌లను క్లౌడ్‌కి తరలించే మార్గంలో ఉన్నారు.
  2. కొత్త సాంకేతికతలు మొదట క్లౌడ్‌లో కనిపిస్తాయి మరియు అవి ఎప్పటికీ క్లౌడ్ కాని అవస్థాపనకు తరలించబడతాయనేది వాస్తవం కాదు.
  3. మీరు వెళ్లినప్పుడు చెల్లించే ధరల నమూనా సాధారణమైంది. ప్రతి ఒక్కరూ వారు ఉపయోగించే వాటికి మాత్రమే చెల్లించాలని కోరుకుంటారు మరియు ఇది కూడా ఒక ధోరణి కాదు, కానీ కేవలం వాస్తవ ప్రకటన.

ఇప్పుడు ఏంటి?

ఈ రోజు మనమందరం క్లౌడ్‌లో ఉన్నాము. మరియు మనకు తలెత్తే ప్రశ్నలు ఎంపిక ప్రశ్నలు. మరియు మేము ఆన్-ప్రాంగణ ఆకృతిలో DBMS టెక్నాలజీల ఎంపిక గురించి మాత్రమే మాట్లాడినప్పటికీ, ఇది చాలా పెద్దది. మేము సేవలు మరియు SaaSని కూడా నిర్వహించాము. అందువలన, ఎంపిక మాత్రమే ప్రతి సంవత్సరం మరింత కష్టం అవుతుంది.

ఎంపిక ప్రశ్నలతో పాటు, కూడా ఉన్నాయి పరిమితం చేసే కారకాలు:

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

DA/DE నుండి ఇప్పుడు ఏమి ఆశించబడుతోంది:

  • సబ్జెక్ట్ ఏరియా మరియు అప్లికేషన్ ఆర్కిటెక్చర్‌పై మంచి అవగాహన;
  • చేతిలో ఉన్న పనిని పరిగణనలోకి తీసుకొని తగిన DBMS సాంకేతికతను సరిగ్గా ఎంచుకునే సామర్థ్యం;
  • ఇప్పటికే ఉన్న పరిమితుల సందర్భంలో ఎంచుకున్న సాంకేతికతను అమలు చేయడానికి సరైన పద్ధతిని ఎంచుకునే సామర్థ్యం;
  • డేటా బదిలీ మరియు వలసలను నిర్వహించగల సామర్థ్యం;
  • ఎంచుకున్న పరిష్కారాలను అమలు చేయగల మరియు నిర్వహించగల సామర్థ్యం.

దిగువ ఉదాహరణ GCP ఆధారంగా డేటాతో పనిచేయడానికి ఒకటి లేదా మరొక సాంకేతికత యొక్క ఎంపిక దాని నిర్మాణాన్ని బట్టి ఎలా పనిచేస్తుందో చూపిస్తుంది:

21వ శతాబ్దంలో SQL డేటాబేస్‌ను ఎలా బ్రతికించాలి: మేఘాలు, కుబెర్నెట్స్ మరియు పోస్ట్‌గ్రెస్‌ఎస్‌క్యూఎల్ మల్టీమాస్టర్

దయచేసి PostgreSQL స్కీమాలో చేర్చబడలేదు మరియు ఇది పరిభాషలో దాచబడినందున ఇది జరిగింది క్లౌడ్ SQL. మరియు మేము క్లౌడ్ SQLకి చేరుకున్నప్పుడు, మేము మళ్లీ ఎంపిక చేసుకోవాలి:

21వ శతాబ్దంలో SQL డేటాబేస్‌ను ఎలా బ్రతికించాలి: మేఘాలు, కుబెర్నెట్స్ మరియు పోస్ట్‌గ్రెస్‌ఎస్‌క్యూఎల్ మల్టీమాస్టర్

ఈ ఎంపిక ఎల్లప్పుడూ స్పష్టంగా ఉండదని గమనించాలి, కాబట్టి అప్లికేషన్ డెవలపర్లు తరచుగా అంతర్ దృష్టి ద్వారా మార్గనిర్దేశం చేస్తారు.

మొత్తం:

  1. మీరు మరింత ముందుకు వెళితే, ఎంపిక ప్రశ్న మరింత ఒత్తిడి అవుతుంది. మరియు మీరు GCP, మేనేజ్డ్ సర్వీసెస్ మరియు SaaSలను మాత్రమే చూసినప్పటికీ, RDBMS గురించి కొంత ప్రస్తావన 4వ దశలో మాత్రమే కనిపిస్తుంది (మరియు అక్కడ స్పానర్ సమీపంలో ఉంది). అదనంగా, PostgreSQL ఎంపిక 5వ దశలో కనిపిస్తుంది మరియు దాని పక్కనే MySQL మరియు SQL సర్వర్ కూడా ఉన్నాయి, అంటే ప్రతిదీ చాలా ఉంది, కానీ మీరు ఎంచుకోవాలి.
  2. ప్రలోభాల నేపథ్యానికి వ్యతిరేకంగా పరిమితుల గురించి మనం మరచిపోకూడదు. సాధారణంగా ప్రతి ఒక్కరూ స్పానర్‌ని కోరుకుంటారు, కానీ అది ఖరీదైనది. ఫలితంగా, ఒక సాధారణ అభ్యర్థన ఇలా కనిపిస్తుంది: "దయచేసి మమ్మల్ని స్పానర్‌గా మార్చండి, అయితే క్లౌడ్ SQL ధర కోసం, మీరు నిపుణులు!"

21వ శతాబ్దంలో SQL డేటాబేస్‌ను ఎలా బ్రతికించాలి: మేఘాలు, కుబెర్నెట్స్ మరియు పోస్ట్‌గ్రెస్‌ఎస్‌క్యూఎల్ మల్టీమాస్టర్

నేనేం చేయాలి?

అంతిమ సత్యం అని చెప్పకుండా, ఈ క్రింది విధంగా చెప్పండి:

మనం నేర్చుకునే విధానాన్ని మార్చుకోవాలి:

  • ఇంతకు ముందు DBAలు బోధించిన విధంగా బోధించడంలో అర్థం లేదు;
  • ఒక ఉత్పత్తి యొక్క జ్ఞానం ఇకపై సరిపోదు;
  • కానీ ఒక స్థాయిలో డజన్ల కొద్దీ తెలుసుకోవడం అసాధ్యం.

మీరు ఉత్పత్తి ఎంత అని మాత్రమే తెలుసుకోవాలి, కానీ:

  • దాని అప్లికేషన్ యొక్క ఉపయోగం కేసు;
  • వివిధ విస్తరణ పద్ధతులు;
  • ప్రతి పద్ధతి యొక్క ప్రయోజనాలు మరియు అప్రయోజనాలు;
  • సారూప్య మరియు ప్రత్యామ్నాయ ఉత్పత్తులు సమాచారం మరియు సరైన ఎంపిక చేయడానికి మరియు ఎల్లప్పుడూ తెలిసిన ఉత్పత్తికి అనుకూలంగా ఉండవు.

మీరు డేటాను మైగ్రేట్ చేయగలగాలి మరియు ETLతో అనుసంధానం యొక్క ప్రాథమిక సూత్రాలను కూడా అర్థం చేసుకోవాలి.

నిజమైన కేసు

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

  • CI/CDని నిర్మించండి;
  • నిర్మాణాన్ని సమీక్షించండి;
  • అన్నింటినీ అమలులోకి తెచ్చింది.

అప్లికేషన్ మైక్రోసర్వీస్, మరియు పైథాన్/జంగో కోడ్ మొదటి నుండి మరియు నేరుగా GCPలో అభివృద్ధి చేయబడింది. లక్ష్య ప్రేక్షకుల విషయానికొస్తే, US మరియు EU అనే రెండు ప్రాంతాలు ఉంటాయని భావించబడింది మరియు గ్లోబల్ లోడ్ బ్యాలెన్సర్ ద్వారా ట్రాఫిక్ పంపిణీ చేయబడింది. అన్ని వర్క్‌లోడ్‌లు మరియు కంప్యూట్ వర్క్‌లోడ్ Google Kubernetes ఇంజిన్‌లో నడిచింది.

డేటా విషయానికొస్తే, 3 నిర్మాణాలు ఉన్నాయి:

  • క్లౌడ్ నిల్వ;
  • డేటాస్టోర్;
  • క్లౌడ్ SQL (PostgreSQL).

21వ శతాబ్దంలో SQL డేటాబేస్‌ను ఎలా బ్రతికించాలి: మేఘాలు, కుబెర్నెట్స్ మరియు పోస్ట్‌గ్రెస్‌ఎస్‌క్యూఎల్ మల్టీమాస్టర్

క్లౌడ్ SQL ఎందుకు ఎంపిక చేయబడిందని ఎవరైనా ఆశ్చర్యపోవచ్చు? నిజం చెప్పాలంటే, అటువంటి ప్రశ్న ఇటీవలి సంవత్సరాలలో ఒక రకమైన ఇబ్బందికరమైన పాజ్‌ని కలిగించింది - రిలేషనల్ డేటాబేస్‌ల గురించి ప్రజలు సిగ్గుపడుతున్నారనే భావన ఉంది, అయినప్పటికీ వారు వాటిని చురుకుగా ఉపయోగించడం కొనసాగిస్తున్నారు ;-).

మా విషయానికి వస్తే, క్లౌడ్ SQL క్రింది కారణాల వల్ల ఎంచుకోబడింది:

  1. పేర్కొన్నట్లుగా, అప్లికేషన్ జంగోను ఉపయోగించి అభివృద్ధి చేయబడింది మరియు ఇది SQL డేటాబేస్ నుండి పైథాన్ ఆబ్జెక్ట్‌లకు (జాంగో ORM) నిరంతర డేటాను మ్యాపింగ్ చేయడానికి ఒక నమూనాను కలిగి ఉంది.
  2. ఫ్రేమ్‌వర్క్ కూడా చాలా పరిమితమైన DBMSల జాబితాకు మద్దతు ఇచ్చింది:

  • PostgreSQL;
  • మరియాడిబి;
  • MySQL;
  • ఒరాకిల్;
  • SQLite.

తదనుగుణంగా, PostgreSQL ఈ జాబితా నుండి అకారణంగా ఎంపిక చేయబడింది (అలాగే, ఇది ఒరాకిల్ ఎంచుకోవడానికి కాదు, నిజంగా).

ఏమి లేదు:

  • అప్లికేషన్ 2 ప్రాంతాలలో మాత్రమే అమలు చేయబడింది మరియు 3వది ప్లాన్‌లలో (ఆసియా) కనిపించింది;
  • డేటాబేస్ ఉత్తర అమెరికా ప్రాంతంలో (అయోవా) ఉంది;
  • కస్టమర్ వైపు నుండి సాధ్యమయ్యే ఆందోళనలు ఉన్నాయి యాక్సెస్ ఆలస్యం యూరోప్ మరియు ఆసియా నుండి మరియు అంతరాయాలు సేవలో DBMS పనికిరాని సమయంలో.

జంగో అనేక డేటాబేస్‌లతో సమాంతరంగా పనిచేయగలదు మరియు వాటిని చదవడం మరియు వ్రాయడంగా విభజించగలదనే వాస్తవం ఉన్నప్పటికీ, అప్లికేషన్‌లో అంతగా రాయడం లేదు (90% కంటే ఎక్కువ చదువుతోంది). మరియు సాధారణంగా, మరియు సాధారణంగా, అది సాధ్యమైతే రీడ్-ఐరోపా మరియు ఆసియాలోని ప్రధాన స్థావరం యొక్క ప్రతిరూపం, ఇది రాజీ పరిష్కారం అవుతుంది. బాగా, దాని గురించి చాలా సంక్లిష్టమైనది ఏమిటి?

కష్టమేమిటంటే, వినియోగదారుడు నిర్వహించబడే సేవలు మరియు క్లౌడ్ SQLని ఉపయోగించడం మానేయడానికి ఇష్టపడలేదు. మరియు క్లౌడ్ SQL యొక్క సామర్థ్యాలు ప్రస్తుతం పరిమితం చేయబడ్డాయి. క్లౌడ్ SQL అధిక లభ్యత (HA) మరియు రీడ్ రెప్లికా (RR)కి మద్దతు ఇస్తుంది, అయితే అదే RRకి ఒక ప్రాంతంలో మాత్రమే మద్దతు ఉంటుంది. అమెరికన్ ప్రాంతంలో డేటాబేస్ సృష్టించిన తర్వాత, మీరు క్లౌడ్ SQLని ఉపయోగించి యూరోపియన్ ప్రాంతంలో రీడ్ రెప్లికాను తయారు చేయలేరు, అయినప్పటికీ పోస్ట్‌గ్రెస్ మిమ్మల్ని దీన్ని చేయకుండా నిరోధించదు. Google ఉద్యోగులతో కరస్పాండెన్స్ ఎక్కడికీ దారితీయలేదు మరియు "మాకు సమస్య తెలుసు మరియు దానిపై పని చేస్తున్నాము, ఏదో ఒక రోజు సమస్య పరిష్కరించబడుతుంది" అనే శైలిలో వాగ్దానాలతో ముగిసింది.

మేము క్లౌడ్ SQL యొక్క సామర్థ్యాలను క్లుప్తంగా జాబితా చేస్తే, అది ఇలా కనిపిస్తుంది:

1. అధిక లభ్యత (HA):

  • ఒక ప్రాంతంలో;
  • డిస్క్ రెప్లికేషన్ ద్వారా;
  • PostgreSQL ఇంజన్లు ఉపయోగించబడవు;
  • స్వయంచాలక మరియు మాన్యువల్ నియంత్రణ సాధ్యం - వైఫల్యం / వైఫల్యం;
  • మారుతున్నప్పుడు, DBMS చాలా నిమిషాల వరకు అందుబాటులో ఉండదు.

2. ప్రతిరూపం (RR) చదవండి:

  • ఒక ప్రాంతంలో;
  • వేడి స్టాండ్బై;
  • PostgreSQL స్ట్రీమింగ్ రెప్లికేషన్.

అదనంగా, ఆచారంగా, సాంకేతికతను ఎన్నుకునేటప్పుడు మీరు ఎల్లప్పుడూ కొన్నింటిని ఎదుర్కొంటారు పరిమితులు:

  • కస్టమర్ GKE ద్వారా తప్ప, ఎంటిటీలను సృష్టించడానికి మరియు IaaSని ఉపయోగించడానికి ఇష్టపడలేదు;
  • కస్టమర్ స్వీయ సేవ PostgreSQL/MySQLని అమలు చేయడానికి ఇష్టపడరు;
  • సరే, సాధారణంగా, గూగుల్ స్పేనర్ దాని ధర కోసం కాకపోతే చాలా అనుకూలంగా ఉంటుంది, అయినప్పటికీ, జాంగో ORM దానితో పనిచేయదు, కానీ ఇది మంచి విషయం.

పరిస్థితిని పరిగణనలోకి తీసుకుని, కస్టమర్ తదుపరి ప్రశ్నను అందుకున్నారు: "గూగుల్ స్పేనర్ లాగా, జాంగో ORMతో కూడా పని చేసేలా మీరు ఇలాంటిదే ఏదైనా చేయగలరా?"

పరిష్కార ఎంపిక సంఖ్య. 0

గుర్తుకు వచ్చిన మొదటి విషయం:

  • CloudSQLలో ఉండండి;
  • ఏ రూపంలోనైనా ప్రాంతాల మధ్య అంతర్నిర్మిత ప్రతిరూపం ఉండదు;
  • PostgreSQL ద్వారా ఇప్పటికే ఉన్న క్లౌడ్ SQLకి ప్రతిరూపాన్ని జోడించడానికి ప్రయత్నించండి;
  • PostgreSQL ఉదాహరణను ఎక్కడో మరియు ఎలాగైనా ప్రారంభించండి, కానీ కనీసం మాస్టర్‌ను తాకవద్దు.

అయ్యో, ఇది చేయలేమని తేలింది, ఎందుకంటే హోస్ట్‌కు ప్రాప్యత లేదు (ఇది పూర్తిగా వేరే ప్రాజెక్ట్‌లో ఉంది) - pg_hba మరియు మొదలైనవి, మరియు సూపర్‌యూజర్ కింద కూడా యాక్సెస్ లేదు.

పరిష్కార ఎంపిక సంఖ్య. 1

మరింత ఆలోచించిన తర్వాత మరియు మునుపటి పరిస్థితులను పరిగణనలోకి తీసుకున్న తర్వాత, ఆలోచన యొక్క రైలు కొంతవరకు మారింది:

  • మేము ఇప్పటికీ CloudSQLలోనే ఉండటానికి ప్రయత్నిస్తున్నాము, కానీ MySQLకి మారుతున్నాము, ఎందుకంటే MySQL ద్వారా క్లౌడ్ SQL బాహ్య మాస్టర్‌ని కలిగి ఉంది, ఇది:

— బాహ్య MySQL కోసం ప్రాక్సీ;
- MySQL ఉదాహరణగా కనిపిస్తుంది;
- ఇతర మేఘాలు లేదా ఆన్-ప్రాంగణాల నుండి డేటాను తరలించడం కోసం కనుగొనబడింది.

MySQL రెప్లికేషన్‌ని సెటప్ చేయడం హోస్ట్‌కు యాక్సెస్ అవసరం లేదు కాబట్టి, సూత్రప్రాయంగా ప్రతిదీ పని చేస్తుంది, కానీ ఇది చాలా అస్థిరంగా మరియు అసౌకర్యంగా ఉంది. మరియు మేము మరింత ముందుకు వెళ్ళినప్పుడు, ఇది పూర్తిగా భయానకంగా మారింది, ఎందుకంటే మేము మొత్తం నిర్మాణాన్ని టెర్రాఫార్మ్‌తో అమర్చాము మరియు అకస్మాత్తుగా బాహ్య మాస్టర్‌కు టెరాఫార్మ్ మద్దతు లేదని తేలింది. అవును, Googleకి CLI ఉంది, కానీ కొన్ని కారణాల వల్ల ప్రతి ఒక్కటి ఇక్కడ పని చేస్తుంది - కొన్నిసార్లు ఇది సృష్టించబడుతుంది, కొన్నిసార్లు ఇది సృష్టించబడదు. బహుశా CLI బాహ్య డేటా మైగ్రేషన్ కోసం కనుగొనబడింది మరియు ప్రతిరూపాల కోసం కాదు.

వాస్తవానికి, క్లౌడ్ SQL అస్సలు సరిపోదని ఈ సమయంలో స్పష్టమైంది. వారు చెప్పినట్లు, మేము చేయగలిగినదంతా చేసాము.

పరిష్కార ఎంపిక సంఖ్య. 2

క్లౌడ్ SQL ఫ్రేమ్‌వర్క్‌లో ఉండటం సాధ్యం కానందున, మేము రాజీ పరిష్కారం కోసం అవసరాలను రూపొందించడానికి ప్రయత్నించాము. అవసరాలు క్రింది విధంగా మారాయి:

  • కుబెర్నెట్స్‌లో పని చేయడం, కుబెర్నెట్స్ (DCS, ...) మరియు GCP (LB, ...) యొక్క వనరులు మరియు సామర్థ్యాల గరిష్ట వినియోగం;
  • HA ప్రాక్సీ వంటి క్లౌడ్‌లోని అనవసరమైన విషయాల సమూహం నుండి బ్యాలస్ట్ లేకపోవడం;
  • ప్రధాన HA ప్రాంతంలో PostgreSQL లేదా MySQLని అమలు చేయగల సామర్థ్యం; ఇతర ప్రాంతాలలో - ప్రధాన ప్రాంతం యొక్క RR నుండి HA మరియు దాని కాపీ (విశ్వసనీయత కోసం);
  • బహుళ మాస్టర్ (నేను అతనిని సంప్రదించదలచుకోలేదు, కానీ అది చాలా ముఖ్యమైనది కాదు)

.
ఈ డిమాండ్ల ఫలితంగా, పితగిన DBMS మరియు బైండింగ్ ఎంపికలు:

  • MySQL గలేరా;
  • బొద్దింకDB;
  • PostgreSQL సాధనాలు

:
- pgpool-II;
- పాత్రోని.

MySQL గలేరా

MySQL Galera టెక్నాలజీని కోడర్‌షిప్ అభివృద్ధి చేసింది మరియు ఇది InnoDB కోసం ఒక ప్లగ్ఇన్. ప్రత్యేకతలు:

  • బహుళ మాస్టర్;
  • సింక్రోనస్ రెప్లికేషన్;
  • ఏదైనా నోడ్ నుండి చదవడం;
  • ఏదైనా నోడ్‌కి రికార్డింగ్;
  • అంతర్నిర్మిత HA యంత్రాంగం;
  • బిట్నామి నుండి హెల్మ్ చార్ట్ ఉంది.

బొద్దింక డిబి

వివరణ ప్రకారం, విషయం పూర్తిగా బాంబు మరియు గోలో వ్రాయబడిన ఓపెన్ సోర్స్ ప్రాజెక్ట్. ప్రధానంగా పాల్గొనేది బొద్దింక ల్యాబ్స్ (Google నుండి వ్యక్తులు స్థాపించినది). ఈ రిలేషనల్ DBMS వాస్తవానికి పంపిణీ చేయడానికి (బాక్స్ నుండి క్షితిజ సమాంతర స్కేలింగ్‌తో) మరియు తప్పును తట్టుకునేలా రూపొందించబడింది. కంపెనీకి చెందిన దాని రచయితలు "SQL ఫంక్షనాలిటీ యొక్క గొప్పతనాన్ని NoSQL సొల్యూషన్‌లకు సుపరిచితమైన క్షితిజ సమాంతర ప్రాప్యతతో కలపడం" యొక్క లక్ష్యాన్ని వివరించారు.

పోస్ట్-గ్రెస్ కనెక్షన్ ప్రోటోకాల్‌కు మంచి బోనస్ మద్దతు.

పిగ్పూల్

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

పాత్రోని

ఇది నా కళ్ళు పడిన చివరి విషయం, మరియు అది ముగిసినట్లుగా, ఫలించలేదు. Patroni అనేది ఓపెన్ సోర్స్ యుటిలిటీ, ఇది తప్పనిసరిగా పైథాన్ డెమోన్, ఇది వివిధ రకాల రెప్లికేషన్ మరియు ఆటోమేటిక్ రోల్ స్విచింగ్‌తో PostgreSQL క్లస్టర్‌లను స్వయంచాలకంగా నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తుంది. విషయం చాలా ఆసక్తికరంగా మారింది, ఎందుకంటే ఇది క్యూబర్‌తో బాగా కలిసిపోతుంది మరియు కొత్త ఎంటిటీలను పరిచయం చేయదు.

చివరికి మీరు ఏమి ఎంచుకున్నారు?

ఎంపిక సులభం కాదు:

  1. బొద్దింక డిబి - అగ్ని, కానీ చీకటి;
  2. MySQL గలేరా - కూడా చెడ్డది కాదు, ఇది చాలా ప్రదేశాలలో ఉపయోగించబడుతుంది, కానీ MySQL;
  3. పిగ్పూల్ — చాలా అనవసరమైన ఎంటిటీలు, కాబట్టి క్లౌడ్ మరియు K8లతో ఏకీకరణ;
  4. పాత్రోని - K8లతో అద్భుతమైన ఏకీకరణ, అనవసరమైన ఎంటిటీలు లేవు, GCP LBతో బాగా కలిసిపోతుంది.

అందువలన, ఎంపిక పాత్రోనిపై పడింది.

కనుగొన్న

క్లుప్తంగా చెప్పడానికి ఇది సమయం. అవును, IT ఇన్‌ఫ్రాస్ట్రక్చర్ ప్రపంచం గణనీయంగా మారిపోయింది మరియు ఇది ప్రారంభం మాత్రమే. మరియు ముందు మేఘాలు మరొక రకమైన మౌలిక సదుపాయాలు అయితే, ఇప్పుడు ప్రతిదీ భిన్నంగా ఉంటుంది. అంతేకాకుండా, మేఘాలలో ఆవిష్కరణలు నిరంతరం కనిపిస్తాయి, అవి కనిపిస్తాయి మరియు బహుశా, అవి మేఘాలలో మాత్రమే కనిపిస్తాయి మరియు అప్పుడే, స్టార్టప్‌ల ప్రయత్నాల ద్వారా, అవి ఆన్-ప్రాంగణానికి బదిలీ చేయబడతాయి.

SQL కొరకు, SQL ప్రత్యక్షంగా ఉంటుంది. దీని అర్థం మీరు PostgreSQL మరియు MySQLలను తెలుసుకోవాలి మరియు వాటితో పని చేయగలగాలి, అయితే వాటిని సరిగ్గా ఉపయోగించగలగడం మరింత ముఖ్యమైనది.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి