WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

2019 ஆம் ஆண்டின் தொடக்கத்தில் இருந்து ஆண்ட்ரே போரோடின் "WAL-G உடன் காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது?" என்ற அறிக்கையின் டிரான்ஸ்கிரிப்டைப் படிக்க பரிந்துரைக்கிறேன்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

அனைவருக்கும் வணக்கம்! என் பெயர் ஆண்ட்ரி போரோடின். நான் Yandex இல் டெவலப்பர். நான் 2016 ஆம் ஆண்டிலிருந்து PostgreSQL இல் ஆர்வமாக உள்ளேன், நான் டெவலப்பர்களுடன் பேசினேன், அவர்கள் எல்லாம் எளிது என்று சொன்ன பிறகு - நீங்கள் மூலக் குறியீட்டை எடுத்து அதை உருவாக்குங்கள், எல்லாம் சரியாகிவிடும். அப்போதிருந்து என்னால் நிறுத்த முடியாது - நான் எல்லா வகையான வெவ்வேறு விஷயங்களையும் எழுதுகிறேன்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்நான் வேலை செய்யும் விஷயங்களில் ஒன்று காப்பு அமைப்பு. வால்-ஜி. பொதுவாக, Yandex இல் நாங்கள் நீண்ட காலமாக PostgreSQL இல் காப்புப்பிரதி அமைப்புகளில் பணியாற்றி வருகிறோம். நாங்கள் காப்புப்பிரதி அமைப்புகளை எவ்வாறு உருவாக்குகிறோம் என்பது குறித்த ஆறு அறிக்கைகளின் வரிசையை இணையத்தில் நீங்கள் காணலாம். மேலும் ஒவ்வொரு ஆண்டும் அவை கொஞ்சம் கொஞ்சமாக உருவாகி, கொஞ்சம் கொஞ்சமாக வளர்ச்சியடைந்து, மேலும் நம்பகமானவையாகின்றன.

ஆனால் இன்று அறிக்கை நாம் என்ன செய்தோம் என்பது மட்டுமல்ல, அது எவ்வளவு எளிமையானது மற்றும் என்ன என்பது பற்றியது. WAL-G பற்றிய எனது அறிக்கைகளை உங்களில் எத்தனை பேர் ஏற்கனவே பார்த்திருக்கிறீர்கள்? மிகச் சிலரே பார்க்காதது நல்லது, ஏனென்றால் நான் எளிமையான விஷயத்துடன் தொடங்குகிறேன்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

திடீரென்று உங்களிடம் PostgreSQL க்ளஸ்ட்டர் இருந்தால், அனைவரிடமும் அவற்றில் ஒன்றிரண்டு இருப்பதாக நான் நினைக்கிறேன், திடீரென்று இதுவரை காப்புப் பிரதி அமைப்பு இல்லை என்றால், நீங்கள் ஏதேனும் S3 சேமிப்பகம் அல்லது Google Cloud இணக்கமான சேமிப்பகத்தைப் பெற வேண்டும்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

எடுத்துக்காட்டாக, நீங்கள் எங்கள் நிலைப்பாட்டிற்கு வந்து, S3 இணக்கமான Yandex பொருள் சேமிப்பகத்திற்கான விளம்பரக் குறியீட்டை எடுக்கலாம்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

பின்னர் ஒரு வாளியை உருவாக்கவும். இது தகவலுக்கான கொள்கலன் மட்டுமே.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

சேவை பயனரை உருவாக்கவும்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

சேவை பயனருக்கான அணுகல் விசையை உருவாக்கவும்: aws-s3-key.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

WAL-G இன் சமீபத்திய நிலையான வெளியீட்டைப் பதிவிறக்கவும்.

எங்களின் முன் வெளியீடுகள் வெளியீடுகளிலிருந்து எவ்வாறு வேறுபடுகின்றன? நான் அடிக்கடி சீக்கிரம் விடுவிக்கும்படி கேட்கிறேன். போதுமான காலத்திற்கு பதிப்பில் பிழை இல்லை என்றால், எடுத்துக்காட்டாக, ஒரு மாதம், நான் அதை வெளியிடுகிறேன். நவம்பரில் இந்த வெளியீடு இதோ. இதன் பொருள் என்னவென்றால், ஒவ்வொரு மாதமும் சில வகையான பிழைகளை நாங்கள் கண்டறிந்துள்ளோம், பொதுவாக முக்கியமான செயல்பாடுகள் அல்ல, ஆனால் நாங்கள் இன்னும் வெளியீட்டை வெளியிடவில்லை. முந்தைய பதிப்பு நவம்பர் மட்டுமே. அதில் நமக்குத் தெரிந்த பிழைகள் எதுவும் இல்லை, அதாவது திட்டம் முன்னேறும்போது பிழைகள் சேர்க்கப்பட்டன.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

நீங்கள் WAL-G ஐ பதிவிறக்கம் செய்தவுடன், சூழல் மாறிகளை கடந்து எளிய "காப்பு பட்டியல்" கட்டளையை இயக்கலாம். மேலும் இது ஆப்ஜெக்ட் ஸ்டோரேஜுடன் இணைக்கப்பட்டு உங்களிடம் என்ன காப்புப்பிரதிகள் உள்ளன என்பதை உங்களுக்குத் தெரிவிக்கும். முதலில், நிச்சயமாக, உங்களிடம் காப்புப்பிரதிகள் இருக்கக்கூடாது. இந்த ஸ்லைடின் நோக்கம் எல்லாம் மிகவும் எளிமையானது என்பதைக் காட்டுவதாகும். இது ஒரு கன்சோல் கட்டளையாகும், இது சூழல் மாறிகளை ஏற்றுக்கொண்டு துணைக் கட்டளைகளை இயக்குகிறது.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

இதற்குப் பிறகு, உங்கள் முதல் காப்புப்பிரதியை நீங்கள் செய்யலாம். WAL-G இல் "backup-push" எனக் கூறி, WAL-G இல் உங்கள் கிளஸ்டரின் pgdata இருப்பிடத்தைக் குறிப்பிடவும். மற்றும் பெரும்பாலும், PostgreSQL உங்களிடம் ஏற்கனவே காப்புப் பிரதி அமைப்பு இல்லை என்றால், நீங்கள் "காப்பகப் பயன்முறையை" இயக்க வேண்டும் என்று சொல்லும்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

இதன் பொருள் நீங்கள் அமைப்புகளுக்குச் சென்று “archive_mode = on” என்பதை இயக்கி “archive_command” ஐச் சேர்க்க வேண்டும், இதுவும் WAL-G இல் துணைக் கட்டளையாகும். ஆனால் சில காரணங்களால் மக்கள் பெரும்பாலும் இந்த தலைப்பில் பார் ஸ்கிரிப்ட்களைப் பயன்படுத்துகிறார்கள் மற்றும் அதை WAL-G சுற்றி மடிக்கிறார்கள். தயவுசெய்து இதைச் செய்யாதீர்கள். WAL-G இல் காணப்படும் செயல்பாட்டைப் பயன்படுத்தவும். நீங்கள் எதையாவது தவறவிட்டால், எழுதுங்கள் மகிழ்ச்சியா. archive_command இல் இயங்கும் ஒரே நிரல் இது என்று WAL-G கருதுகிறது.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

Yandex தரவுத்தள நிர்வாகத்தில் உயர் கிடைக்கும் தன்மையை உருவாக்குவதற்கு முக்கியமாக WAL-G ஐப் பயன்படுத்துகிறோம்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

மேலும் இது பொதுவாக ஒரு மாஸ்டர் மற்றும் பல பிரதிகளின் இடவியலில் பயன்படுத்தப்படுகிறது. அதே நேரத்தில், இது யாண்டெக்ஸ் ஆப்ஜெக்ட் ஸ்டோரேஜில் காப்பு பிரதியை உருவாக்குகிறது.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

பாயிண்ட் இன் டைம் ரெக்கவரியைப் பயன்படுத்தி ஒரு கிளஸ்டரின் நகல்களை உருவாக்குவது மிகவும் பொதுவான காட்சிகள். ஆனால் இந்த விஷயத்தில், காப்பு அமைப்பின் செயல்திறன் எங்களுக்கு அவ்வளவு முக்கியமல்ல. காப்புப்பிரதியிலிருந்து ஒரு புதிய கிளஸ்டரைப் பதிவேற்ற வேண்டும்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

பொதுவாக, புதிய முனையைச் சேர்க்கும் போது நமக்கு காப்புப் பிரதி அமைப்பு செயல்திறன் தேவை. அது ஏன் முக்கியம்? பொதுவாக மக்கள் கிளஸ்டரில் ஒரு புதிய முனையைச் சேர்க்கிறார்கள், ஏனெனில் தற்போதுள்ள கிளஸ்டரால் வாசிப்புச் சுமையைக் கையாள முடியாது. அவர்கள் ஒரு புதிய பிரதியை சேர்க்க வேண்டும். pg_basebackup இலிருந்து Master இல் சுமையைச் சேர்த்தால், Master சரிந்துவிடக்கூடும். எனவே, காப்பகத்திலிருந்து ஒரு புதிய முனையை விரைவாக பதிவேற்றுவது எங்களுக்கு மிகவும் முக்கியமானது, இது மாஸ்டரில் குறைந்தபட்ச சுமையை உருவாக்குகிறது.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

மற்றும் இதே போன்ற மற்றொரு சூழ்நிலை. இணைப்பு துண்டிக்கப்பட்ட தரவு மையத்திலிருந்து கிளஸ்டர் மாஸ்டரை மாற்றிய பின், பழைய மாஸ்டரை மறுதொடக்கம் செய்ய வேண்டிய அவசியம் இதுவாகும்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

  • இதன் விளைவாக, நகல் அமைப்புக்கான தேவைகளை உருவாக்கும் போது, ​​மேகக்கணியில் செயல்படும் போது pg_basebackup எங்களுக்கு ஏற்றது அல்ல என்பதை நாங்கள் உணர்ந்தோம்.
  • எங்கள் தரவைச் சுருக்கிக் கொள்ள விரும்புகிறோம். ஆனால் பெட்டியில் வருவதைத் தவிர வேறு எந்த காப்பு அமைப்பும் தரவு சுருக்கத்தை வழங்கும்.
  • மேகக்கணியில் உள்ள ஒரு பயனர் அதிக எண்ணிக்கையிலான செயலி கோர்களை வாங்குவதால், எல்லாவற்றையும் இணையாக மாற்ற விரும்புகிறோம். ஆனால் சில செயல்பாட்டில் இணையான தன்மை இல்லை என்றால், அதிக எண்ணிக்கையிலான கோர்கள் பயனற்றதாகிவிடும்.
  • எங்களுக்கு குறியாக்கம் தேவை, ஏனெனில் பெரும்பாலும் தரவு எங்களுடையது அல்ல, தெளிவான உரையில் சேமிக்க முடியாது. WAL-Gக்கான எங்கள் பங்களிப்பு குறியாக்கத்துடன் தொடங்கியது. WAL-G இல் குறியாக்கத்தை முடித்தோம், அதன் பிறகு எங்களிடம் கேட்கப்பட்டது: "ஒருவேளை எங்களில் ஒருவர் திட்டத்தை உருவாக்குவார்களா?" அதன் பின்னர் நான் ஒரு வருடத்திற்கும் மேலாக WAL-G உடன் பணிபுரிந்து வருகிறேன்.
  • எங்களுக்கு வளத் தூண்டுதலும் தேவைப்பட்டது, ஏனென்றால் காலப்போக்கில் மேகக்கணியைப் பயன்படுத்துவதால், சில நேரங்களில் மக்கள் இரவில் ஒரு முக்கியமான மளிகைச் சுமையைக் கொண்டிருப்பதைக் கண்டறிந்தோம், மேலும் இந்த சுமையில் தலையிட முடியாது. அதனால்தான் ரிசோர்ஸ் த்ரோட்டிங்கைச் சேர்த்துள்ளோம்.
  • அத்துடன் பட்டியல் மற்றும் மேலாண்மை.
  • மற்றும் சரிபார்ப்பு.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

நாங்கள் பல்வேறு கருவிகளைப் பார்த்தோம். அதிர்ஷ்டவசமாக, PostgreSQL இல் எங்களிடம் ஒரு பெரிய தேர்வு உள்ளது. எல்லா இடங்களிலும் நாம் எதையாவது காணவில்லை, சில ஒரு சிறிய செயல்பாடு, சில ஒரு சிறிய அம்சம்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

தற்போதுள்ள அமைப்புகளை ஆராய்ந்த பின்னர், நாங்கள் WAL-G ஐ உருவாக்குவோம் என்ற முடிவுக்கு வந்தோம். அப்போது இது ஒரு புதிய திட்டம். காப்புப்பிரதி அமைப்பின் கிளவுட் உள்கட்டமைப்பை நோக்கிய வளர்ச்சியில் செல்வாக்கு செலுத்துவது மிகவும் எளிதானது.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

நாம் கடைபிடிக்கும் முக்கிய சித்தாந்தம் என்னவென்றால், WAL-G ஒரு பாலலைகாவைப் போல எளிமையாக இருக்க வேண்டும்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

WAL-G க்கு 4 கட்டளைகள் உள்ளன. இது:

வால்-புஷ் - தண்டை காப்பகப்படுத்தவும்.

WAL-FETCH - ஒரு தண்டு கிடைக்கும்.

காப்பு-புஷ் - காப்புப்பிரதியை உருவாக்கவும்.

BACKUP-FETCH - காப்புப்பிரதி அமைப்பிலிருந்து காப்புப்பிரதியைப் பெறவும்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

உண்மையில், WAL-G இந்த காப்புப்பிரதிகளின் நிர்வாகத்தையும் கொண்டுள்ளது, அதாவது வரலாற்றில் தற்போது தேவையில்லாத பதிவுகள் மற்றும் காப்புப்பிரதிகளை பட்டியலிட்டு நீக்குகிறது.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

டெல்டா நகல்களை உருவாக்கும் செயல்பாடு எங்களுக்கு முக்கியமான செயல்பாடுகளில் ஒன்றாகும்.

டெல்டா நகல்கள் என்பது முழு கிளஸ்டரின் முழு காப்புப்பிரதியை உருவாக்கவில்லை, ஆனால் கிளஸ்டரில் மாற்றப்பட்ட கோப்புகளின் மாற்றப்பட்ட பக்கங்களை மட்டுமே உருவாக்குகிறோம். செயல்பாட்டு ரீதியாக இது WAL ஐப் பயன்படுத்தி மீட்டெடுக்கும் திறனுக்கு மிகவும் ஒத்ததாகத் தெரிகிறது. ஆனால் நாம் ஒரு WAL ஒற்றை-திரிக்கப்பட்ட டெல்டா காப்புப்பிரதியை இணையாக உருட்டலாம். அதன்படி, சனிக்கிழமையன்று, டெல்டா பேக்கப்களை தினமும் செய்து, வியாழன் அன்று நாம் தோல்வியடைந்தால், 4 டெல்டா காப்புப்பிரதிகள் மற்றும் 10 மணிநேர WAL-ஐ உருட்ட வேண்டும். டெல்டா காப்புப்பிரதிகள் இணையாக உருளும் என்பதால், அதே நேரம் எடுக்கும்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

LSN-அடிப்படையிலான டெல்டாக்கள் - அதாவது, காப்புப்பிரதியை உருவாக்கும் போது, ​​ஒவ்வொரு பக்கத்தையும் இணைத்து அதன் LSN ஐ முந்தைய காப்புப்பிரதியின் LSN உடன் சரிபார்த்து, அது மாறிவிட்டது என்பதைப் புரிந்து கொள்ள வேண்டும். மாற்றப்பட்ட தரவைக் கொண்டிருக்கக்கூடிய எந்தப் பக்கமும் டெல்டா காப்புப்பிரதியில் இருக்க வேண்டும்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

நான் சொன்னது போல், இணையான தன்மைக்கு அதிக கவனம் செலுத்தப்பட்டது.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

ஆனால் PostgreSQL இல் உள்ள காப்பக API சீரானது. PostgreSQL ஒரு WAL கோப்பைக் காப்பகப்படுத்துகிறது மற்றும் அதை மீட்டமைக்கும் போது ஒரு WAL கோப்பைக் கோருகிறது. ஆனால் தரவுத்தளமானது "WAL-FETCH" கட்டளையைப் பயன்படுத்தி ஒரு WAL கோப்பைக் கோரும் போது, ​​"WAL-PREFETCH" கட்டளையை அழைக்கிறோம், இது அடுத்த 8 கோப்புகளை ஆப்ஜெக்ட் ஸ்டோரில் இருந்து தரவைப் பெறுவதற்கு இணையாகத் தயாரிக்கிறது.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்தரவுத்தளமானது ஒரு கோப்பைக் காப்பகப்படுத்தச் சொன்னால், நாங்கள் archive_status ஐப் பார்த்து மற்ற WAL கோப்புகள் உள்ளதா என்று பார்க்கிறோம். மேலும் WALஐ இணையாக பதிவிறக்கம் செய்ய முயற்சிக்கிறோம். இது குறிப்பிடத்தக்க செயல்திறன் ஆதாயத்தை வழங்குகிறது மற்றும் காப்பகப்படுத்தப்படாத WALகளின் எண்ணிக்கையில் உள்ள தூரத்தை கணிசமாகக் குறைக்கிறது. PostgreSQL API அல்லாத குறியீட்டின் உள்ளகங்களைப் பற்றிய நமது அறிவை நாங்கள் நம்பியிருப்பதால், இது மிகவும் ஆபத்தான அமைப்பு என்று பல காப்பு அமைப்பு உருவாக்குநர்கள் நம்புகின்றனர். PostgreSQL எங்களுக்கு archive_status கோப்புறையின் இருப்புக்கு உத்தரவாதம் அளிக்காது மற்றும் சொற்பொருள், WAL கோப்புகளுக்கான தயார்நிலை சிக்னல்கள் உள்ளன என்பதற்கு உத்தரவாதம் அளிக்காது. ஆயினும்கூட, நாங்கள் மூலக் குறியீட்டைப் படிக்கிறோம், இது அவ்வாறு இருப்பதைக் காண்கிறோம், அதைப் பயன்படுத்த முயற்சிக்கிறோம். PostgreSQL உருவாகும் திசையை நாங்கள் கட்டுப்படுத்துகிறோம்; திடீரென்று இந்த வழிமுறை உடைந்தால், அதைப் பயன்படுத்துவதை நிறுத்துவோம்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

அதன் தூய வடிவில், LSN-அடிப்படையிலான WAL டெல்டா எந்த கிளஸ்டர் கோப்பையும் படிக்க வேண்டும், அதன் கோப்பு முறைமையின் முறை-நேரம் முந்தைய காப்புப்பிரதியிலிருந்து மாறிவிட்டது. நாங்கள் நீண்ட காலமாக, கிட்டத்தட்ட ஒரு வருடம் இதனுடன் வாழ்ந்தோம். இறுதியில் எங்களிடம் WAL டெல்டாக்கள் உள்ளன என்ற முடிவுக்கு வந்தோம்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்அதாவது ஒவ்வொரு முறையும் மாஸ்டரில் WAL ஐ காப்பகப்படுத்தும்போது, ​​அதை சுருக்கி, குறியாக்கம் செய்து நெட்வொர்க்கிற்கு அனுப்புவது மட்டுமல்லாமல், அதை ஒரே நேரத்தில் படிக்கிறோம். அதில் உள்ள பதிவுகளை ஆய்வு செய்து படிக்கிறோம். எந்தெந்த தொகுதிகள் மாறியுள்ளன என்பதைப் புரிந்துகொண்டு டெல்டா கோப்புகளைச் சேகரிக்கிறோம்.

டெல்டா கோப்பு ஒரு குறிப்பிட்ட அளவிலான WAL கோப்புகளை விவரிக்கிறது, WAL இன் இந்த வரம்பில் எந்த தொகுதிகள் மாற்றப்பட்டன என்பது பற்றிய தகவலை விவரிக்கிறது. பின்னர் இந்த டெல்டா கோப்புகளும் காப்பகப்படுத்தப்பட்டுள்ளன.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

எல்லாவற்றையும் மிக விரைவாக இணைத்துவிட்டோம் என்ற உண்மையை இங்கே நாம் எதிர்கொள்கிறோம், ஆனால் ஒரு தொடர்ச்சியான வரலாற்றை இணையாகப் படிக்க முடியாது, ஏனென்றால் ஒரு குறிப்பிட்ட பிரிவில், முந்தைய WAL பதிவின் முடிவை நாம் சந்திக்க நேரிடலாம், அதை இன்னும் இணைக்க எதுவும் இல்லை. ஏனெனில் இணையான வாசிப்பு, நாம் முதலில் எதிர்காலத்தை பகுப்பாய்வு செய்ய வழிவகுத்தது, அது இன்னும் கடந்த காலத்தைக் கொண்டிருக்கவில்லை.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

இதன் விளைவாக, நாம் புரிந்துகொள்ள முடியாத துண்டுகளை _delta_partial கோப்புகளில் வைக்க வேண்டியிருந்தது. இதன் விளைவாக, நாம் கடந்த காலத்திற்குத் திரும்பும்போது, ​​​​WAL பதிவின் துண்டுகளை ஒன்றாக ஒட்டுவோம், அதன் பிறகு அதை அலசுவோம் மற்றும் அதில் என்ன மாறிவிட்டது என்பதைப் புரிந்துகொள்வோம்.

எங்கள் ஷாஃப்ட் பாகுபடுத்தலின் வரலாற்றில், என்ன நடக்கிறது என்று எங்களுக்குப் புரியாத ஒரு புள்ளியாவது இருந்தால், அதன்படி, அடுத்த காப்புப்பிரதியின் போது, ​​வழக்கமான எல்எஸ்என் மூலம் நாங்கள் செய்ததைப் போலவே, முழு கிளஸ்டரையும் மீண்டும் படிக்க வேண்டிய கட்டாயத்தில் இருக்கிறோம். - அடிப்படையிலான டெல்டா.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

இதன் விளைவாக, எங்கள் துன்பங்கள் அனைத்தும் WAL-G பாகுபடுத்தும் நூலகத்தைத் திறக்க வழிவகுத்தது. எனக்குத் தெரிந்தவரை யாரும் இதைப் பயன்படுத்தவில்லை, ஆனால் யாரேனும் விரும்பினால், எழுதவும், பயன்படுத்தவும், அது பொது களத்தில் உள்ளது. (இணைப்பு புதுப்பிக்கப்பட்டது https://github.com/wal-g/wal-g/tree/master/internal/walparser)

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

இதன் விளைவாக, அனைத்து தகவல் ஓட்டங்களும் மிகவும் சிக்கலானதாகத் தெரிகிறது. எங்கள் மாஸ்டர் ஷாஃப்ட்டை காப்பகப்படுத்துகிறார் மற்றும் டெல்டா கோப்புகளை காப்பகப்படுத்துகிறார். காப்பு பிரதியை உருவாக்கும் பிரதி, காப்புப்பிரதிகளுக்கு இடையில் கடந்து செல்லும் நேரத்தில் டெல்டா கோப்புகளைப் பெற வேண்டும். இந்த வழக்கில், வரலாற்றின் பகுதிகள் மொத்தமாகச் சேர்க்கப்பட வேண்டும் மற்றும் பாகுபடுத்தப்பட வேண்டும், ஏனெனில் முழு வரலாறும் பெரிய பகுதிகளுக்கு பொருந்தாது. இதற்குப் பிறகுதான் பிரதி முழு டெல்டா காப்புப்பிரதியை காப்பகப்படுத்த முடியும்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

வரைபடங்களில் எல்லாம் மிகவும் எளிமையானதாகத் தெரிகிறது. இது எங்கள் உண்மையான கிளஸ்டர்களில் ஒன்றிலிருந்து பதிவிறக்கம். எங்களிடம் LSN அடிப்படையிலானது, ஒரே நாளில் தயாரிக்கப்பட்டது. LSN-அடிப்படையிலான டெல்டா காப்புப்பிரதி காலை மூன்று மணி முதல் காலை ஐந்து மணி வரை இயங்குவதைக் காண்கிறோம். இது செயலி கோர்களின் எண்ணிக்கையில் உள்ள சுமை. WAL-delta எங்களுக்கு இங்கு சுமார் 20 நிமிடங்கள் எடுத்தது. அதாவது, இது கணிசமாக வேகமாக மாறியது, ஆனால் அதே நேரத்தில் நெட்வொர்க்கில் மிகவும் தீவிரமான பரிமாற்றம் இருந்தது.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

தரவுத்தள வரலாற்றில் எந்தெந்த தொகுதிகள் மாறியது மற்றும் எந்த நேரத்தில் என்பது பற்றிய தகவல்கள் எங்களிடம் இருப்பதால், நாங்கள் மேலும் சென்று செயல்பாட்டை ஒருங்கிணைக்க முடிவு செய்தோம் - "pg_prefaulter" எனப்படும் PostgreSQL நீட்டிப்பு.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

இதன் பொருள், ஸ்டாண்ட்-பை பேஸ் மீட்டெடுப்பு கட்டளையை இயக்கும் போது, ​​அடுத்த WAL கோப்பைப் பெற WAL-G யிடம் கூறுகிறது. எதிர்காலத்தில் WAL மீட்டெடுப்பு செயல்முறையை எந்த தரவு தடுக்கிறது என்பதை நாங்கள் புரிந்துகொள்கிறோம் மற்றும் இந்தத் தொகுதிகளில் வாசிப்பு செயல்பாட்டைத் தொடங்குவோம். SSD கட்டுப்படுத்திகளின் செயல்திறனை அதிகரிக்க இது செய்யப்பட்டது. ஏனெனில் WAL ரோல் மாற்றப்பட வேண்டிய பக்கத்தை அடையும். இந்தப் பக்கம் வட்டில் உள்ளது மற்றும் பக்க தற்காலிக சேமிப்பில் இல்லை. மேலும் இந்தப் பக்கம் வருவதற்கு அவர் ஒத்திசைவாகக் காத்திருப்பார். ஆனால் அருகிலுள்ள WAL-G உள்ளது, இது அடுத்த சில நூறு மெகாபைட் WAL இல் நமக்கு சில பக்கங்கள் தேவைப்படும், அதே நேரத்தில் அவற்றை சூடேற்றத் தொடங்குகிறது. பல வட்டு அணுகல்களை துவக்குகிறது, இதனால் அவை இணையாக செயல்படுத்தப்படும். இது SSD டிரைவ்களில் நன்றாக வேலை செய்கிறது, ஆனால், துரதிர்ஷ்டவசமாக, வன்வட்டுக்கு இது முற்றிலும் பொருந்தாது, ஏனென்றால் நாங்கள் எங்கள் அறிவுறுத்தல்களில் மட்டுமே தலையிடுகிறோம்.

இதுதான் இப்போது குறியீட்டில் உள்ளது.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

நாங்கள் சேர்க்க விரும்பும் அம்சங்கள் உள்ளன.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

WAL-delta ஒப்பீட்டளவில் குறுகிய நேரத்தை எடுக்கும் என்பதை இந்தப் படம் காட்டுகிறது. மேலும் இது பகலில் தரவுத்தளத்தில் ஏற்பட்ட மாற்றங்களைப் படிக்கிறது. நாம் WAL-டெல்டாவை இரவில் மட்டும் செய்ய முடியாது, ஏனென்றால் அது சுமைகளின் குறிப்பிடத்தக்க ஆதாரமாக இல்லை. WAL-டெல்டாவை ஒவ்வொரு நிமிடமும் படிக்கலாம், ஏனெனில் அது மலிவானது. ஒரு நிமிடத்தில் கிளஸ்டரில் ஏற்பட்ட அனைத்து மாற்றங்களையும் ஸ்கேன் செய்யலாம். இதை "உடனடி WAL-டெல்டா" என்று அழைக்கலாம்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

புள்ளி என்னவென்றால், நாம் கிளஸ்டரை மீட்டெடுக்கும்போது, ​​​​நாம் வரிசையாக சுருட்ட வேண்டிய கதைகளின் எண்ணிக்கையை குறைக்கிறோம். அதாவது, PostgreSQL ரோல் செய்யும் WAL இன் அளவு குறைக்கப்பட வேண்டும், ஏனெனில் இது குறிப்பிடத்தக்க நேரத்தை எடுக்கும்.

ஆனால் அதெல்லாம் இல்லை. சில தொகுதிகள் காப்புப் பிரதி நிலைத்தன்மைக்கு மாற்றப்படும் என்று தெரிந்தால், கடந்த காலத்தில் அதை மாற்ற முடியாது. அதாவது, இப்போது WAL-delta பகிர்தலின் கோப்பு-மூலம்-கோப்பு மேம்படுத்தல் உள்ளது. அதாவது, எடுத்துக்காட்டாக, செவ்வாய்கிழமையன்று ஒரு டேபிள் முழுவதுமாக நீக்கப்பட்டாலோ அல்லது சில கோப்புகள் டேபிளிலிருந்து முழுவதுமாக நீக்கப்பட்டாலோ, டெல்டா திங்கள் மற்றும் சனிக்கிழமையன்று pg_basebackup மீட்டமைக்கப்பட்டால், இந்தத் தரவைக் கூட நாங்கள் உருவாக்க மாட்டோம்.

இந்த தொழில்நுட்பத்தை பக்க நிலைக்கு விரிவுபடுத்த விரும்புகிறோம். அதாவது, கோப்பின் சில பகுதி திங்களன்று மாறினால், ஆனால் புதன்கிழமை மேலெழுதப்படும், பின்னர் வியாழக்கிழமை ஒரு புள்ளியை மீட்டமைக்கும்போது, ​​பக்கங்களின் முதல் சில பதிப்புகளை வட்டில் எழுத வேண்டிய அவசியமில்லை.

ஆனால் இது இன்னும் நமக்குள் தீவிரமாக விவாதிக்கப்படும் ஒரு யோசனை, ஆனால் அது இன்னும் குறியீட்டை எட்டவில்லை.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

WAL-G இல் மேலும் ஒரு அம்சத்தை உருவாக்க விரும்புகிறோம். நாங்கள் வெவ்வேறு தரவுத்தளங்களை ஆதரிக்க வேண்டும் மற்றும் அதே வழியில் காப்பு நிர்வாகத்தை அணுக விரும்புவதால், அதை நீட்டிக்க விரும்புகிறோம். ஆனால் பிரச்சனை என்னவென்றால் MySQL APIகள் முற்றிலும் வேறுபட்டவை. MySQL இல், PITR ஆனது இயற்பியல் WAL பதிவின் அடிப்படையில் அல்ல, ஆனால் பின்லாக்கை அடிப்படையாகக் கொண்டது. மேலும் இந்த பின்லாக் முடிந்து, காப்பகப்படுத்தப்பட வேண்டும் என்று சில வெளிப்புற அமைப்புகளுக்கு MySQL இல் காப்பக அமைப்பு இல்லை. தரவுத்தளத்துடன் கிரானில் எங்காவது நின்று ஏதாவது தயாராக இருக்கிறதா என்று சரிபார்க்க வேண்டுமா?

அதே வழியில், MySQL மீட்டமைப்பின் போது, ​​​​எனக்கு இதுபோன்ற மற்றும் அத்தகைய கோப்புகள் தேவை என்று கணினிக்கு சொல்லக்கூடிய எந்த மீட்டெடுப்பு கட்டளையும் இல்லை. உங்கள் கிளஸ்டரை மீண்டும் உருவாக்கத் தொடங்குவதற்கு முன், உங்களுக்கு என்ன கோப்புகள் தேவை என்பதை நீங்கள் தெரிந்து கொள்ள வேண்டும். உங்களுக்கு என்ன கோப்புகள் தேவைப்படும் என்பதை நீங்களே யூகிக்க வேண்டும். ஆனால் இந்த பிரச்சனைகளை எப்படியாவது தவிர்க்கலாம். (தெளிவு: MySQL ஏற்கனவே ஆதரிக்கப்பட்டுள்ளது)

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

அறிக்கையில், WAL-G உங்களுக்குப் பொருந்தாத வழக்குகளைப் பற்றியும் பேச விரும்பினேன்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

உங்களிடம் ஒத்திசைவான பிரதி இல்லை என்றால், கடைசிப் பகுதி பாதுகாக்கப்படும் என்று WAL-G உத்தரவாதம் அளிக்காது. வரலாற்றின் கடைசி சில பிரிவுகளில் காப்பகப்படுத்தல் பின்தங்கியிருந்தால், அது ஒரு ஆபத்து. ஒத்திசைவான பிரதி இல்லை என்றால், நான் WAL-G ஐப் பயன்படுத்த பரிந்துரைக்க மாட்டேன். இருப்பினும், இது முக்கியமாக கிளவுட் நிறுவலுக்காக வடிவமைக்கப்பட்டுள்ளது, இது ஒரு ஒத்திசைவான பிரதியுடன் கூடிய உயர் கிடைக்கும் தீர்வைக் குறிக்கிறது, இது கடைசியாகச் செய்யப்பட்ட பைட்டுகளின் பாதுகாப்பிற்குப் பொறுப்பாகும்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

மக்கள் ஒரே நேரத்தில் WAL-G மற்றும் WAL-E இரண்டையும் இயக்க முயற்சிப்பதை நான் அடிக்கடி பார்க்கிறேன். WAL-G ஆனது WAL-E இலிருந்து ஒரு கோப்பை மீட்டெடுக்க முடியும் மற்றும் WAL-E இல் செய்யப்பட்ட காப்புப்பிரதியை மீட்டெடுக்க முடியும் என்ற அர்த்தத்தில் பின்தங்கிய இணக்கத்தன்மையை நாங்கள் ஆதரிக்கிறோம். ஆனால் இந்த இரண்டு அமைப்புகளும் இணையான வால்-புஷைப் பயன்படுத்துவதால், அவை ஒருவருக்கொருவர் கோப்புகளைத் திருடத் தொடங்குகின்றன. நாம் அதை WAL-G இல் சரிசெய்தால், அது இன்னும் WAL-E இல் இருக்கும். WAL-E இல், இது காப்பக நிலையைப் பார்க்கிறது, முடிக்கப்பட்ட கோப்புகளைப் பார்க்கிறது மற்றும் அவற்றைக் காப்பகப்படுத்துகிறது, அதே சமயம் மற்ற கணினிகள் இந்த WAL கோப்பு இருப்பதை அறியாது, ஏனெனில் PostgreSQL அதை இரண்டாவது முறையாக காப்பகப்படுத்த முயற்சிக்காது.

WAL-G பக்கத்தில் நாம் என்ன சரிசெய்யப் போகிறோம்? இந்த கோப்பு இணையாக மாற்றப்பட்டது என்பதை PostgreSQL க்கு தெரிவிக்க மாட்டோம், மேலும் அதை காப்பகப்படுத்த PostgreSQL கேட்கும் போது, ​​இந்த முறை மற்றும் இந்த md5 உடன் இதுபோன்ற கோப்பு ஏற்கனவே காப்பகப்படுத்தப்பட்டுள்ளது என்பதை நாங்கள் ஏற்கனவே அறிவோம், மேலும் PostgreSQL என்று கூறுவோம் - சரி, எதுவும் செய்யாமல் எல்லாம் தயாராக உள்ளது.

ஆனால் இந்த பிரச்சனை WAL-E பக்கத்தில் சரி செய்யப்பட வாய்ப்பில்லை, எனவே WAL-G மற்றும் WAL-E இரண்டிலும் கோப்பை காப்பகப்படுத்தும் ஒரு காப்பக கட்டளையை உருவாக்குவது தற்போது சாத்தியமற்றது.

கூடுதலாக, இப்போது உங்களுக்கு WAL-G பொருந்தாத வழக்குகள் உள்ளன, ஆனால் நாங்கள் அதை நிச்சயமாக சரிசெய்வோம்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்முதலாவதாக, தற்போது எங்களிடம் உள்ளமைக்கப்பட்ட காப்புப்பிரதி சரிபார்ப்பு இல்லை. காப்புப்பிரதி அல்லது மீட்டெடுப்பின் போது எங்களிடம் சரிபார்ப்பு இல்லை. நிச்சயமாக, இது மேகக்கணியில் செயல்படுத்தப்படுகிறது. ஆனால் இது வெறுமனே முன் சரிபார்ப்பதன் மூலம் செயல்படுத்தப்படுகிறது, வெறுமனே கிளஸ்டரை மீட்டமைப்பதன் மூலம். இந்த செயல்பாட்டை பயனர்களுக்கு வழங்க விரும்புகிறேன். ஆனால் சரிபார்ப்பதன் மூலம், WAL-G இல் கிளஸ்டரை மீட்டெடுத்து அதைத் தொடங்கலாம் மற்றும் புகைப் பரிசோதனைகளை இயக்கலாம்: pg_dumpall to /dev/null மற்றும் amcheck index verification.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

தற்போது WAL-G இல் WAL இலிருந்து ஒரு காப்புப்பிரதியை ஒத்திவைக்க வழி இல்லை. அதாவது, நாங்கள் சில சாளரங்களை ஆதரிக்கிறோம். எடுத்துக்காட்டாக, கடந்த ஏழு நாட்களைச் சேமித்தல், கடைசி பத்து காப்புப்பிரதிகளைச் சேமித்தல், கடைசி மூன்று முழு காப்புப்பிரதிகளைச் சேமித்தல். அடிக்கடி மக்கள் வந்து சொல்கிறார்கள்: "புத்தாண்டு அன்று என்ன நடந்தது என்பதை நாங்கள் காப்புப் பிரதி எடுக்க வேண்டும், அதை எப்போதும் வைத்திருக்க விரும்புகிறோம்." இதை எப்படி செய்வது என்று WAL-G க்கு இன்னும் தெரியவில்லை. (குறிப்பு - இது ஏற்கனவே சரி செய்யப்பட்டது. மேலும் படிக்க - காப்பு-குறியீடு விருப்பம் https://github.com/wal-g/wal-g/blob/master/PostgreSQL.md)

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

மேலும் PITR ஐ சரிபார்க்கும் போது எங்களிடம் பக்க செக்சம்கள் மற்றும் அனைத்து ஷாஃப்ட் பிரிவுகளுக்கான ஒருமைப்பாடு சோதனைகள் இல்லை.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

இவை அனைத்திலிருந்தும் நான் Google Summer of Codeக்கான திட்டத்தை ஒன்றாக இணைத்துள்ளேன். Goவில் ஏதாவது எழுதி, “G” என்ற எழுத்தில் ஒரு நிறுவனத்திடமிருந்து பல ஆயிரம் டாலர்களைப் பெற விரும்பும் புத்திசாலி மாணவர்கள் உங்களுக்குத் தெரிந்தால், அவர்களுக்கு எங்கள் திட்டத்தைப் பரிந்துரைக்கவும். இந்த திட்டத்திற்கு நான் வழிகாட்டியாக செயல்படுவேன், அவர்களால் முடியும். மாணவர்கள் இல்லை என்றால், கோடையில் நானே எடுத்து செய்வேன்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

மேலும் பல சிறிய பிரச்சனைகளை நாங்கள் படிப்படியாக செய்து வருகிறோம். மேலும் சில விசித்திரமான விஷயங்கள் நடக்கின்றன.

எடுத்துக்காட்டாக, நீங்கள் WAL-G ஐ வெற்று காப்புப்பிரதியைக் கொடுத்தால், அது வெறுமனே விழும். உதாரணமாக, அவர் ஒரு வெற்று கோப்புறையை காப்புப் பிரதி எடுக்க வேண்டும் என்று நீங்கள் அவரிடம் சொன்னால். pg_control கோப்பு இருக்காது. மேலும் தனக்கு ஒன்று புரியவில்லை என்று நினைப்பான். கோட்பாட்டில், இந்த விஷயத்தில், கருவியை எவ்வாறு பயன்படுத்துவது என்பதை விளக்குவதற்கு, பயனருக்கு ஒரு சாதாரண செய்தியை நீங்கள் எழுத வேண்டும். ஆனால் இது நிரலாக்கத்தின் அம்சம் அல்ல, ஆனால் ஒரு நல்ல, புரிந்துகொள்ளக்கூடிய மொழியின் அம்சம்.

ஆஃப்லைனில் காப்புப் பிரதி எடுப்பது எப்படி என்று எங்களுக்குத் தெரியாது. தரவுத்தளம் பொய்யாக இருந்தால், அதை காப்புப் பிரதி எடுக்க முடியாது. ஆனால் இங்கே எல்லாம் மிகவும் எளிது. LSN தொடங்கும் போது காப்புப்பிரதிகளை அழைக்கிறோம். அடிப்படைத் தளத்தின் LSN கட்டுப்பாட்டுக் கோப்பிலிருந்து படிக்கப்பட வேண்டும். மேலும் இது உணரப்படாத அம்சமாகும். பல காப்பு அமைப்புகள் அடிப்படை தரவுத்தளத்தை காப்புப் பிரதி எடுக்க முடியும். மற்றும் அது வசதியானது.

தற்போது காப்புப்பிரதி இடம் இல்லாததை எங்களால் சரியாக கையாள முடியவில்லை. ஏனென்றால் நாங்கள் வழக்கமாக வீட்டில் பெரிய காப்புப்பிரதிகளுடன் வேலை செய்கிறோம். மேலும் அவர்கள் அதைச் சுற்றி வரவில்லை. ஆனால் யாரேனும் இப்போதே Go இல் நிரல் செய்ய விரும்பினால், வெளியில் உள்ள பிழைகளுக்கான கையாளுதலை பக்கெட்டில் சேர்க்கவும். நான் நிச்சயமாக இழுக்க கோரிக்கையை பார்க்கிறேன்.

மேலும் எங்களுக்கு கவலையளிக்கும் முக்கிய விஷயம் என்னவென்றால், பல்வேறு காட்சிகளை சரிபார்க்கும் அளவுக்கு அதிகமான டாக்கர் ஒருங்கிணைப்பு சோதனைகளை நாங்கள் விரும்புகிறோம். இப்போது நாங்கள் அடிப்படை காட்சிகளை மட்டுமே சோதிக்கிறோம். ஒவ்வொரு உறுதிப்பாட்டிலும், ஆனால் நாங்கள் ஆதரிக்கும் அனைத்து செயல்பாடுகளையும் உறுதியுடன் சரிபார்க்க விரும்புகிறோம். குறிப்பாக, எடுத்துக்காட்டாக, PostgreSQL 9.4-9.5க்கு போதுமான ஆதரவைப் பெறுவோம். சமூகம் PostgreSQL ஐ ஆதரிப்பதால் நாங்கள் அவர்களுக்கு ஆதரவளிக்கிறோம், ஆனால் எல்லாவற்றையும் உடைக்கவில்லை என்பதை உறுதிப்படுத்த உறுதிமொழியை நாங்கள் சரிபார்க்க மாட்டோம். மேலும் இது மிகவும் தீவிரமான ஆபத்து என்று எனக்குத் தோன்றுகிறது.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

Yandex தரவுத்தள நிர்வாகத்தில் ஆயிரத்திற்கும் மேற்பட்ட கிளஸ்டர்களில் WAL-G இயங்குகிறது. மேலும் இது ஒவ்வொரு நாளும் பல நூறு டெராபைட் தரவுகளை காப்புப் பிரதி எடுக்கிறது.

எங்கள் குறியீட்டில் நிறைய TODO உள்ளது. நீங்கள் நிரல் செய்ய விரும்பினால், வாருங்கள், நாங்கள் இழுக்க கோரிக்கைகளுக்காக காத்திருக்கிறோம், நாங்கள் கேள்விகளுக்காக காத்திருக்கிறோம்.

WAL-G இலிருந்து காப்புப்பிரதிகள். 2019 இல் என்ன இருக்கிறது? ஆண்ட்ரி போரோடின்

உங்கள் கேள்விகள்

மாலை வணக்கம்! நன்றி! நீங்கள் WAL-டெல்டாவைப் பயன்படுத்துகிறீர்கள் என்றால், நீங்கள் முழுப் பக்க எழுத்துகளையே பெரிதும் நம்பியிருக்கலாம் என்பது என் யூகம். அப்படியானால், நீங்கள் சோதனைகளை நடத்துகிறீர்களா? அழகான வரைபடத்தைக் காட்டியிருக்கிறீர்கள். FPW ஐ அணைத்தால் எவ்வளவு அழகாக மாறும்?

முழுப்பக்க எழுத்துகள் எங்களுக்காக இயக்கப்பட்டுள்ளன, நாங்கள் அதை முடக்க முயற்சிக்கவில்லை. அதாவது, நான், ஒரு டெவலப்பராக, அதை அணைக்க முயற்சிக்கவில்லை. ஆராய்ச்சி செய்த கணினி நிர்வாகிகள் இந்த சிக்கலை ஆய்வு செய்திருக்கலாம். ஆனால் எங்களுக்கு FPW தேவை. ஏறக்குறைய யாரும் அதை முடக்க மாட்டார்கள், இல்லையெனில் ஒரு பிரதியிலிருந்து காப்புப்பிரதி எடுக்க இயலாது.

அறிக்கைக்கு நன்றி! என்னிடம் இரண்டு கேள்விகள் உள்ளன. முதல் கேள்வி டேபிள்ஸ்பேஸ்களுக்கு என்ன நடக்கும்?

இழுக்க கோரிக்கைக்காக காத்திருக்கிறோம். எங்கள் தரவுத்தளங்கள் SSD மற்றும் NMVE வட்டுகளில் உள்ளன, எங்களுக்கு இந்த அம்சம் தேவையில்லை. அதைச் சிறப்பாகச் செய்வதில் தீவிர நேரத்தைச் செலவிட நான் தயாராக இல்லை. இதை நாங்கள் ஆதரிக்க வேண்டும் என்று நான் முழு மனதுடன் வலியுறுத்துகிறேன். அதை ஆதரித்தவர்களும் இருக்கிறார்கள், ஆனால் அவர்களுக்கு ஏற்ற வகையில் ஆதரவளித்தனர். அவர்கள் ஒரு முட்கரண்டி செய்தார்கள், ஆனால் அவர்கள் கோரிக்கைகளை இழுக்க மாட்டார்கள். (பதிப்பு 0.2.13 இல் சேர்க்கப்பட்டது)

மற்றும் இரண்டாவது கேள்வி. WAL-G தனியாக வேலை செய்கிறது என்றும், ரேப்பர்கள் தேவையில்லை என்றும் நீங்கள் ஆரம்பத்தில் சொன்னீர்கள். நானே ரேப்பர்களைப் பயன்படுத்துகிறேன். அவை ஏன் பயன்படுத்தப்படக்கூடாது?

இது ஒரு பாலலைகாவைப் போல எளிமையாக இருக்க வேண்டும் என்று நாங்கள் விரும்புகிறோம். ஒரு பாலாலைகாவைத் தவிர உங்களுக்கு எதுவும் தேவையில்லை என்பதே இதன் பொருள். அமைப்பு எளிமையாக இருக்க வேண்டும் என்று நாங்கள் விரும்புகிறோம். ஸ்கிரிப்ட்டில் செய்ய வேண்டிய செயல்பாடு உங்களிடம் இருந்தால், வந்து எங்களிடம் கூறுங்கள் - நாங்கள் அதை Goவில் செய்வோம்.

மாலை வணக்கம்! அறிக்கைக்கு நன்றி! GPG மறைகுறியாக்கத்துடன் பணிபுரிய WAL-Gஐப் பெற முடியவில்லை. இது சாதாரணமாக குறியாக்கம் செய்கிறது, ஆனால் மறைகுறியாக்க விரும்பவில்லை. இது நமக்குப் பலிக்காத ஒன்றா? நிலைமை மனவருத்தமாக உள்ளது.

GitHub இல் சிக்கலை உருவாக்கவும், அதைக் கண்டுபிடிப்போம்.

அதாவது, இதை நீங்கள் சந்திக்கவில்லையா?

பிழை அறிக்கையின் ஒரு அம்சம் உள்ளது, இது என்ன வகையான கோப்பு என்று WAL-G க்கு புரியவில்லை என்றால், அது கேட்கிறது: "ஒருவேளை இது குறியாக்கம் செய்யப்பட்டுள்ளதா?" ஒருவேளை பிரச்சனை குறியாக்கம் இல்லை. இந்த தலைப்பில் பதிவை மேம்படுத்த விரும்புகிறேன். அவர் அதை புரிந்து கொள்ள வேண்டும். பொது மற்றும் தனிப்பட்ட விசைகளைப் பெறுவதற்கான அமைப்பு எவ்வாறு ஒழுங்கமைக்கப்பட்டுள்ளது என்பது எங்களுக்குப் பிடிக்கவில்லை என்ற அர்த்தத்தில் நாங்கள் தற்போது இந்த தலைப்பில் பணியாற்றி வருகிறோம். ஏனென்றால் நாம் வெளிப்புற GPG என்று அழைக்கிறோம், அது அதன் விசைகளை நமக்குத் தருகிறது. பின்னர் நாங்கள் இந்த விசைகளை எடுத்து அவற்றை உள் GPG க்கு மாற்றுவோம், இது திறந்த PGP ஆகும், இது WAL-G க்குள் நமக்காக தொகுக்கப்பட்டுள்ளது, மேலும் அங்கு நாம் குறியாக்கத்தை அழைக்கிறோம். இது சம்பந்தமாக, நாங்கள் கணினியை மேம்படுத்த விரும்புகிறோம் மற்றும் லிப்சோடியம் குறியாக்கத்தை ஆதரிக்க விரும்புகிறோம் (பதிப்பு 0.2.15 இல் சேர்க்கப்பட்டது). நிச்சயமாக, டிகோடிங் வேலை செய்ய வேண்டும், அதைக் கண்டுபிடிப்போம் - இரண்டு வார்த்தைகளை விட உங்களுக்கு ஒரு அறிகுறி தேவை. எப்போதாவது ஸ்பீக்கர் அறையில் கூடி சிஸ்டத்தைப் பார்க்கலாம். (வெளிப்புற GPG இல்லாமல் PGP குறியாக்கம் - v0.2.9)

வணக்கம்! அறிக்கைக்கு நன்றி! என்னிடம் இரண்டு கேள்விகள் உள்ளன. pg_basebackup மற்றும் WAL உள்நுழைவை இரண்டு வழங்குநர்களில் செய்ய எனக்கு ஒரு விசித்திரமான விருப்பம் உள்ளது, அதாவது நான் ஒரு கிளவுட் மற்றும் இன்னொன்றைச் செய்ய விரும்புகிறேன். இதைச் செய்ய ஏதாவது வழி இருக்கிறதா?

இது இப்போது இல்லை, ஆனால் இது ஒரு சுவாரஸ்யமான யோசனை.

நான் ஒரு வழங்குநரை நம்பவில்லை, மற்றொன்றிலும் அதையே வைத்திருக்க விரும்புகிறேன்.

யோசனை சுவாரஸ்யமானது. தொழில்நுட்ப ரீதியாக, இதை செயல்படுத்துவது கடினம் அல்ல. யோசனை தொலைந்து போவதைத் தடுக்க, GitHub இல் சிக்கலைச் செய்யும்படி நான் உங்களிடம் கேட்கலாமா?

ஆம், நிச்சயமாக.

பின்னர், மாணவர்கள் Google Summer of Code க்கு வரும்போது, ​​​​அவர்களை திட்டத்தில் சேர்ப்போம், அதனால் அவர்களிடமிருந்து அதிகமானவற்றைப் பெறுவதற்கு அதிக வேலை இருக்கும்.

மற்றும் இரண்டாவது கேள்வி. GitHub இல் சிக்கல் உள்ளது. இது ஏற்கனவே மூடப்பட்டு விட்டது என்று நினைக்கிறேன். மீட்டெடுக்கும் போது ஒரு பீதி உள்ளது. அதை முறியடிக்க தனி சட்டசபையை உருவாக்கினீர்கள். பிரச்சினைகளில் அது சரிதான். மேலும் ஒரு திரியில் மாறி சூழலை செய்ய விருப்பம் உள்ளது. அதனால்தான் இது மிகவும் மெதுவாக வேலை செய்கிறது. நாங்கள் இந்த சிக்கலை எதிர்கொண்டோம், அது இன்னும் சரி செய்யப்படவில்லை.

சிக்கல் என்னவென்றால், சில காரணங்களால் சேமிப்பகம் (CEPH) இணைப்பை அதிக ஒத்திசைவுடன் அணுகும்போது அதை மீட்டமைக்கிறது. இதற்கு என்ன செய்யலாம்? மறுமுயற்சி தர்க்கம் இது போல் தெரிகிறது. கோப்பை மீண்டும் பதிவிறக்க முயற்சிக்கிறோம். ஒரு பாஸில், எங்களிடம் பல கோப்புகள் பதிவிறக்கம் செய்யப்படவில்லை, உள்நுழையாத அனைவருக்கும் இரண்டாவது ஒன்றை உருவாக்குவோம். ஒரு மறு செய்கைக்கு குறைந்தபட்சம் ஒரு கோப்பு ஏற்றப்படும் வரை, நாங்கள் மீண்டும் மீண்டும் செய்கிறோம் மற்றும் மீண்டும் செய்கிறோம். மறுமுயற்சியின் தர்க்கத்தை மேம்படுத்தியுள்ளோம் - அதிவேக பின்னடைவு. ஆனால் சேமிப்பக அமைப்பு பக்கத்தில் இணைப்பு வெறுமனே உடைந்துவிடும் என்ற உண்மையை என்ன செய்வது என்பது முற்றிலும் தெளிவாக இல்லை. அதாவது, நாம் ஒரு ஸ்ட்ரீமில் பதிவேற்றும்போது, ​​​​அது இந்த இணைப்புகளை உடைக்காது. நாம் இங்கே என்ன மேம்படுத்த முடியும்? எங்களிடம் நெட்வொர்க் த்ரோட்லிங் உள்ளது, ஒவ்வொரு இணைப்பையும் அது அனுப்பும் பைட்டுகளின் எண்ணிக்கையால் கட்டுப்படுத்தலாம். இல்லையெனில், ஆப்ஜெக்ட் ஸ்டோரேஜ் அதிலிருந்து இணையாகப் பதிவிறக்கவோ அல்லது பதிவிறக்கவோ அனுமதிக்காது என்ற உண்மையை எப்படிச் சமாளிப்பது என்று எனக்குத் தெரியவில்லை.

SLA இல்லையா? அவர்கள் தங்களை எப்படி துன்புறுத்த அனுமதிக்கிறார்கள் என்பது அவர்களுக்காக எழுதப்படவில்லையா?

விஷயம் என்னவென்றால், இந்த கேள்வியைக் கொண்டு வருபவர்கள் பொதுவாக தங்கள் சொந்த பெட்டகத்தைக் கொண்டுள்ளனர். அதாவது, Amazon அல்லது Google Cloud அல்லது Yandex Object Storage இலிருந்து யாரும் வருவதில்லை.

ஒருவேளை கேள்வி இனி உங்களுக்கு இல்லை?

இந்த விஷயத்தில் இங்கே கேள்வி யாருக்கு முக்கியமில்லை. இதை எப்படி சமாளிப்பது என்பது பற்றி ஏதேனும் யோசனைகள் இருந்தால், அதை WAL-G இல் செய்வோம். ஆனால் இதை எப்படி சமாளிப்பது என்பது குறித்து இதுவரை எனக்கு எந்த நல்ல யோசனையும் இல்லை. காப்புப்பிரதிகளை வித்தியாசமாகப் பட்டியலிடுவதை ஆதரிக்கும் சில ஆப்ஜெக்ட் ஸ்டோரேஜ்கள் உள்ளன. பொருட்களைப் பட்டியலிடச் சொல்லுங்கள், மேலும் அவர்கள் அங்கு கோப்புறையைச் சேர்க்கிறார்கள். WAL-G இதைப் பார்த்து பயப்படுகிறார் - இங்கே ஒரு கோப்பு இல்லாத சில விஷயங்கள் உள்ளன, என்னால் அதை மீட்டெடுக்க முடியாது, அதாவது காப்புப்பிரதி மீட்டெடுக்கப்படவில்லை. அதாவது, உண்மையில், உங்களிடம் முழுமையாக மீட்டெடுக்கப்பட்ட கிளஸ்டர் உள்ளது, ஆனால் அது உங்களுக்கு ஒரு தவறான நிலையைத் தருகிறது, ஏனெனில் பொருள் சேமிப்பகம் முழுமையாகப் புரிந்து கொள்ளாத சில விசித்திரமான தகவல்களை வழங்கியது.

இது மெயில் கிளவுட்டில் நடக்கும் ஒரு விஷயம்.

நீங்கள் ஒரு இனப்பெருக்கத்தை உருவாக்க முடிந்தால் ...

இது தொடர்ந்து இனப்பெருக்கம் செய்யப்படுகிறது ...

மறுஉருவாக்கம் இருந்தால், மறுமுயற்சி உத்திகளைப் பரிசோதித்து, மேகக்கணிக்கு நம்மிடம் என்ன தேவை என்பதைப் புரிந்துகொள்வது எப்படி என்பதைக் கண்டுபிடிப்போம் என்று நினைக்கிறேன். ஒருவேளை அது மூன்று இணைப்புகளில் எங்களுக்கு நிலையானதாக இருக்கும் மற்றும் இணைப்பை உடைக்காது, பின்னர் நாங்கள் கவனமாக மூன்றை அடைவோம். ஏனெனில் இப்போது நாம் இணைப்பை மிக விரைவாக கைவிடுகிறோம், அதாவது 16 த்ரெட்களுடன் மீட்டெடுப்பைத் தொடங்கினால், முதல் மறு முயற்சிக்குப் பிறகு 8 த்ரெட்கள், 4 த்ரெட்கள், 2 த்ரெட்கள் மற்றும் ஒன்று இருக்கும். பின்னர் அது கோப்பை ஒரு ஸ்ட்ரீமில் இழுக்கும். பம்ப் செய்வதற்கு 7,5 நூல்கள் சிறந்தவை போன்ற சில மேஜிக் மதிப்புகள் இருந்தால், நாங்கள் அவற்றில் தங்கி மேலும் 7,5 நூல்களை உருவாக்க முயற்சிப்போம். இதோ ஒரு யோசனை.

அறிக்கைக்கு நன்றி! WAL-G உடன் பணிபுரிவதற்கான முழுமையான பணிப்பாய்வு எப்படி இருக்கும்? எடுத்துக்காட்டாக, பக்கங்களில் டெல்டா இல்லாத போது முட்டாள் விஷயத்தில். ஆரம்ப காப்புப்பிரதியை எடுத்து அகற்றுவோம், பின்னர் முகத்தில் நீல நிறமாக இருக்கும் வரை தண்டை காப்பகப்படுத்துவோம். இங்கே, நான் புரிந்து கொண்டபடி, ஒரு முறிவு உள்ளது. ஒரு கட்டத்தில் நீங்கள் பக்கங்களின் டெல்டா காப்புப்பிரதியை உருவாக்க வேண்டும், அதாவது சில வெளிப்புற செயல்முறைகள் இதை இயக்குகின்றன அல்லது இது எப்படி நிகழ்கிறது?

டெல்டா காப்பு API மிகவும் எளிமையானது. அங்கு ஒரு எண் உள்ளது - அதிகபட்ச டெல்டா படிகள், அதுதான் அழைக்கப்படுகிறது. இது பூஜ்ஜியத்திற்கு இயல்புநிலையாகும். ஒவ்வொரு முறையும் நீங்கள் பேக்-அப்-புஷ் செய்யும் போது, ​​அது முழு காப்புப்பிரதியைப் பதிவிறக்குகிறது. நீங்கள் அதை ஏதேனும் நேர்மறை எண்ணாக மாற்றினால், எடுத்துக்காட்டாக, 3, அடுத்த முறை நீங்கள் காப்பு-புஷ் செய்யும் போது, ​​அது முந்தைய காப்புப்பிரதிகளின் வரலாற்றைப் பார்க்கிறது. நீங்கள் 3 டெல்டாக்களின் சங்கிலியைத் தாண்டாததை அவர் பார்த்து ஒரு டெல்டாவை உருவாக்குகிறார்.

அதாவது, ஒவ்வொரு முறையும் நாம் WAL-G ஐ அறிமுகப்படுத்தும்போது, ​​அது முழு காப்புப்பிரதியை உருவாக்க முயல்கிறதா?

இல்லை, நாங்கள் WAL-G ஐ இயக்குகிறோம், உங்கள் கொள்கைகள் அனுமதித்தால் அது டெல்டாவை உருவாக்க முயற்சிக்கும்.

தோராயமாகச் சொன்னால், ஒவ்வொரு முறையும் பூஜ்ஜியத்துடன் அதை இயக்கினால், அது pg_basebackup போல் செயல்படுமா?

இல்லை, இது இன்னும் வேகமாக இயங்கும், ஏனெனில் இது சுருக்க மற்றும் இணையான தன்மையைப் பயன்படுத்துகிறது. Pg_basebackup ஷாஃப்ட்டை உங்களுக்கு அடுத்ததாக வைக்கும். நீங்கள் காப்பகத்தை உள்ளமைத்துள்ளீர்கள் என்று WAL-G கருதுகிறது. அது கட்டமைக்கப்படாவிட்டால் எச்சரிக்கையை வெளியிடும்.

Pg_basebackup தண்டுகள் இல்லாமல் இயக்கப்படலாம்.

ஆம், பின்னர் அவர்கள் கிட்டத்தட்ட ஒரே மாதிரியாக நடந்து கொள்வார்கள். கோப்பு முறைமைக்கு Pg_basebackup நகல்கள். சொல்லப்போனால், நான் குறிப்பிட மறந்துவிட்ட ஒரு புதிய அம்சம் எங்களிடம் உள்ளது. இப்போது pg_basebackup இலிருந்து கோப்பு முறைமைக்கு காப்புப் பிரதி எடுக்கலாம். இது ஏன் தேவை என்று எனக்குத் தெரியவில்லை, ஆனால் அது இருக்கிறது.

உதாரணமாக, CephFS இல். எல்லோரும் பொருள் சேமிப்பகத்தை உள்ளமைக்க விரும்பவில்லை.

ஆம், அதனால்தான் அவர்கள் இந்த அம்சத்தைப் பற்றி ஒரு கேள்வியைக் கேட்டிருக்கலாம், அதனால் நாங்கள் அதைச் செய்யலாம். நாங்கள் அதை செய்தோம்.

அறிக்கைக்கு நன்றி! கோப்பு முறைமைக்கு நகலெடுப்பது பற்றி ஒரு கேள்வி உள்ளது. பெட்டிக்கு வெளியே, தொலைநிலை சேமிப்பகத்திற்கு நகலெடுப்பதை இப்போது ஆதரிக்கிறீர்களா, எடுத்துக்காட்டாக, தரவு மையத்தில் ஏதேனும் அலமாரி இருந்தால் அல்லது வேறு ஏதாவது இருந்தால்?

இந்த உருவாக்கத்தில், இது ஒரு கடினமான கேள்வி. ஆம், நாங்கள் ஆதரிக்கிறோம், ஆனால் இந்த செயல்பாடு இதுவரை எந்த வெளியீட்டிலும் சேர்க்கப்படவில்லை. அதாவது, அனைத்து முன் வெளியீடுகளும் இதை ஆதரிக்கின்றன, ஆனால் வெளியீட்டு பதிப்புகள் இல்லை. இந்த செயல்பாடு பதிப்பு 0.2 இல் சேர்க்கப்பட்டது. தெரிந்த பிழைகள் அனைத்தையும் சரி செய்தவுடன் கண்டிப்பாக விரைவில் வெளியிடப்படும். ஆனால் இப்போதைக்கு இதை ப்ரீ-ரிலீசில் மட்டுமே செய்ய முடியும். முன் வெளியீட்டில் இரண்டு பிழைகள் உள்ளன. WAL-E மீட்டெடுப்பில் சிக்கல், அதை நாங்கள் சரிசெய்யவில்லை. சமீபத்திய முன் வெளியீட்டில் டெல்டா-பேக்கப் பற்றிய ஒரு பிழை சேர்க்கப்பட்டது. எனவே, வெளியீட்டு பதிப்புகளைப் பயன்படுத்த அனைவருக்கும் பரிந்துரைக்கிறோம். முன் வெளியீட்டில் பிழைகள் இல்லை என்றவுடன், நாங்கள் Google Cloud, S3- இணக்கமான விஷயங்கள் மற்றும் கோப்பு சேமிப்பகத்தை ஆதரிக்கிறோம் என்று கூறலாம்.

வணக்கம், அறிக்கைக்கு நன்றி. நான் புரிந்துகொண்டபடி, WAL-G என்பது பார்மென் போன்ற ஒருவித மையப்படுத்தப்பட்ட அமைப்பு அல்லவா? இந்த திசையில் செல்ல திட்டமிட்டுள்ளீர்களா?

பிரச்சனை என்னவென்றால், நாம் இந்த திசையிலிருந்து விலகிவிட்டோம். WAL-G அடிப்படை ஹோஸ்டிலும், கிளஸ்டர் ஹோஸ்டிலும் மற்றும் கிளஸ்டரில் உள்ள அனைத்து ஹோஸ்ட்களிலும் வாழ்கிறது. நாங்கள் பல ஆயிரம் கிளஸ்டர்களுக்குச் சென்றபோது, ​​எங்களிடம் பல மதுக்கடை நிறுவல்கள் இருந்தன. மேலும் ஒவ்வொரு முறையும் அவற்றில் ஏதேனும் ஒன்று விழும்போது அது ஒரு பெரிய பிரச்சனை. அவை சரிசெய்யப்பட வேண்டும் என்பதால், இப்போது எந்த கிளஸ்டர்களில் காப்புப்பிரதிகள் இல்லை என்பதை நீங்கள் புரிந்து கொள்ள வேண்டும். காப்புப் பிரதி அமைப்புகளுக்கான இயற்பியல் வன்பொருளின் திசையில் WAL-G ஐ உருவாக்க நான் திட்டமிடவில்லை. சமூகம் இங்கே சில செயல்பாடுகளை விரும்பினால், நான் கவலைப்படவில்லை.

சேமிப்பகத்திற்கு பொறுப்பான குழுக்கள் எங்களிடம் உள்ளன. நாங்கள் மிகவும் நன்றாக உணர்கிறோம், அது நாங்கள் அல்ல, கோப்புகள் பாதுகாப்பாக இருக்கும் இடத்தில் எங்கள் கோப்புகளை வைக்கும் சிறப்பு நபர்கள் உள்ளனர். குறிப்பிட்ட எண்ணிக்கையிலான கோப்புகளின் இழப்பைத் தாங்கும் வகையில் எல்லா வகையான புத்திசாலித்தனமான குறியீட்டு முறைகளையும் அவர்கள் செய்கிறார்கள். நெட்வொர்க் அலைவரிசைக்கு அவர்கள் பொறுப்பு. உங்களிடம் ஒரு மதுக்கடை இருக்கும் போது, ​​ஒரே சர்வரில் அதிக ட்ராஃபிக்கைக் கொண்ட சிறிய தரவுத்தளங்கள் கூடியிருப்பதை நீங்கள் திடீரென்று கண்டுபிடிக்கலாம். உங்களிடம் நிறைய இடம் இருப்பதாகத் தெரிகிறது, ஆனால் சில காரணங்களால் எல்லாம் நெட்வொர்க் மூலம் பொருந்தாது. இது வேறு விதமாக மாறலாம். அங்கு நிறைய நெட்வொர்க்குகள் உள்ளன, செயலி கோர்கள் உள்ளன, ஆனால் இங்கே வட்டுகள் இல்லை. எதையாவது ஏமாற்றுவதற்கான இந்த தேவையால் நாங்கள் சோர்வடைந்துவிட்டோம், மேலும் தரவு சேமிப்பகம் ஒரு தனி சேவை என்ற உண்மைக்கு நாங்கள் நகர்ந்தோம், இதற்கு தனி சிறப்பு நபர்கள் பொறுப்பு.

P.S ஒரு புதிய பதிப்பு வெளியிடப்பட்டது 0.2.15, இதில் நீங்கள் .walg.json உள்ளமைவு கோப்பைப் பயன்படுத்தலாம், இது முன்னிருப்பாக postgres ஹோம் டைரக்டரியில் உள்ளது. நீங்கள் பாஷ் ஸ்கிரிப்ட்களை கைவிடலாம். உதாரணம் .walg.json இந்த இதழில் உள்ளது https://github.com/wal-g/wal-g/issues/545

வீடியோக்கள்:



ஆதாரம்: www.habr.com

கருத்தைச் சேர்