WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

జార్జి రైలోవ్ “WAL-G: కొత్త అవకాశాలు మరియు సంఘం విస్తరణ” 2020 ప్రారంభ నివేదిక యొక్క లిప్యంతరీకరణను చదవమని నేను మీకు సూచిస్తున్నాను.

ఓపెన్ సోర్స్ మెయింటెయినర్లు పెరుగుతున్న కొద్దీ అనేక సవాళ్లను ఎదుర్కొంటారు. మరిన్ని అవసరమైన ఫీచర్‌లను వ్రాయడం, మరిన్ని సమస్యలను పరిష్కరించడం మరియు మరిన్ని పుల్ అభ్యర్థనలను వీక్షించడం ఎలా? WAL-G (PostgreSQL కోసం బ్యాకప్-టూల్)ని ఉదాహరణగా ఉపయోగిస్తూ, యూనివర్సిటీలో ఓపెన్ సోర్స్ డెవలప్‌మెంట్‌పై కోర్సును ప్రారంభించడం ద్వారా మేము ఈ సమస్యలను ఎలా పరిష్కరించాము, మేము ఏమి సాధించాము మరియు తదుపరి ఎక్కడికి వెళ్తాము అని నేను మీకు చెప్తాను.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

మళ్ళీ అందరికీ నమస్కారం! నేను యెకాటెరిన్‌బర్గ్‌కు చెందిన యాండెక్స్ డెవలపర్‌ని. మరియు ఈ రోజు నేను WAL-G గురించి మాట్లాడతాను.

నివేదిక యొక్క శీర్షిక బ్యాకప్‌లకు సంబంధించినది అని చెప్పలేదు. WAL-G అంటే ఏమిటో ఎవరికైనా తెలుసా? లేక అందరికీ తెలుసా? తెలియకపోతే చేయి పైకెత్తండి. పవిత్రమైనది, మీరు నివేదికకు వచ్చారు మరియు దాని గురించి ఏమి తెలియదు.

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

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

మునుపటి సిరీస్‌లో ఆండ్రీ బోరోడిన్ మరియు వ్లాదిమిర్ లెస్కోవ్‌ల ద్వారా అనేక నివేదికలు ఉన్నాయి. మాలో చాలా మంది ఉన్నారు. మరియు మేము చాలా సంవత్సరాలుగా WAL-G గురించి మాట్లాడుతున్నాము.

clck.ru/F8ioz — https://www.highload.ru/moscow/2018/abstracts/3964

clck.ru/Ln8Qw — https://www.highload.ru/moscow/2019/abstracts/5981

ఈ నివేదిక ఇతరుల నుండి కొంచెం భిన్నంగా ఉంటుంది, అది సాంకేతిక భాగం గురించి ఎక్కువగా ఉంటుంది, కానీ ఇక్కడ నేను సంఘం యొక్క పెరుగుదలతో సంబంధం ఉన్న సమస్యలను ఎలా ఎదుర్కొన్నాము అనే దాని గురించి మాట్లాడుతాను. మరియు దీన్ని ఎదుర్కోవడంలో మాకు సహాయపడే చిన్న ఆలోచనతో మేము ఎలా వచ్చాము.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

కొన్ని సంవత్సరాల క్రితం, WAL-G అనేది మేము Citus డేటా నుండి పొందిన చాలా చిన్న ప్రాజెక్ట్. మరియు మేము దానిని తీసుకున్నాము. మరియు ఇది ఒక వ్యక్తిచే అభివృద్ధి చేయబడింది.

మరియు WAL-G మాత్రమే కలిగి లేదు:

  • ప్రతిరూపం నుండి బ్యాకప్.
  • పెరుగుతున్న బ్యాకప్‌లు లేవు.
  • WAL-డెల్టా బ్యాకప్‌లు లేవు.
  • మరియు ఇంకా చాలా తప్పిపోయింది.

ఈ కొన్ని సంవత్సరాలలో, WAL-G చాలా పెరిగింది.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

మరియు 2020 నాటికి, పైన పేర్కొన్నవన్నీ ఇప్పటికే కనిపించాయి. మరియు దీనికి ఇప్పుడు మన దగ్గర ఉన్నది జోడించబడింది:

  • GitHubలో 1 కంటే ఎక్కువ నక్షత్రాలు.
  • 150 ఫోర్కులు.
  • దాదాపు 15 ఓపెన్ PRలు.
  • ఇంకా చాలా మంది సహకారులు.
  • మరియు అన్ని సమయాలలో సమస్యలను తెరవండి. మరియు ఈ వాస్తవం ఉన్నప్పటికీ మేము అక్షరాలా ప్రతిరోజూ అక్కడికి వెళ్లి దాని గురించి ఏదైనా చేస్తాము.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

మరియు మేము Yandexలో మా మేనేజ్డ్ డేటాబేస్ సేవ కోసం ఏదైనా అమలు చేయనవసరం లేనప్పుడు కూడా, ఈ ప్రాజెక్ట్‌కు మా శ్రద్ధ ఎక్కువ అవసరమని మేము నిర్ధారణకు వచ్చాము.

మరియు ఎక్కడో 2018 శరదృతువులో, మన మనస్సులలో ఒక ఆలోచన వచ్చింది. సాధారణంగా మీకు తగినంత చేతులు లేకుంటే కొన్ని ఫీచర్‌లను అభివృద్ధి చేయడానికి లేదా బగ్‌లను పరిష్కరించడానికి బృందం అనేక మార్గాలను కలిగి ఉంటుంది. ఉదాహరణకు, మీరు మరొక డెవలపర్‌ని నియమించుకుని అతనికి డబ్బు చెల్లించవచ్చు. లేదా మీరు కొంతకాలం ఇంటర్న్‌ని తీసుకోవచ్చు మరియు అతనికి కొంత జీతం కూడా చెల్లించవచ్చు. కానీ ఇప్పటికీ చాలా పెద్ద వ్యక్తుల సమూహం ఉంది, వీరిలో కొంతమందికి ఇప్పటికే కోడ్ ఎలా వ్రాయాలో నిజంగా తెలుసు. కోడ్ నాణ్యత ఏమిటో మీకు ఎల్లప్పుడూ తెలియదు.

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

విద్యార్థి PR ఏ పరిస్థితులలో ఆమోదించబడుతుంది?

  • వారు తమ కోడ్‌ను పరీక్షలతో కవర్ చేయాలి. అంతా సీఐలోనే జరగాలి.
  • మరియు మేము 2 సమీక్షల ద్వారా కూడా వెళ్తాము. ఒకటి ఆండ్రీ బోరోడిన్ మరియు ఒకటి నా ద్వారా.
  • మరియు అదనంగా, ఇది మా సేవలో దేనినీ విచ్ఛిన్నం చేయదని తనిఖీ చేయడానికి, నేను ఈ కమిట్‌తో అసెంబ్లీని విడిగా అప్‌లోడ్ చేస్తాను. మరియు మేము ఎండ్-టు-ఎండ్ పరీక్షలలో ఏదీ విఫలం కాలేదని తనిఖీ చేస్తాము.

ఓపెన్ సోర్స్‌పై ప్రత్యేక కోర్సు

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

ఇది ఎందుకు అవసరం మరియు ఇది ఎందుకు అనే దాని గురించి కొంచెం, ఇది ఒక మంచి ఆలోచన.

మాకు, లాభం స్పష్టంగా ఉంది:

  • మేము అదనపు చేతులు పొందుతాము.
  • మరియు మేము స్మార్ట్ కోడ్ వ్రాసే స్మార్ట్ విద్యార్థులలో జట్టు కోసం అభ్యర్థుల కోసం చూస్తున్నాము.

విద్యార్థులకు ఏం లాభం?

వారు తక్కువ స్పష్టంగా ఉండవచ్చు, ఎందుకంటే విద్యార్థులు కనీసం వారు వ్రాసే కోడ్ కోసం డబ్బును అందుకోరు, కానీ వారి విద్యార్థి రికార్డులకు మాత్రమే గ్రేడ్‌లను అందుకుంటారు.

దీని గురించి వారిని అడిగాను. మరియు వారి మాటలలో:

  • ఓపెన్ సోర్స్‌లో కంట్రిబ్యూటర్ అనుభవం.
  • మీ CVలో లైన్ పొందండి.
  • మిమ్మల్ని మీరు నిరూపించుకోండి మరియు Yandex లో ఒక ఇంటర్వ్యూలో ఉత్తీర్ణత సాధించండి.
  • GSoC మెంబర్ అవ్వండి.
  • కోడ్ రాయాలనుకునే వారి కోసం +1 ప్రత్యేక కోర్సు.

కోర్సు ఎలా నిర్మించబడిందనే దాని గురించి నేను మాట్లాడను. WAL-G ప్రధాన ప్రాజెక్ట్ అని నేను చెప్తాను. మేము ఈ కోర్సులో Odyssey, PostgreSQL మరియు ClickHouse వంటి ప్రాజెక్ట్‌లను కూడా చేర్చాము.

మరియు వారు ఈ కోర్సులో మాత్రమే సమస్యలను ఇచ్చారు, కానీ డిప్లొమాలు మరియు కోర్సులను కూడా ఇచ్చారు.

వినియోగదారులకు ప్రయోజనం గురించి ఏమిటి?

ఇప్పుడు మీకు అత్యంత ఆసక్తి ఉన్న భాగానికి వెళ్దాం. దీని వల్ల మీకు ఏమి మేలు జరుగుతుంది? విషయం ఏమిటంటే విద్యార్థులు చాలా దోషాలను పరిష్కరించారు. మరియు మీరు మమ్మల్ని చేయమని కోరిన అభ్యర్థన లక్షణాలను మేము చేసాము.

మరియు మీరు చాలా కాలంగా కోరుకున్న మరియు గ్రహించిన వాటి గురించి నేను మీకు చెప్తాను.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

టేబుల్స్పేస్ మద్దతు. WAL-Gలో టేబుల్‌స్పేస్‌లు బహుశా WAL-G విడుదలైనప్పటి నుండి ఆశించబడ్డాయి, ఎందుకంటే WAL-G అనేది మరొక బ్యాకప్ సాధనం WAL-Eకి వారసుడు, ఇక్కడ టేబుల్‌స్పేస్‌లతో కూడిన డేటాబేస్ బ్యాకప్‌లకు మద్దతు ఉంది.

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

టేబుల్‌స్పేస్‌లు పోస్ట్‌గ్రెస్ డేటాను కలిగి ఉన్న డైరెక్టరీలు, కానీ అవి బేస్ డైరెక్టరీ వెలుపల ఉండవు. టేబుల్‌స్పాక్స్ బేస్ డైరెక్టరీ వెలుపల ఉన్నాయని స్లయిడ్ చూపిస్తుంది.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

పోస్ట్‌గ్రెస్‌కి ఇది ఎలా ఉంటుంది? బేస్ డైరెక్టరీలో ప్రత్యేక ఉప డైరెక్టరీ pg_tblspc ఉంది. మరియు ఇది బేస్ డైరెక్టరీ వెలుపల పోస్ట్‌గ్రెస్ డేటాను కలిగి ఉన్న డైరెక్టరీలకు సిమ్‌లింక్‌లను కలిగి ఉంటుంది.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

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

మేము మా బృందంలో వీటన్నింటిని ఉపయోగించము, కానీ చాలా మంది ఇతర WAL-E వినియోగదారులు దీనిని ఉపయోగించారు, వారు WAL-Gకి వెళ్లాలనుకుంటున్నట్లు మాకు వ్రాసారు, కానీ ఇది వారిని ఆపుతోంది. దీనికి ఇప్పుడు మద్దతు ఉంది.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

మా ప్రత్యేక కోర్సు మాకు తీసుకువచ్చిన మరొక లక్షణం క్యాచ్అప్. పోస్ట్‌గ్రెస్‌తో పోలిస్తే ఒరాకిల్‌తో ఎక్కువగా పనిచేసిన వ్యక్తులకు క్యాచ్‌అప్ గురించి తెలుసు.

అది ఏమిటో క్లుప్తంగా. మా సేవలోని క్లస్టర్ టోపోలాజీ సాధారణంగా ఇలా ఉండవచ్చు. మాకు మాస్టారు ఉన్నారు. దాని నుండి రైట్-ఎహెడ్ లాగ్‌ను ప్రసారం చేసే ప్రతిరూపం ఉంది. మరియు ప్రతిరూపం ప్రస్తుతం ఏ LSNలో ఉందో మాస్టర్‌కి చెబుతుంది. మరియు ఎక్కడా దీనికి సమాంతరంగా, లాగ్ ఆర్కైవ్ చేయబడుతుంది. మరియు లాగ్‌ను ఆర్కైవ్ చేయడంతో పాటు, బ్యాకప్‌లు కూడా క్లౌడ్‌కు పంపబడతాయి. మరియు డెల్టా బ్యాకప్‌లు పంపబడతాయి.

సమస్య ఏమి కావచ్చు? మీకు చాలా పెద్ద డేటాబేస్ ఉన్నప్పుడు, మీ ప్రతిరూపం మాస్టర్ కంటే చాలా వెనుకబడి ఉంటుందని తేలింది. మరియు ఆమె చాలా వెనుకబడి ఉంది, ఆమె అతనిని ఎన్నటికీ పట్టుకోదు. ఈ సమస్య సాధారణంగా ఏదో ఒకవిధంగా పరిష్కరించబడాలి.

మరియు సులభమయిన మార్గం ప్రతిరూపాన్ని తీసివేసి, దాన్ని మళ్లీ అప్‌లోడ్ చేయడం, ఎందుకంటే ఇది ఎప్పటికీ పట్టుకోదు మరియు సమస్యను పరిష్కరించాల్సిన అవసరం ఉంది. కానీ ఇది చాలా ఎక్కువ సమయం, ఎందుకంటే మొత్తం 10 TB డేటాబేస్ బ్యాకప్‌ను పునరుద్ధరించడం చాలా ఎక్కువ సమయం. మరి ఇలాంటి సమస్యలు వస్తే వీలయినంత త్వరగా ఇవన్నీ చేయాలనుకుంటున్నాం. మరియు క్యాచ్‌అప్ అంటే సరిగ్గా అదే.

Catchup మీరు ఈ విధంగా క్లౌడ్‌లో నిల్వ చేయబడిన డెల్టా బ్యాకప్‌లను ఉపయోగించడానికి అనుమతిస్తుంది. మీరు ప్రస్తుతం లాగింగ్ రెప్లికా ఏ LSNలో ఉందో చెప్పండి మరియు మీ క్లస్టర్ ప్రస్తుతం ఉన్న LSN మరియు LSN మధ్య డెల్టా బ్యాకప్‌ని సృష్టించడానికి క్యాచ్అప్ కమాండ్‌లో పేర్కొనండి. మరియు ఆ తర్వాత మీరు వెనుకబడి ఉన్న ప్రతిరూపానికి ఈ బ్యాకప్‌ని పునరుద్ధరించండి.

ఇతర ఆధారాలు

విద్యార్ధులు కూడా మాకు ఒకేసారి చాలా ఫీచర్లు తెచ్చారు. Yandexలో మేము పోస్ట్‌గ్రెస్‌ను మాత్రమే కాకుండా, MySQL, MongoDB, Redis, ClickHouse కూడా కలిగి ఉన్నాము, ఏదో ఒక సమయంలో మేము MySQL కోసం పాయింట్-ఇన్-టైమ్ రికవరీతో బ్యాకప్‌లను తయారు చేయగలగాలి మరియు అప్‌లోడ్ చేయడానికి అవకాశం ఉంది. వాటిని మేఘానికి.

మరియు మేము దీన్ని WAL-G చేసే మాదిరిగానే చేయాలనుకుంటున్నాము. మరియు మేము ప్రయోగాలు చేయాలని నిర్ణయించుకున్నాము మరియు ఇది ఎలా ఉంటుందో చూడండి.

మరియు మొదట, ఈ లాజిక్‌ను ఏ విధంగానూ పంచుకోకుండా, వారు ఫోర్క్‌లో కోడ్‌ను వ్రాసారు. మాకు ఒక రకమైన వర్కింగ్ మోడల్ ఉందని మరియు అది ఎగురుతుందని వారు చూశారు. అప్పుడు మేము మా ప్రధాన కమ్యూనిటీ పోస్ట్‌గ్రేసిస్ట్‌లని భావించాము, వారు WAL-Gని ఉపయోగిస్తున్నారు. అందువల్ల మనం ఈ భాగాలను ఏదో ఒకవిధంగా వేరు చేయాలి. అంటే, మేము పోస్ట్‌గ్రెస్ కోసం కోడ్‌ని సవరించినప్పుడు, మేము MySQLని విచ్ఛిన్నం చేయము; మేము MySQLని సవరించినప్పుడు, మేము పోస్ట్‌గ్రెస్‌ను విచ్ఛిన్నం చేయము.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

దీన్ని ఎలా వేరు చేయాలనే దాని గురించిన మొదటి ఆలోచన PostgreSQL పొడిగింపులలో ఉపయోగించే అదే విధానాన్ని ఉపయోగించడం. మరియు, నిజానికి, MySQL బ్యాకప్ చేయడానికి మీరు ఒక రకమైన డైనమిక్ లైబ్రరీని ఇన్‌స్టాల్ చేయాలి.

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

Postgres, MySQL, MongoDB, Redis కోసం వివిధ నిర్మాణాలు

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

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

విద్యార్థులకు సమస్యలు చెప్పడానికి ముందు - మేమే వ్రాసిన భాగం ఇది. అంటే, వారు తప్పు చేయగలిగిన భాగం ఇదే, కాబట్టి మేము అలాంటిదే చేయడం మంచిదని మరియు అంతా బాగానే ఉంటుందని మేము నిర్ణయించుకున్నాము.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

ఆ తర్వాత సమస్యలు చెప్పాం. వెంటనే వాటిని కూల్చివేశారు. విద్యార్థులు మూడు స్థావరాలకు మద్దతు ఇవ్వాల్సిన అవసరం ఉంది.

ఇది MySQL, మేము ఈ విధంగా WAL-Gని ఉపయోగించి ఒక సంవత్సరానికి పైగా బ్యాకప్ చేస్తున్నాము.

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

ఈ డేటాబేస్‌లలో ప్రతిదానికి పూర్తి బ్యాకప్ సాధనాలను వ్రాయడానికి విద్యార్థులు అవసరమైనట్లుగా ఈ సమస్యలు కనిపించడం లేదు. మాకు అలాంటి సమస్య రాలేదు. మా సమస్య ఏమిటంటే, మేము పాయింట్-ఇన్-టైమ్ రికవరీని కోరుకుంటున్నాము మరియు మేము క్లౌడ్‌కు బ్యాకప్ చేయాలనుకుంటున్నాము. మరియు దీనిని పరిష్కరించే కొన్ని కోడ్‌లను వ్రాయమని వారు విద్యార్థులను కోరారు. విద్యార్థులు ఇప్పటికే ఉన్న బ్యాకప్ సాధనాలను ఉపయోగించారు, అవి ఏదో ఒకవిధంగా బ్యాకప్‌లను తీసుకుంటాయి, ఆపై వాటన్నింటినీ క్లౌడ్‌కు ఫార్వార్డ్ చేసిన WAL-Gతో అన్నింటినీ కలిపి ఉంచారు. మరియు వారు దీనికి పాయింట్-ఇన్-టైమ్ రికవరీని కూడా జోడించారు.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

విద్యార్థులు ఇంకా ఏమి తెచ్చారు? వారు WAL-Gకి లిబ్సోడియం ఎన్‌క్రిప్షన్ మద్దతును తీసుకువచ్చారు.

మేము బ్యాకప్ నిల్వ విధానాలను కూడా కలిగి ఉన్నాము. ఇప్పుడు బ్యాకప్‌లను శాశ్వతంగా గుర్తించవచ్చు. మరియు వాటిని నిల్వ చేసే ప్రక్రియను ఆటోమేట్ చేయడం మీ సేవకు మరింత సౌకర్యవంతంగా ఉంటుంది.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

ఈ ప్రయోగం యొక్క ఫలితం ఏమిటి?

ఈ కోర్సు కోసం మొదట 100 మందికి పైగా రిజిస్టర్ చేసుకున్నారు. యెకాటెరిన్‌బర్గ్‌లోని విశ్వవిద్యాలయం ఉరల్ ఫెడరల్ విశ్వవిద్యాలయం అని నేను మొదట చెప్పలేదు. మేము అక్కడ ప్రతిదీ ప్రకటించాము. 100 మంది నమోదు చేసుకున్నారు. వాస్తవానికి, చాలా తక్కువ మంది వ్యక్తులు ఏదైనా చేయడం ప్రారంభించారు, దాదాపు 30 మంది.

ఇప్పటికే ఉన్న కోడ్‌ల కోసం పరీక్షలు రాయాల్సిన అవసరం ఉన్నందున చాలా తక్కువ మంది మాత్రమే కోర్సును పూర్తి చేశారు. మరియు కొంత బగ్‌ని కూడా పరిష్కరించండి లేదా కొన్ని ఫీచర్‌లను చేయండి. మరియు కొంతమంది విద్యార్థులు ఇప్పటికీ కోర్సును మూసివేశారు.

ప్రస్తుతం, ఈ కోర్సులో, విద్యార్థులు సుమారు 14 సమస్యలను పరిష్కరించారు మరియు వివిధ పరిమాణాలలో 10 లక్షణాలను రూపొందించారు. మరియు, ఇది ఒకటి లేదా ఇద్దరు డెవలపర్‌ల పూర్తి స్థాయి భర్తీ అని నాకు అనిపిస్తోంది.

ఇతర విషయాలతోపాటు, మేము డిప్లొమాలు మరియు కోర్సులను జారీ చేసాము. మరియు 12 మంది డిప్లొమాలు పొందారు. వారిలో 6 మంది ఇప్పటికే "5" వద్ద తమను తాము సమర్థించుకున్నారు. మిగిలిన వారికి ఇంకా రక్షణ లేదు, కానీ వారికి కూడా అంతా బాగానే ఉంటుందని నేను భావిస్తున్నాను.

భవిష్యత్తు కోసం ప్రణాళికలు

భవిష్యత్తు కోసం మనకు ఎలాంటి ప్రణాళికలు ఉన్నాయి?

కనీసం మేము ఇప్పటికే వినియోగదారుల నుండి విన్న మరియు చేయాలనుకుంటున్న ఫీచర్ అభ్యర్థనలు. ఇది:

  • HA క్లస్టర్ బ్యాకప్ ఆర్కైవ్‌లో టైమ్‌లైన్ ట్రాకింగ్ యొక్క ఖచ్చితత్వాన్ని పర్యవేక్షిస్తోంది. మీరు దీన్ని WAL-Gతో చేయవచ్చు. మరియు మేము ఈ విషయాన్ని చేపట్టే విద్యార్థులను కలిగి ఉంటామని నేను భావిస్తున్నాను.
  • క్లౌడ్‌ల మధ్య బ్యాకప్‌లు మరియు WALని బదిలీ చేయడానికి మేము ఇప్పటికే ఒక వ్యక్తిని కలిగి ఉన్నాము.
  • మరియు మేము పేజీలను తిరిగి వ్రాయకుండా మరియు మేము పంపే ఆర్కైవ్‌లను ఆప్టిమైజ్ చేయకుండా పెరుగుతున్న బ్యాకప్‌లను అన్‌ప్యాక్ చేయడం ద్వారా WAL-Gని మరింత వేగవంతం చేయగలమని మేము ఇటీవల ఒక ఆలోచనను ప్రచురించాము.

మీరు వాటిని ఇక్కడ పంచుకోవచ్చు

ఈ నివేదిక దేనికి? అంతేకాకుండా, ఇప్పుడు, ఈ ప్రాజెక్ట్‌కు మద్దతు ఇచ్చే 4 మంది వ్యక్తులతో పాటు, మాకు అదనపు చేతులు ఉన్నాయి, వాటిలో చాలా ఉన్నాయి. ప్రత్యేకించి మీరు వారికి వ్యక్తిగత సందేశంలో వ్రాస్తే. మరియు మీరు మీ డేటాను బ్యాకప్ చేసి, WAL-Gని ఉపయోగించి చేస్తే లేదా WAL-Gకి మారాలనుకుంటే, మేము మీ కోరికలను చాలా తేలికగా తీర్చగలము.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

ఇది QR కోడ్ మరియు లింక్. మీరు వాటి ద్వారా వెళ్లి మీ కోరికలన్నింటినీ వ్రాయవచ్చు. ఉదాహరణకు, మేము కొన్ని బగ్‌లను పరిష్కరించడం లేదు. లేదా మీకు నిజంగా కొంత ఫీచర్ కావాలి, కానీ కొన్ని కారణాల వల్ల ఇది మాతో సహా ఇంకా ఏ బ్యాకప్‌లో లేదు. దీని గురించి తప్పకుండా రాయండి.

WAL-G: కొత్త ఫీచర్లు మరియు కమ్యూనిటీ విస్తరణ. జార్జి రైలోవ్

మీ ప్రశ్నలు

హలో! నివేదికకు ధన్యవాదాలు! WAL-G గురించిన ప్రశ్న, పోస్ట్‌గ్రెస్ గురించి కాదు. WAL-G MySQLని బ్యాకప్ చేస్తుంది మరియు అదనపు బ్యాకప్‌కి కాల్ చేస్తుంది. మేము CentOSలో ఆధునిక ఇన్‌స్టాలేషన్‌లను తీసుకుంటే మరియు మీరు MySQLని ఇన్‌స్టాల్ చేస్తే, MariDB ఇన్‌స్టాల్ చేయబడుతుంది. వెర్షన్ 10.3 నుండి అదనపు బ్యాకప్‌కు మద్దతు లేదు, MariDB బ్యాకప్‌కు మద్దతు ఉంది. దీనితో మీరు ఎలా ఉన్నారు?

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

శుభ మద్యాహ్నం నివేదికకు ధన్యవాదాలు! సంభావ్య కొత్త ఫీచర్ల గురించి ప్రశ్న. మీరు టేప్‌లకు బ్యాకప్ చేయడానికి WAL-Gని టేపులతో పని చేయడానికి సిద్ధంగా ఉన్నారా?

టేప్ స్టోరేజ్‌లో బ్యాకప్ అంటే స్పష్టంగా అర్థమా?

అవును.

ఈ ప్రశ్నకు నా కంటే మెరుగ్గా సమాధానం ఇవ్వగల ఆండ్రీ బోరోడిన్ ఉన్నారు.

(ఆండ్రీ) అవును, ప్రశ్నకు ధన్యవాదాలు! క్లౌడ్ స్టోరేజ్ నుండి టేప్‌కి బ్యాకప్‌ని బదిలీ చేయమని మాకు అభ్యర్థన వచ్చింది. మరియు దీని కోసం రంపపు మేఘాల మధ్య బదిలీ. ఎందుకంటే క్లౌడ్-టు-క్లౌడ్ బదిలీ అనేది టేప్ బదిలీ యొక్క సాధారణ వెర్షన్. అదనంగా, మేము నిల్వల పరంగా విస్తరించదగిన నిర్మాణాన్ని కలిగి ఉన్నాము. మార్గం ద్వారా, అనేక స్టోరోజెస్ విద్యార్థులచే వ్రాయబడ్డాయి. మరియు మీరు టేప్ కోసం నిల్వను వ్రాస్తే, అది ఖచ్చితంగా మద్దతు ఇస్తుంది. పుల్ రిక్వెస్ట్‌లను పరిశీలించడానికి మేము సిద్ధంగా ఉన్నాము. అక్కడ మీరు ఫైల్‌ను వ్రాయాలి, ఫైల్‌ను చదవాలి. మీరు ఈ పనులను గోలో చేస్తే, మీరు సాధారణంగా 50 లైన్ల కోడ్‌తో ముగుస్తుంది. ఆపై టేప్ WAL-Gలో మద్దతు ఇస్తుంది.

నివేదికకు ధన్యవాదాలు! ఆసక్తికరమైన అభివృద్ధి ప్రక్రియ. బ్యాకప్ అనేది ఫంక్షనాలిటీ యొక్క తీవ్రమైన భాగం, ఇది పరీక్షల ద్వారా బాగా కవర్ చేయబడాలి. మీరు కొత్త డేటాబేస్‌ల కోసం ఫంక్షనాలిటీని అమలు చేసినప్పుడు, విద్యార్థులు కూడా పరీక్షలు రాశారా లేదా మీరే స్వయంగా పరీక్షలు వ్రాసి, ఆపై విద్యార్థులకు అమలును అందించారా?

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

విద్యార్థులకు పెద్దగా అనుభవం లేదు. సమీక్షించడానికి చాలా సమయం పడుతుందా?

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

నివేదికకు ధన్యవాదాలు! గతంలో, ఆండ్రీ బోరోడిన్ WAL-Gలోని ఆర్కైవ్_కమాండ్‌ను నేరుగా పిలవాలని పేర్కొన్నాడు. కానీ కొన్ని రకాల క్లస్టర్ కార్ట్రిడ్జ్ విషయంలో, షాఫ్ట్‌లను పంపే నోడ్‌ను గుర్తించడానికి మనకు అదనపు తర్కం అవసరం. ఈ సమస్యను మీరే ఎలా పరిష్కరిస్తారు?

ఇక్కడ మీ సమస్య ఏమిటి? మీరు బ్యాకప్ చేస్తున్న సమకాలిక ప్రతిరూపాన్ని కలిగి ఉన్నారని అనుకుందాం? లేక ఏమిటి?

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

(స్పష్టత: మేము షెల్ స్క్రిప్ట్‌లను వదిలించుకున్నాము ఈ సమస్యలో)

శుభ సాయంత్రం! నివేదికకు ధన్యవాదాలు! మీరు మాట్లాడిన క్యాచ్‌అప్ ఫీచర్‌పై నాకు ఆసక్తి ఉంది. ప్రతిరూపం వెనుక ఉండి పట్టుకోలేని పరిస్థితిని మేము ఎదుర్కొన్నాము. మరియు నేను WAL-G డాక్యుమెంట్‌లలో ఈ ఫీచర్ యొక్క వివరణను కనుగొనలేదు.

క్యాచ్‌అప్ అక్షరాలా జనవరి 20, 2020న కనిపించింది. డాక్యుమెంటేషన్‌కు మరికొంత పని అవసరం కావచ్చు. మేము దానిని మనమే వ్రాస్తాము మరియు మేము దానిని బాగా వ్రాయము. మరియు బహుశా మేము దానిని వ్రాయమని విద్యార్థులను కోరడం ప్రారంభించాలి.

ఇది ఇప్పటికే విడుదలైందా?

పుల్ అభ్యర్థన ఇప్పటికే చనిపోయింది, అంటే నేను దాన్ని తనిఖీ చేసాను. నేను దీనిని టెస్ట్ క్లస్టర్‌లో ప్రయత్నించాను. ఇంతవరకు మేము దీనిని పోరాట ఉదాహరణలో పరీక్షించే పరిస్థితి లేదు.

ఎప్పుడు ఆశించాలి?

నాకు తెలియదు. ఒక నెల వేచి ఉండండి, మేము ఖచ్చితంగా తనిఖీ చేస్తాము.

మూలం: www.habr.com

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