ஜார்ஜி ரைலோவின் 2020 ஆம் ஆண்டின் முற்பகுதி அறிக்கையின் டிரான்ஸ்கிரிப்டைப் படிக்க பரிந்துரைக்கிறேன் "WAL-G: புதிய வாய்ப்புகள் மற்றும் சமூகத்தின் விரிவாக்கம்"
திறந்த மூல பராமரிப்பாளர்கள் வளரும்போது பல சவால்களை எதிர்கொள்கின்றனர். மேலும் மேலும் தேவையான அம்சங்களை எழுதுவது, மேலும் மேலும் சிக்கல்களைச் சரிசெய்வது மற்றும் மேலும் மேலும் இழுக்கும் கோரிக்கைகளைப் பார்ப்பது எப்படி? WAL-G (PostgreSQL க்கான காப்பு-கருவி) எடுத்துக்காட்டாக, பல்கலைக்கழகத்தில் திறந்த மூல மேம்பாடு குறித்த பாடத்திட்டத்தை தொடங்குவதன் மூலம் இந்த சிக்கல்களை எவ்வாறு தீர்த்தோம், நாங்கள் என்ன சாதித்தோம், அடுத்து எங்கு செல்லப் போகிறோம் என்பதை நான் உங்களுக்கு சொல்கிறேன்.
மீண்டும் அனைவருக்கும் வணக்கம்! நான் யெகாடெரின்பர்க்கிலிருந்து யாண்டெக்ஸ் டெவலப்பர். இன்று நான் WAL-G பற்றி பேசுவேன்.
அறிக்கையின் தலைப்பு இது காப்புப்பிரதிகளைப் பற்றியது என்று கூறவில்லை. WAL-G என்றால் என்ன என்று யாருக்காவது தெரியுமா? அல்லது அனைவருக்கும் தெரியுமா? தெரியாவிட்டால் கையை உயர்த்துங்கள். புனிதம், நீங்கள் அறிக்கைக்கு வந்தீர்கள், அது என்னவென்று தெரியவில்லை.
இன்றைக்கு என்ன நடக்கும் என்று சொல்கிறேன். எங்கள் குழு சில காலமாக காப்புப்பிரதிகளைச் செய்து வருகிறது. இந்தத் தொடரின் மற்றொரு அறிக்கை, நாங்கள் தரவை எவ்வாறு பாதுகாப்பாகவும், பாதுகாப்பாகவும், வசதியாகவும், திறமையாகவும் சேமிப்போம் என்பதைப் பற்றி பேசுகிறோம்.
முந்தைய தொடர்களில் ஆண்ட்ரி போரோடின் மற்றும் விளாடிமிர் லெஸ்கோவ் ஆகியோரின் பல அறிக்கைகள் இருந்தன. எங்களில் பலர் இருந்தோம். நாங்கள் பல ஆண்டுகளாக WAL-G பற்றி பேசி வருகிறோம்.
clck.ru/F8ioz —
clck.ru/Ln8Qw —
இந்த அறிக்கை மற்றவற்றிலிருந்து சற்று வித்தியாசமாக இருக்கும், அதில் இது தொழில்நுட்ப பகுதியைப் பற்றியது, ஆனால் சமூகத்தின் வளர்ச்சியுடன் தொடர்புடைய சிக்கல்களை நாங்கள் எவ்வாறு எதிர்கொண்டோம் என்பதைப் பற்றி இங்கு பேசுவேன். இதை சமாளிக்க உதவும் ஒரு சிறிய யோசனையை நாங்கள் எவ்வாறு கண்டுபிடித்தோம்.
சில ஆண்டுகளுக்கு முன்பு, WAL-G என்பது சிட்டஸ் டேட்டாவிலிருந்து கிடைத்த மிகச் சிறிய திட்டமாகும். நாங்கள் அதை எடுத்தோம். மேலும் இது ஒருவரால் உருவாக்கப்பட்டது.
WAL-G மட்டும் இல்லை:
- பிரதியிலிருந்து காப்புப்பிரதி.
- அதிகரிக்கும் காப்புப்பிரதிகள் எதுவும் இல்லை.
- WAL-டெல்டா காப்புப்பிரதிகள் எதுவும் இல்லை.
- இன்னும் நிறைய காணவில்லை.
இந்த சில ஆண்டுகளில், WAL-G மிகவும் வளர்ந்துள்ளது.
மேலும் 2020 க்குள், மேலே உள்ள அனைத்தும் ஏற்கனவே தோன்றியுள்ளன. இதனுடன் இப்போது நம்மிடம் உள்ளவை சேர்க்கப்பட்டது:
- GitHub இல் 1 க்கும் மேற்பட்ட நட்சத்திரங்கள்.
- 150 முட்கரண்டி.
- சுமார் 15 திறந்த PRகள்.
- மேலும் பல பங்களிப்பாளர்கள்.
- மற்றும் எல்லா நேரங்களிலும் சிக்கல்களைத் திறக்கவும். நாங்கள் ஒவ்வொரு நாளும் அங்கு சென்று அதைப் பற்றி ஏதாவது செய்கிறோம் என்ற உண்மை இருந்தபோதிலும் இது.
Yandex இல் எங்களின் நிர்வகிக்கப்பட்ட தரவுத்தள சேவைக்கு நாமே எதையும் செயல்படுத்தத் தேவையில்லை என்றாலும், இந்தத் திட்டத்திற்கு அதிக கவனம் தேவை என்ற முடிவுக்கு வந்தோம்.
எங்கோ 2018 இலையுதிர்காலத்தில், ஒரு யோசனை நம் மனதில் வந்தது. உங்களிடம் போதுமான கைகள் இல்லையென்றால் சில அம்சங்களை உருவாக்க அல்லது பிழைகளை சரிசெய்ய பொதுவாக குழு பல வழிகளைக் கொண்டுள்ளது. உதாரணமாக, நீங்கள் மற்றொரு டெவலப்பரை வேலைக்கு அமர்த்தலாம் மற்றும் அவருக்கு பணம் செலுத்தலாம். அல்லது நீங்கள் ஒரு பயிற்சியாளரை சிறிது நேரம் எடுத்துக் கொள்ளலாம் மற்றும் அவருக்கு கொஞ்சம் சம்பளம் கொடுக்கலாம். ஆனால் இன்னும் ஒரு பெரிய குழு மக்கள் உள்ளனர், அவர்களில் சிலர் ஏற்கனவே குறியீட்டை எவ்வாறு எழுதுவது என்று அறிந்திருக்கிறார்கள். குறியீடு என்ன தரம் என்பது உங்களுக்கு எப்போதும் தெரியாது.
நாங்கள் அதைப் பற்றி யோசித்து மாணவர்களை ஈர்க்க முடிவு செய்தோம். ஆனால் மாணவர்கள் எங்களுடன் எல்லாவற்றிலும் பங்கேற்க மாட்டார்கள். அவர்கள் வேலையின் ஒரு பகுதியை மட்டுமே செய்வார்கள். அவர்கள், எடுத்துக்காட்டாக, சோதனைகளை எழுதுவார்கள், பிழைகளை சரிசெய்வார்கள், முக்கிய செயல்பாட்டை பாதிக்காத அம்சங்களை செயல்படுத்துவார்கள். முக்கிய செயல்பாடு காப்புப்பிரதிகளை உருவாக்குதல் மற்றும் காப்புப்பிரதிகளை மீட்டமைத்தல். காப்புப்பிரதியை உருவாக்குவதில் நாம் தவறு செய்தால், தரவு இழப்பை சந்திப்போம். யாரும் இதை விரும்பவில்லை, நிச்சயமாக. எல்லாமே மிகவும் பாதுகாப்பாக இருக்க வேண்டும் என்று எல்லோரும் விரும்புகிறார்கள். எனவே, நிச்சயமாக, நம்முடையதை விட குறைவாக நாங்கள் நம்பும் குறியீட்டை அனுமதிக்க விரும்பவில்லை. அதாவது, எந்த ஒரு முக்கியமான குறியீடாக இருந்தாலும், எங்கள் கூடுதல் பணியாளர்களிடமிருந்து நாங்கள் பெற விரும்புகிறோம்.
எந்த நிபந்தனைகளின் கீழ் மாணவர் PR ஏற்றுக்கொள்ளப்படுகிறது?
- அவர்கள் தங்கள் குறியீட்டை சோதனைகளுடன் மறைக்க வேண்டும். எல்லாம் சிஐயில் நடக்க வேண்டும்.
- மேலும் நாங்கள் 2 மதிப்புரைகளையும் பார்க்கிறோம். ஒன்று ஆண்ட்ரே போரோடின் மற்றும் ஒன்று நான்.
- கூடுதலாக, இது எங்கள் சேவையில் எதையும் உடைக்காதா என்பதைச் சரிபார்க்க, இந்த உறுதியுடன் சட்டசபையை நான் தனித்தனியாக பதிவேற்றுகிறேன். எதுவும் தோல்வியடையவில்லை என்பதை இறுதி முதல் இறுதி வரையிலான சோதனைகளில் நாங்கள் சரிபார்க்கிறோம்.
திறந்த மூலத்தைப் பற்றிய சிறப்புப் பாடநெறி
இது ஏன் தேவைப்படுகிறது, இது ஏன் என்பது பற்றி ஒரு சிறிய யோசனை எனக்கு தோன்றுகிறது.
எங்களுக்கு, லாபம் வெளிப்படையானது:
- நாங்கள் கூடுதல் கைகளைப் பெறுகிறோம்.
- மேலும் ஸ்மார்ட் குறியீட்டை எழுதும் ஸ்மார்ட் மாணவர்களிடையே அணிக்கான வேட்பாளர்களைத் தேடுகிறோம்.
மாணவர்களுக்கு என்ன பயன்?
அவர்கள் குறைவாக வெளிப்படையாக இருக்கலாம், ஏனென்றால் மாணவர்கள், குறைந்தபட்சம், அவர்கள் எழுதும் குறியீட்டிற்கான பணத்தைப் பெறுவதில்லை, ஆனால் அவர்களின் மாணவர் பதிவுகளுக்கு மட்டுமே தரங்களைப் பெறுவார்கள்.
இதுபற்றி அவர்களிடம் கேட்டேன். மற்றும் அவர்களின் வார்த்தைகளில்:
- திறந்த மூலத்தில் பங்களிப்பாளர் அனுபவம்.
- உங்கள் சிவியில் ஒரு வரியைப் பெறுங்கள்.
- உங்களை நிரூபித்து Yandex இல் ஒரு நேர்காணலில் தேர்ச்சி பெறுங்கள்.
- GSoC உறுப்பினராகுங்கள்.
- குறியீடு எழுத விரும்புவோருக்கு +1 சிறப்பு படிப்பு.
பாடநெறி எவ்வாறு கட்டமைக்கப்பட்டது என்பது பற்றி நான் பேசமாட்டேன். WAL-G முக்கிய திட்டம் என்று நான் கூறுவேன். இந்த பாடத்திட்டத்தில் Odyssey, PostgreSQL மற்றும் ClickHouse போன்ற திட்டங்களையும் சேர்த்துள்ளோம்.
மேலும் அவர்கள் இந்த பாடத்திட்டத்தில் சிக்கல்களைக் கொடுத்தனர், ஆனால் டிப்ளோமாக்கள் மற்றும் பாடநெறிகளையும் வழங்கினர்.
பயனர்களுக்கு என்ன நன்மை?
இப்போது உங்களுக்கு மிகவும் விருப்பமான பகுதிக்கு செல்லலாம். இதனால் உங்களுக்கு என்ன பயன்? புள்ளி என்னவென்றால், மாணவர்கள் நிறைய பிழைகளை சரிசெய்தனர். நீங்கள் எங்களிடம் கேட்ட அம்சங்களை நாங்கள் செய்துள்ளோம்.
நீங்கள் நீண்ட காலமாக விரும்பிய மற்றும் உணரப்பட்ட விஷயங்களைப் பற்றி நான் உங்களுக்கு சொல்கிறேன்.
டேபிள்ஸ்பேஸ் ஆதரவு. WAL-G இல் உள்ள டேபிள்ஸ்பேஸ்கள் WAL-G வெளியானதிலிருந்து எதிர்பார்க்கப்படுகிறது, ஏனெனில் WAL-G மற்றொரு காப்பு கருவியான WAL-E இன் வாரிசு ஆகும், அங்கு டேபிள்ஸ்பேஸ்களுடன் தரவுத்தள காப்புப்பிரதிகள் ஆதரிக்கப்படுகின்றன.
அது என்ன, அது ஏன் தேவை என்பதை சுருக்கமாக உங்களுக்கு நினைவூட்டுகிறேன். பொதுவாக, உங்கள் அனைத்து போஸ்ட்கிரெஸ் தரவுகளும் பேஸ் எனப்படும் கோப்பு முறைமையில் ஒரு கோப்பகத்தை ஆக்கிரமித்திருக்கும். இந்த கோப்பகத்தில் ஏற்கனவே Postgres க்கு தேவையான அனைத்து கோப்புகள் மற்றும் துணை அடைவுகள் உள்ளன.
டேபிள்ஸ்பேஸ் என்பது போஸ்ட்கிரெஸ் தரவைக் கொண்ட கோப்பகங்கள், ஆனால் அவை அடிப்படை கோப்பகத்திற்கு வெளியே அமைந்திருக்கவில்லை. டேபிள்ஸ்பேக்குகள் அடிப்படை கோப்பகத்திற்கு வெளியே அமைந்துள்ளன என்பதை ஸ்லைடு காட்டுகிறது.
போஸ்ட்கிரெஸுக்கு இது எப்படி இருக்கும்? அடிப்படை கோப்பகத்தில் ஒரு தனி துணை அடைவு pg_tblspc உள்ளது. மேலும் இது அடிப்படை கோப்பகத்திற்கு வெளியே போஸ்ட்கிரெஸ் தரவைக் கொண்டிருக்கும் கோப்பகங்களுக்கான சிம்லிங்க்களைக் கொண்டுள்ளது.
இதையெல்லாம் நீங்கள் பயன்படுத்தும் போது, உங்களுக்கு இந்த கட்டளைகள் இப்படி இருக்கும். அதாவது, நீங்கள் குறிப்பிட்ட அட்டவணையில் ஒரு அட்டவணையை உருவாக்கி, அது இப்போது எங்குள்ளது என்பதைப் பார்க்கவும். இவை கடைசி இரண்டு வரிகள், கடைசி இரண்டு கட்டளைகள் என்று அழைக்கப்படுகின்றன. அங்கே ஏதோ ஒரு வழி இருக்கிறது என்பது தெளிவாகிறது. ஆனால் உண்மையில், இது உண்மையான வழி அல்ல. இது அடிப்படை கோப்பகத்திலிருந்து டேபிள்ஸ்பேஸுக்கு முன்னொட்டப்பட்ட பாதை. அங்கிருந்து அது உங்கள் உண்மையான தரவுக்கு வழிவகுக்கும் ஒரு சிம்லிங்குடன் பொருந்துகிறது.
இதையெல்லாம் நாங்கள் எங்கள் குழுவில் பயன்படுத்துவதில்லை, ஆனால் இது பல WAL-E பயனர்களால் பயன்படுத்தப்பட்டது, அவர்கள் WAL-G க்கு செல்ல விரும்புவதாக எங்களுக்கு எழுதினர், ஆனால் இது அவர்களை நிறுத்தியது. இது இப்போது ஆதரிக்கப்படுகிறது.
எங்கள் சிறப்பு பாடநெறி எங்களுக்குக் கொண்டுவந்த மற்றொரு அம்சம் கேட்ச்அப். போஸ்ட்கிரெஸை விட ஆரக்கிளில் அதிகம் பணியாற்றியவர்களுக்கு கேட்ச்அப் பற்றி தெரியும்.
அது என்ன என்பது பற்றி சுருக்கமாக. எங்கள் சேவையில் உள்ள கிளஸ்டர் டோபாலஜி பொதுவாக இப்படித்தான் இருக்கும். எங்களுக்கு ஒரு மாஸ்டர் இருக்கிறார். அதிலிருந்து எழுதும் பதிவுகளை ஸ்ட்ரீம் செய்யும் பிரதி உள்ளது. மேலும் இது தற்போது எந்த LSN இல் உள்ளது என்பதை மாஸ்டரிடம் பிரதி கூறுகிறது. இதற்கு இணையாக எங்காவது, பதிவை காப்பகப்படுத்தலாம். பதிவை காப்பகப்படுத்துவதுடன், காப்புப்பிரதிகளும் மேகக்கணிக்கு அனுப்பப்படும். மற்றும் டெல்டா காப்புப்பிரதிகள் அனுப்பப்படுகின்றன.
என்ன பிரச்சனை இருக்க முடியும்? உங்களிடம் மிகப் பெரிய தரவுத்தளம் இருந்தால், உங்கள் பிரதி மாஸ்டரை விட மிகவும் பின்தங்கத் தொடங்கும். மேலும் அவளால் அவனைப் பிடிக்க முடியாத அளவுக்கு பின்தங்கியிருக்கிறாள். இந்த பிரச்சனை பொதுவாக எப்படியாவது தீர்க்கப்பட வேண்டும்.
மேலும் எளிதான வழி, பிரதியை அகற்றி மீண்டும் பதிவேற்றுவது, ஏனெனில் அது ஒருபோதும் பிடிக்காது, மேலும் சிக்கலைக் கையாள வேண்டும். ஆனால் இது மிகவும் நீண்ட காலமாக உள்ளது, ஏனென்றால் முழு 10 TB தரவுத்தள காப்புப்பிரதியை மீட்டெடுப்பது மிக மிக நீண்ட காலமாகும். மேலும் இதுபோன்ற பிரச்சனைகள் ஏற்பட்டால் இதையெல்லாம் விரைவாகச் செய்ய விரும்புகிறோம். அதுவும் கேட்ச்அப் தான்.
இந்த வழியில் மேகக்கணியில் சேமிக்கப்படும் டெல்டா காப்புப்பிரதிகளைப் பயன்படுத்த கேட்ச்அப் உங்களை அனுமதிக்கிறது. தற்சமயம் எந்த LSN பின்தங்கிய பிரதி உள்ளது என்று நீங்கள் கூறி, உங்கள் கிளஸ்டர் தற்போது அமைந்துள்ள LSNக்கும் LSNக்கும் இடையே டெல்டா காப்புப்பிரதியை உருவாக்க, அதை catchup கட்டளையில் குறிப்பிடவும். அதன் பிறகு, பின்தங்கியிருந்த பிரதிக்கு இந்த காப்புப்பிரதியை மீட்டெடுக்கிறீர்கள்.
பிற அடிப்படைகள்
மாணவர்களும் ஒரே நேரத்தில் நிறைய அம்சங்களை எங்களிடம் கொண்டு வந்தனர். யாண்டெக்ஸில் நாங்கள் போஸ்ட்கிரெஸ் மட்டுமல்ல, எங்களிடம் MySQL, MongoDB, Redis, ClickHouse போன்றவற்றையும் சமைப்பதால், சில சமயங்களில் MySQLக்கான பாயிண்ட்-இன்-டைம் மீட்டெடுப்பு மூலம் காப்புப்பிரதிகளை உருவாக்க முடியும், மேலும் பதிவேற்றுவதற்கான வாய்ப்பு கிடைத்தது. அவர்கள் மேகத்திற்கு.
WAL-G என்ன செய்கிறது என்பதைப் போன்றே அதைச் செய்ய விரும்பினோம். அது எப்படி இருக்கும் என்று பரிசோதனை செய்து பார்க்க முடிவு செய்தோம்.
முதலில், இந்த தர்க்கத்தை எந்த வகையிலும் பகிர்ந்து கொள்ளாமல், அவர்கள் முட்கரண்டியில் குறியீட்டை எழுதினார்கள். எங்களிடம் ஒருவித வேலை செய்யும் மாதிரி இருக்கிறது, அது பறக்க முடியும் என்று பார்த்தார்கள். எங்கள் முக்கிய சமூகம் போஸ்ட்கிரெசிஸ்டுகள் என்று நாங்கள் நினைத்தோம், அவர்கள் WAL-G ஐப் பயன்படுத்துகிறார்கள். எனவே இந்த பகுதிகளை எப்படியாவது பிரிக்க வேண்டும். அதாவது, Postgres க்கான குறியீட்டைத் திருத்தும்போது, MySQL ஐ உடைப்பதில்லை; MySQL ஐத் திருத்தும்போது, நாம் Postgres ஐ உடைப்பதில்லை.
இதை எவ்வாறு பிரிப்பது என்பது பற்றிய முதல் யோசனை PostgreSQL நீட்டிப்புகளில் பயன்படுத்தப்படும் அதே அணுகுமுறையைப் பயன்படுத்துவதாகும். மேலும், உண்மையில், MySQL காப்புப்பிரதியை உருவாக்க, நீங்கள் ஒருவித டைனமிக் நூலகத்தை நிறுவ வேண்டும்.
ஆனால் இங்கே இந்த அணுகுமுறையின் சமச்சீரற்ற தன்மை உடனடியாகத் தெரியும். நீங்கள் Postgres ஐ காப்புப் பிரதி எடுக்கும்போது, அதில் Postgres க்கு ஒரு சாதாரண காப்புப்பிரதியை வைத்து, எல்லாம் சரியாகிவிடும். MySQL க்கு நீங்கள் Postgres க்கான காப்புப்பிரதியை நிறுவுகிறீர்கள், மேலும் MySQL க்கான டைனமிக் நூலகத்தையும் நிறுவுகிறீர்கள். இது விசித்திரமாக ஒலிக்கிறது. நாங்களும் அவ்வாறே யோசித்து இது நமக்குத் தேவையான தீர்வு இல்லை என்று முடிவு செய்தோம்.
Postgres, MySQL, MongoDB, Redis க்கான பல்வேறு உருவாக்கங்கள்
ஆனால் இது எங்களுக்குத் தோன்றியது, சரியான முடிவுக்கு வர - வெவ்வேறு தளங்களுக்கு வெவ்வேறு கூட்டங்களை ஒதுக்க. WAL-G செயல்படுத்தும் பொதுவான API ஐ அணுகும் பல்வேறு தரவுத்தளங்களின் காப்புப்பிரதிகளுடன் பிணைக்கப்பட்ட தர்க்கத்தை தனிமைப்படுத்த இது சாத்தியமாக்கியது.
மாணவர்களிடம் பிரச்சனைகளைக் கொடுப்பதற்கு முன் - நாமே எழுதிய பகுதி இது. அதாவது, அவர்கள் ஏதாவது தவறு செய்யக்கூடிய பகுதி இதுதான், எனவே இதுபோன்ற ஒன்றைச் செய்வது நல்லது, எல்லாம் சரியாகிவிடும் என்று நாங்கள் முடிவு செய்தோம்.
அதன்பிறகு பிரச்னைகளைக் கொடுத்தோம். அவை உடனடியாக அப்புறப்படுத்தப்பட்டன. மாணவர்கள் மூன்று அடிப்படைகளை ஆதரிக்க வேண்டும்.
இது MySQL ஆகும், இதை நாங்கள் ஒரு வருடத்திற்கும் மேலாக 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 க்கு செல்ல விரும்பினால், உங்கள் விருப்பங்களை நாங்கள் மிக எளிதாகப் பெற முடியும்.
இது QR குறியீடு மற்றும் இணைப்பு. நீங்கள் அவற்றைச் சென்று உங்கள் எல்லா விருப்பங்களையும் எழுதலாம். எடுத்துக்காட்டாக, சில பிழைகளை நாங்கள் சரிசெய்யவில்லை. அல்லது நீங்கள் உண்மையிலேயே சில அம்சத்தை விரும்புகிறீர்கள், ஆனால் சில காரணங்களால் இது எங்களுடையது உட்பட எந்த காப்புப்பிரதியிலும் இல்லை. இதைப் பற்றி கண்டிப்பாக எழுதுங்கள்.
உங்கள் கேள்விகள்
வணக்கம்! அறிக்கைக்கு நன்றி! WAL-G பற்றிய கேள்வி, ஆனால் Postgres பற்றி அல்ல. WAL-G MySQL ஐ காப்புப் பிரதி எடுத்து கூடுதல் காப்புப்பிரதியை அழைக்கிறது. நாம் CentOS இல் நவீன நிறுவல்களை எடுத்து நீங்கள் MySQL ஐ நிறுவினால், MariDB நிறுவப்படும். பதிப்பு 10.3 இலிருந்து கூடுதல் காப்புப்பிரதி ஆதரிக்கப்படவில்லை, MariDB காப்புப்பிரதி ஆதரிக்கப்படுகிறது. நீங்கள் இதை எப்படி செய்கிறீர்கள்?
தற்போது நாங்கள் MariDB ஐ காப்புப் பிரதி எடுக்க முயற்சிக்கவில்லை. FoundationDB ஆதரவுக்கான கோரிக்கைகள் எங்களிடம் உள்ளன, ஆனால் பொதுவாக, அத்தகைய கோரிக்கை இருந்தால், அதைச் செய்யும் நபர்களைக் காணலாம். இது நான் நினைப்பது போல் நீண்ட அல்லது கடினமானது அல்ல.
மதிய வணக்கம் அறிக்கைக்கு நன்றி! சாத்தியமான புதிய அம்சங்களைப் பற்றிய கேள்வி. நீங்கள் டேப்களில் காப்புப் பிரதி எடுக்க, WAL-G ஐ டேப் மூலம் வேலை செய்யத் தயாரா?
டேப் சேமிப்பகத்தில் காப்புப்பிரதி என்பது வெளிப்படையாகத் தெரிகிறது?
ஆமாம்.
இந்த கேள்விக்கு என்னை விட சிறப்பாக பதிலளிக்கக்கூடிய ஆண்ட்ரி போரோடின் இருக்கிறார்.
(ஆண்ட்ரே) ஆம், கேள்விக்கு நன்றி! மேகக்கணி சேமிப்பகத்திலிருந்து டேப்பிற்கு காப்புப்பிரதியை மாற்றுவதற்கான கோரிக்கை எங்களிடம் உள்ளது. மற்றும் இதற்கு
அறிக்கைக்கு நன்றி! சுவாரஸ்யமான வளர்ச்சி செயல்முறை. காப்புப்பிரதி என்பது ஒரு தீவிரமான செயல்பாடாகும், இது சோதனைகளால் நன்கு மூடப்பட்டிருக்க வேண்டும். புதிய தரவுத்தளங்களுக்கான செயல்பாட்டை நீங்கள் செயல்படுத்தியபோது, மாணவர்களும் சோதனைகளை எழுதினார்களா, அல்லது நீங்களே சோதனைகளை எழுதி மாணவர்களுக்கு செயல்படுத்தினீர்களா?
மாணவர்களும் தேர்வு எழுதினர். ஆனால் புதிய தரவுத்தளங்கள் போன்ற அம்சங்களுக்காக மாணவர்கள் அதிகம் எழுதினார்கள். ஒருங்கிணைப்புத் தேர்வு எழுதினார்கள். மேலும் யூனிட் தேர்வு எழுதினர். ஒருங்கிணைப்பு கடந்துவிட்டால், அதாவது, தற்போது, இது நீங்கள் கைமுறையாக இயக்கும் ஸ்கிரிப்ட் அல்லது கிரான் அதைச் செய்ய வேண்டும், எடுத்துக்காட்டாக. அதாவது, அங்குள்ள ஸ்கிரிப்ட் மிகத் தெளிவாக உள்ளது.
மாணவர்களுக்கு அதிக அனுபவம் இல்லை. மதிப்பாய்வு செய்ய அதிக நேரம் எடுக்குமா?
ஆம், மதிப்புரைகள் நிறைய நேரம் எடுக்கும். அதாவது, வழக்கமாக, பல கமிட்டியாளர்கள் ஒரே நேரத்தில் வந்து, நான் இதைச் செய்தேன், நான் அதைச் செய்தேன் என்று கூறும்போது, அவர்கள் அங்கு என்ன எழுதினார்கள் என்பதைக் கண்டுபிடிக்க அரை நாள் யோசித்து ஒதுக்க வேண்டும். ஏனெனில் குறியீட்டை கவனமாக படிக்க வேண்டும். அவர்களுக்கு நேர்காணல் இல்லை. அவர்களைப் பற்றி எங்களுக்கு நன்றாகத் தெரியாது, எனவே இதற்கு கணிசமான அளவு நேரம் எடுக்கும்.
அறிக்கைக்கு நன்றி! முன்னதாக, WAL-G இல் உள்ள archive_command நேரடியாக அழைக்கப்பட வேண்டும் என்று Andrey Borodin கூறினார். ஆனால் சில வகையான கிளஸ்டர் கார்ட்ரிட்ஜ் விஷயத்தில், தண்டுகளை அனுப்பும் முனையை தீர்மானிக்க கூடுதல் தர்க்கம் தேவை. இந்த சிக்கலை நீங்களே எவ்வாறு தீர்ப்பது?
இங்கே உங்களுக்கு என்ன பிரச்சனை? நீங்கள் காப்புப்பிரதியை உருவாக்கும் ஒத்திசைவான பிரதி உங்களிடம் உள்ளது என்று வைத்துக்கொள்வோம்? அல்லது என்ன?
(ஆண்ட்ரே) உண்மையில் WAL-G ஷெல் ஸ்கிரிப்டுகள் இல்லாமல் பயன்படுத்தப்பட வேண்டும் என்பதே உண்மை. ஏதாவது விடுபட்டிருந்தால், WAL-G க்குள் இருக்க வேண்டிய தர்க்கத்தைச் சேர்ப்போம். காப்பகப்படுத்தல் எங்கிருந்து வர வேண்டும் என்பதைப் பொறுத்தவரை, காப்பகமானது கிளஸ்டரில் உள்ள தற்போதைய மாஸ்டரிடமிருந்து இருக்க வேண்டும் என்று நாங்கள் நம்புகிறோம். பிரதியிலிருந்து காப்பகப்படுத்துவது தவறான யோசனை. சிக்கல்களுடன் பல்வேறு சாத்தியமான காட்சிகள் உள்ளன. குறிப்பாக, காலக்கெடுவை காப்பகப்படுத்துவதில் உள்ள சிக்கல்கள் மற்றும் கூடுதல் தகவல்கள். கேள்விக்கு நன்றி!
(தெளிவு: ஷெல் ஸ்கிரிப்ட்களை அகற்றிவிட்டோம்
மாலை வணக்கம்! அறிக்கைக்கு நன்றி! நீங்கள் பேசிய கேட்அப் அம்சத்தில் நான் ஆர்வமாக உள்ளேன். ஒரு பிரதி பின்னால் இருந்ததால் பிடிக்க முடியாத சூழ்நிலையை நாங்கள் எதிர்கொண்டோம். WAL-G ஆவணங்களில் இந்த அம்சத்தின் விளக்கத்தை நான் காணவில்லை.
கேட்ச்அப் உண்மையில் 20 ஜனவரி 2020 அன்று தோன்றியது. ஆவணத்திற்கு இன்னும் சில வேலைகள் தேவைப்படலாம். நாமே எழுதுகிறோம், நன்றாக எழுதுவதில்லை. ஒருவேளை நாம் மாணவர்கள் அதை எழுத வேண்டும் என்று தொடங்க வேண்டும்.
ஏற்கனவே வெளியாகிவிட்டதா?
இழுத்தல் கோரிக்கை ஏற்கனவே இறந்துவிட்டது, அதாவது நான் அதைச் சரிபார்த்தேன். நான் இதை ஒரு சோதனைக் கிளஸ்டரில் முயற்சித்தேன். இதை ஒரு போர் உதாரணத்தில் சோதிக்கும் சூழ்நிலை இதுவரை எங்களுக்கு இல்லை.
எப்போது எதிர்பார்க்கலாம்?
எனக்கு தெரியாது. ஒரு மாதம் காத்திருங்கள், நாங்கள் சரிபார்க்கிறோம்.
ஆதாரம்: www.habr.com