WAL-G: නව විශේෂාංග සහ ප්‍රජා ව්‍යාප්තිය. ජෝර්ජි රයිලොව්

Georgy Rylov විසින් "WAL-G: ප්‍රජාවේ නව අවස්ථා සහ ප්‍රසාරණය" 2020 මුල් වාර්තාවේ පිටපත කියවීමට මම ඔබට යෝජනා කරමි.

විවෘත මූලාශ්‍ර නඩත්තු කරන්නන් වර්ධනය වන විට බොහෝ අභියෝගවලට මුහුණ දෙයි. වැඩි වැඩියෙන් අවශ්‍ය විශේෂාංග ලිවීම, වැඩි වැඩියෙන් ගැටළු නිරාකරණය කිරීම සහ වැඩි වැඩියෙන් ඇදීමේ ඉල්ලීම් බැලීම කළමනාකරණය කරන්නේ කෙසේද? උදාහරණයක් ලෙස WAL-G (PostgreSQL සඳහා උපස්ථ-මෙවලම) භාවිතා කරමින්, විශ්ව විද්‍යාලයේ විවෘත මූලාශ්‍ර සංවර්ධනය පිළිබඳ පා course මාලාවක් දියත් කිරීමෙන් අපි මෙම ගැටලු විසඳා ගත් ආකාරය, අප ලබා ගත් දේ සහ අපි ඊළඟට යන්නේ කොතැනටද යන්න මම ඔබට කියමි.

WAL-G: නව විශේෂාංග සහ ප්‍රජා ව්‍යාප්තිය. ජෝර්ජි රයිලොව්

නැවතත් ආයුබෝවන් හැමෝටම! මම Yekaterinburg හි Yandex සංවර්ධකයෙක්. අද මම WAL-G ගැන කතා කරන්නම්.

වාර්තාවේ මාතෘකාව එය උපස්ථ සම්බන්ධ දෙයක් බව කියා නැත. WAL-G කියන්නේ මොකක්ද කියලා කවුරුහරි දන්නවද? නැත්නම් හැමෝම දන්නවාද? දන්නේ නැත්නම් අත ඔසවන්න. ශුද්ධයි, ඔබ වාර්තාවට පැමිණි අතර එය කුමක් දැයි නොදනී.

අද මොකද වෙන්නේ කියලා කියන්නම්. එය එසේ වන්නේ අපේ කණ්ඩායම සෑහෙන කාලයක් තිස්සේ උපස්ථ කිරීම සිදු කරන බවයි. තවද මෙය අපි දත්ත ආරක්ෂිතව, ආරක්ෂිතව, පහසුව සහ කාර්යක්ෂමව ගබඩා කරන ආකාරය ගැන කතා කරන මාලාවක තවත් වාර්තාවකි.

WAL-G: නව විශේෂාංග සහ ප්‍රජා ව්‍යාප්තිය. ජෝර්ජි රයිලොව්

පෙර ලිපි මාලාවේ Andrei Borodin සහ Vladimir Leskov විසින් බොහෝ වාර්තා විය. අපි ගොඩක් හිටියා. ඒ වගේම අපි වසර ගණනාවක් තිස්සේ 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 Data වෙතින් අපට ලැබුණු තරමක් කුඩා ව්‍යාපෘතියකි. අනික අපි ඒක ගත්තා විතරයි. තවද එය එක් පුද්ගලයෙකු විසින් සංවර්ධනය කරන ලදී.

WAL-G සතුව පමණක් නොතිබුණි:

  • අනුරුවකින් උපස්ථය.
  • වර්ධක උපස්ථ තිබුණේ නැත.
  • WAL-Delta උපස්ථ කිසිවක් නොතිබුණි.
  • ඒවගේම තාම ගොඩක් අතුරුදහන් වෙලා තිබුනා.

මෙම වසර කිහිපය තුළ, WAL-G බොහෝ වර්ධනය වී ඇත.

WAL-G: නව විශේෂාංග සහ ප්‍රජා ව්‍යාප්තිය. ජෝර්ජි රයිලොව්

තවද 2020 වන විට ඉහත සියල්ල දැනටමත් දර්ශනය වී ඇත. මෙයට දැන් අප සතුව ඇති දේ එකතු කරන ලදී:

  • GitHub මත තරු 1කට වඩා.
  • ගෑරුප්පු 150ක්.
  • විවෘත PR 15ක් පමණ.
  • සහ තවත් බොහෝ දායකයින්.
  • සහ සෑම විටම ගැටළු විවෘත කරන්න. අපි වචනාර්ථයෙන් සෑම දිනකම එහි ගොස් ඒ ගැන යමක් කළත් මෙය මෙයයි.

WAL-G: නව විශේෂාංග සහ ප්‍රජා ව්‍යාප්තිය. ජෝර්ජි රයිලොව්

Yandex හි අපගේ කළමනාකරණය කරන ලද දත්ත සමුදා සේවාව සඳහා කිසිවක් ක්‍රියාත්මක කිරීමට අපට අවශ්‍ය නොවන විට පවා, මෙම ව්‍යාපෘතියට අපගේ වැඩි අවධානයක් අවශ්‍ය බව අපි නිගමනය කළෙමු.

ඒ වගේම 2018 අගභාගයේදී අපේ හිතට අදහසක් ආවා. සාමාන්‍යයෙන් කණ්ඩායමට ඔබට ප්‍රමාණවත් අත් නොමැති නම් සමහර විශේෂාංග සංවර්ධනය කිරීමට හෝ දෝෂ නිවැරදි කිරීමට ක්‍රම කිහිපයක් තිබේ. උදාහරණයක් ලෙස, ඔබට වෙනත් සංවර්ධකයෙකු කුලියට ගෙන ඔහුට මුදල් ගෙවිය හැකිය. නැත්තම් ටික කාලෙකට ඉන්ටර්න් කෙනෙක් අරන් එයාට පඩියක් ගෙවන්නත් පුළුවන්. නමුත් තවමත් විශාල පිරිසක් සිටින අතර, ඔවුන්ගෙන් සමහරෙක් දැනටමත් කේතය ලියන්නේ කෙසේදැයි දනී. කේතයේ ගුණාත්මක භාවය කුමක්දැයි ඔබ සැමවිටම නොදනී.

අපි ඒ ගැන සිතා සිසුන් ආකර්ෂණය කර ගැනීමට උත්සාහ කිරීමට තීරණය කළා. නමුත් සිසුන් අප සමඟ සෑම දෙයකටම සහභාගී නොවනු ඇත. ඔවුන් කරන්නේ කාර්යයේ කොටසක් පමණි. තවද ඔවුන්, උදාහරණයක් ලෙස, පරීක්ෂණ ලිවීම, දෝෂ නිවැරදි කිරීම, ප්‍රධාන ක්‍රියාකාරීත්වයට බලපාන්නේ නැති විශේෂාංග ක්‍රියාත්මක කරනු ඇත. ප්රධාන කාර්යය වන්නේ උපස්ථ නිර්මාණය කිරීම සහ උපස්ථ ප්රතිෂ්ඨාපනය කිරීමයි. උපස්ථයක් සෑදීමේදී අපි වැරැද්දක් කළහොත්, අපට දත්ත නැතිවීම අත්විඳිය හැකිය. ඇත්ත වශයෙන්ම, කිසිවෙකුට මෙය අවශ්ය නොවේ. සෑම කෙනෙකුම සෑම දෙයක්ම ඉතා ආරක්ෂිතව තබා ගැනීමට කැමතියි. එමනිසා, ඇත්ත වශයෙන්ම, අපි අපේම දේට වඩා අඩුවෙන් විශ්වාස කරන කේතයට ඉඩ දීමට අපට අවශ්‍ය නැත. එනම්, ඕනෑම විවේචනාත්මක නොවන කේතයක් අපගේ අතිරේක සේවකයින්ගෙන් ලැබීමට අප කැමතිය.

ශිෂ්‍ය PR පිළිගනු ලබන්නේ කුමන කොන්දේසි යටතේද?

  • ඔවුන් ඔවුන්ගේ කේතය පරීක්ෂණ සමඟ ආවරණය කිරීමට අවශ්‍ය වේ. සෑම දෙයක්ම CI හි සිදු විය යුතුය.
  • ඒ වගේම අපි සමාලෝචන 2ක් හරහා යනවා. එකක් Andrey Borodin සහ එකක් මගේ.
  • ඊට අමතරව, මෙය අපගේ සේවාවේ කිසිවක් බිඳ නොදමන්නේදැයි පරීක්ෂා කිරීම සඳහා, මම මෙම කැපවීම සමඟ එකලස් කිරීම වෙන වෙනම උඩුගත කරමි. තවද කිසිවක් අසාර්ථක නොවන බව අපි අන්තයේ සිට අවසානය දක්වා පරීක්ෂා කරමු.

විවෘත මූලාශ්‍ර පිළිබඳ විශේෂ පාඨමාලාව

WAL-G: නව විශේෂාංග සහ ප්‍රජා ව්‍යාප්තිය. ජෝර්ජි රයිලොව්

මෙය අවශ්‍ය වන්නේ ඇයි සහ මෙය ඇයි යන්න ගැන ටිකක්, මට පෙනෙන පරිදි, සිසිල් අදහසක්.

අපට, ලාභය පැහැදිලිය:

  • අපට අමතර අත් ලැබේ.
  • තවද අපි ස්මාර්ට් කේතය ලියන දක්ෂ සිසුන් අතර කණ්ඩායම සඳහා අපේක්ෂකයින් සොයමින් සිටිමු.

සිසුන්ට ලැබෙන ප්‍රතිලාභය කුමක්ද?

සිසුන්ට අවම වශයෙන් ඔවුන් ලියන කේතය සඳහා මුදල් නොලැබෙන නමුත් ඔවුන්ගේ ශිෂ්‍ය වාර්තා සඳහා ශ්‍රේණි පමණක් ලැබෙන නිසා ඒවා අඩුවෙන් පැහැදිලි විය හැකිය.

මම ඔවුන්ගෙන් මේ ගැන ඇහුවා. සහ ඔවුන්ගේ වචන වලින්:

  • විවෘත මූලාශ්‍රවල දායක අත්දැකීම්.
  • ඔබේ CV එකේ රේඛාවක් ලබා ගන්න.
  • ඔබම ඔප්පු කර Yandex හි සම්මුඛ පරීක්ෂණයක් සමත් වන්න.
  • GSoC සාමාජිකයෙකු වන්න.
  • කේතය ලිවීමට කැමති අය සඳහා +1 විශේෂ පාඨමාලාව.

පාඨමාලාව සකස් වූ ආකාරය ගැන මම කතා නොකරමි. මම කියන්නම් WAL-G තමයි ප්‍රධාන ව්‍යාපෘතිය කියලා. අපි Odyssey, PostgreSQL සහ ClickHouse වැනි ව්‍යාපෘති ද මෙම පාඨමාලාවට ඇතුළත් කළෙමු.

තවද ඔවුන් මෙම පාඨමාලාවේ ගැටළු පමණක් නොව, ඩිප්ලෝමා සහ පාඨමාලා ද ලබා දුන්හ.

පරිශීලකයින් සඳහා ප්රතිලාභ ගැන කුමක් කිව හැකිද?

දැන් අපි ඔබට වඩාත්ම කැමති කොටස වෙත යමු. මෙයින් ඔබට සිදු වන යහපත කුමක්ද? කාරණය වන්නේ සිසුන් බොහෝ දෝෂ නිවැරදි කිරීමයි. තවද ඔබ අපෙන් ඉල්ලා සිටි ඉල්ලීම් විශේෂාංග අපි සෑදුවෙමු.

ඒවගේම ඔබ බොහෝ කලක සිට බලාපොරොත්තු වූ සහ අවබෝධ කරගත් දේවල් ගැන මම ඔබට කියන්නම්.

WAL-G: නව විශේෂාංග සහ ප්‍රජා ව්‍යාප්තිය. ජෝර්ජි රයිලොව්

මේස අවකාශයේ සහාය. WAL-G හි වගු අවකාශයන් WAL-G නිකුතුවේ සිට බොහෝ විට අපේක්ෂා කර ඇත, මන්ද WAL-G වෙනත් උපස්ථ මෙවලමක් වන WAL-E හි අනුප්‍රාප්තිකයා වන අතර එහිදී වගු සහිත දත්ත සමුදා උපස්ථ සඳහා සහය දක්වයි.

එය කුමක්ද සහ එය අවශ්ය වන්නේ මන්දැයි මම ඔබට කෙටියෙන් මතක් කරමි. සාමාන්‍යයෙන්, ඔබගේ සියලුම Postgres දත්ත පදනම් ලෙස හැඳින්වෙන ගොනු පද්ධතියේ එක් නාමාවලියක් ගනී. තවද මෙම නාමාවලියෙහි දැනටමත් Postgres විසින් අවශ්‍ය සියලුම ගොනු සහ උප බහලුම් අඩංගු වේ.

Tablespaces යනු Postgres දත්ත අඩංගු නාමාවලි වේ, නමුත් ඒවා මූලික නාමාවලියෙන් පිටත පිහිටා නොමැත. ස්ලයිඩය පෙන්වන්නේ ටේබල්ස්පැක් මූලික නාමාවලියෙන් පිටත පිහිටා ඇති බවයි.

WAL-G: නව විශේෂාංග සහ ප්‍රජා ව්‍යාප්තිය. ජෝර්ජි රයිලොව්

Postgres සඳහාම මෙය පෙනෙන්නේ කෙසේද? මූලික නාමාවලියෙහි වෙනම උප බහලුම pg_tblspc ඇත. තවද එහි මූලික නාමාවලියෙන් පිටත Postgres දත්ත ඇත්ත වශයෙන්ම අඩංගු නාමාවලි සඳහා symlinks අඩංගු වේ.

WAL-G: නව විශේෂාංග සහ ප්‍රජා ව්‍යාප්තිය. ජෝර්ජි රයිලොව්

ඔබ මේ සියල්ල භාවිතා කරන විට, ඔබට මෙම විධාන මේ වගේ දෙයක් විය හැකිය. එනම්, ඔබ යම් නිශ්චිත වගු අවකාශයක වගුවක් සාදා එය දැන් කොහිදැයි බලන්න. මේවා අවසාන පේළි දෙකයි, අවසාන විධාන දෙකයි. තවද එහි යම් මාර්ගයක් ඇති බව පැහැදිලිය. නමුත් ඇත්ත වශයෙන්ම, මෙය සැබෑ මාර්ගය නොවේ. මෙය මූලික බහලුමේ සිට වගු අවකාශය දක්වා උපසර්ග මාර්ගයයි. එතැන් සිට එය ඔබගේ සැබෑ දත්ත වෙත යොමු කරන symlink සමඟ ගැලපේ.

අපි මේ සියල්ල අපගේ කණ්ඩායම තුළ භාවිතා නොකරමු, නමුත් එය WAL-G වෙත යාමට අවශ්‍ය බව අපට ලියා ඇති තවත් බොහෝ WAL-E පරිශීලකයින් විසින් භාවිතා කරන ලදී, නමුත් මෙය ඔවුන්ව නතර කරමින් සිටියේය. මෙය දැන් සහය දක්වයි.

WAL-G: නව විශේෂාංග සහ ප්‍රජා ව්‍යාප්තිය. ජෝර්ජි රයිලොව්

අපගේ විශේෂ පාඨමාලාව අපට ගෙන ආ තවත් විශේෂාංගයක් වන්නේ අල්ලා ගැනීමයි. Postgres එක්ක වැඩ කරනවට වඩා Oracle එක්ක වැඩ කරපු අය කැචප් ගැන දන්නවා ඇති.

එය කුමක්ද යන්න ගැන කෙටියෙන්. අපගේ සේවාවේ ඇති පොකුරු ස්ථලකය සාමාන්‍යයෙන් මෙවැනි දෙයක් විය හැක. අපිට මාස්ටර් කෙනෙක් ඉන්නවා. එහි සිට ඉදිරියට ලිවීමට ලොග් ප්‍රවාහ කරන අනුරුවක් ඇත. සහ අනුරුව එය දැනට කුමන LSN ද යන්න ස්වාමියාට කියයි. තවද මෙයට සමාන්තරව කොතැනක හෝ ලොගය සංරක්ෂණය කළ හැකිය. තවද ලොගය සංරක්ෂණය කිරීමට අමතරව, උපස්ථ ද වලාකුළට යවනු ලැබේ. තවද ඩෙල්ටා උපස්ථ යවනු ලැබේ.

ගැටලුව කුමක් විය හැකිද? ඔබට තරමක් විශාල දත්ත සමුදායක් ඇති විට, ඔබේ අනුරුව ස්වාමියාට වඩා බොහෝ පසුගාමී වීමට පටන් ගනී. තවද ඇය බොහෝ පසුපසින් සිටින අතර ඇයට කිසි විටෙකත් ඔහුව අල්ලා ගත නොහැක. මෙම ගැටළුව සාමාන්යයෙන් කෙසේ හෝ විසඳිය යුතුය.

පහසුම ක්‍රමය නම් අනුරුව ඉවත් කර නැවත උඩුගත කිරීමයි, මන්ද එය කිසි විටෙකත් අල්ලා නොගන්නා අතර ගැටලුව සමඟ කටයුතු කළ යුතුය. නමුත් මෙය සෑහෙන කාලයක් ගතවේ, මක්නිසාද යත් සම්පූර්ණ 10 TB දත්ත සමුදාය ප්‍රතිසාධනය කිරීම ඉතා දිගු කාලයක් වන බැවිනි. ඒවගේම මේ වගේ ප්‍රශ්න ඇති උනොත් පුළුවන් තරම් ඉක්මනට මේ හැමදේම කරන්න ඕන. ඒ වගේම තමයි හරියටම අල්ලගන්නේ.

Catchup ඔබට ඩෙල්ටා උපස්ථ භාවිතා කිරීමට ඉඩ සලසයි, මේ ආකාරයෙන් වලාකුළෙහි ගබඩා කර ඇත. ප්‍රමාද වන අනුරුව දැනට ක්‍රියාත්මක වන්නේ කුමන LSN දැයි ඔබ පවසන අතර එම LSN සහ ඔබේ පොකුරු දැනට පිහිටා ඇති LSN අතර ඩෙල්ටා උපස්ථයක් සෑදීම සඳහා එය catchup විධානය තුළ සඳහන් කරන්න. ඊට පසු, ඔබ මෙම උපස්ථය පසුගාමී වූ අනුරුවට ප්‍රතිසාධනය කරයි.

වෙනත් පදනම්

සිසුන්ද අපට එකවර විශේෂාංග රැසක් ගෙන ආවා. Yandex වලදී අපි පිසින්නේ Postgres පමණක් නොව, අපට MySQL, MongoDB, Redis, ClickHouse ද ඇති බැවින්, යම් අවස්ථාවක දී අපට MySQL සඳහා කාලය තුළ ප්‍රතිසාධනය සමඟ උපස්ථ සෑදීමට අවශ්‍ය වූ අතර උඩුගත කිරීමට අවස්ථාවක් තිබුණි. ඔවුන් වලාකුළට.

අපට අවශ්‍ය වූයේ එය WAL-G කරන ආකාරයට සමාන ආකාරයකින් කිරීමටයි. අපි අත්හදා බැලීමට තීරණය කළෙමු, එය පෙනෙන්නේ කෙසේදැයි බලන්න.

මුලදී, මෙම තර්කනය කිසිම ආකාරයකින් බෙදා නොගෙන, ඔවුන් දෙබලක කේතය ලිවීය. අපට යම් ආකාරයක වැඩ කරන ආකෘතියක් ඇති බවත් එය පියාසර කළ හැකි බවත් ඔවුන් දුටුවා. එතකොට අපි හිතුවා අපේ ප්‍රධාන ප්‍රජාව postgresists, ඔවුන් WAL-G භාවිතා කරනවා කියලා. එබැවින් අපි කෙසේ හෝ මෙම කොටස් වෙන් කළ යුතුය. එනම්, අපි Postgres සඳහා කේතය සංස්කරණය කරන විට, අපි MySQL කඩන්නේ නැත; අපි MySQL සංස්කරණය කරන විට, අපි Postgres කඩන්නේ නැත.

WAL-G: නව විශේෂාංග සහ ප්‍රජා ව්‍යාප්තිය. ජෝර්ජි රයිලොව්

මෙය වෙන් කරන්නේ කෙසේද යන්න පිළිබඳ පළමු අදහස වූයේ PostgreSQL දිගුවල භාවිතා කරන ප්‍රවේශයම භාවිතා කිරීමේ අදහසයි. ඇත්ත වශයෙන්ම, MySQL උපස්ථයක් සෑදීමට ඔබට යම් ආකාරයක ගතික පුස්තකාලයක් ස්ථාපනය කිරීමට සිදු විය.

නමුත් මෙහිදී මෙම ප්රවේශයේ අසමමිතිය ක්ෂණිකව පෙනේ. ඔබ Postgres උපස්ථ කරන විට, ඔබ එය මත Postgres සඳහා සාමාන්ය උපස්ථයක් තබා සියල්ල හොඳින් සිදු වේ. MySQL සඳහා ඔබ Postgres සඳහා උපස්ථයක් ස්ථාපනය කරන අතර ඒ සඳහා MySQL සඳහා ගතික පුස්තකාලයක් ස්ථාපනය කරන බව පෙනේ. එය අමුතු ආකාරයකට ඇසේ. අපිත් එහෙම හිතලා අපිට අවශ්‍ය විසඳුම මේක නෙවෙයි කියලා තීරණය කළා.

Postgres, MySQL, MongoDB, Redis සඳහා විවිධ ගොඩනැගීම්

නමුත් මෙය අපට නිවැරදි තීරණයකට එළඹීමට ඉඩ සලසයි - විවිධ පදනම් සඳහා විවිධ එකලස් කිරීම් වෙන් කිරීමට. WAL-G ක්‍රියාත්මක කරන පොදු API වෙත ප්‍රවේශ වන විවිධ දත්ත සමුදායන්හි උපස්ථවලට බැඳී ඇති තර්කනය හුදකලා කිරීමට මෙය හැකි විය.

WAL-G: නව විශේෂාංග සහ ප්‍රජා ව්‍යාප්තිය. ජෝර්ජි රයිලොව්

මේක අපිම ලියපු කොටස - සිසුන්ට ප්‍රශ්න දෙන්න කලින්. එනම්, මෙය හරියටම ඔවුන්ට වැරදි දෙයක් කළ හැකි කොටසයි, එබැවින් අපි මෙවැනි දෙයක් කිරීමට වඩා හොඳ බවත් සියල්ල හොඳින් වනු ඇති බවත් අපි තීරණය කළෙමු.

WAL-G: නව විශේෂාංග සහ ප්‍රජා ව්‍යාප්තිය. ජෝර්ජි රයිලොව්

ඊට පස්සේ අපි ප්‍රශ්න දැම්මා. ඔවුන් වහාම විසුරුවා හරින ලදී. සිසුන්ට පදනම් තුනකට සහාය වීමට අවශ්‍ය විය.

මෙය MySQL වේ, අපි වසරකට වැඩි කාලයක් WAL-G භාවිතා කරමින් උපස්ථ කරමින් සිටිමු.

දැන් MongoDB නිෂ්පාදනයට ළඟා වෙමින් තිබේ, එහිදී ඔවුන් එය ගොනුවකින් අවසන් කරයි. ඇත්ත වශයෙන්ම, අපි මේ සියල්ල සඳහා රාමුව ලිව්වෙමු. ඊට පස්සේ ශිෂ්‍යයෝ වැඩ කරන්න පුළුවන් දේවල් ටිකක් ලිව්වා. ඊට පස්සේ අපි ඒවා නිෂ්පාදනයේදී පිළිගන්න පුළුවන් තත්ත්වයකට ගෙන එනවා.

මෙම එක් එක් දත්ත සමුදායන් සඳහා සම්පූර්ණ උපස්ථ මෙවලම් ලිවීමට සිසුන්ට අවශ්‍ය බව මෙම ගැටළු පෙනුනේ නැත. අපිට එහෙම ප්‍රශ්නයක් තිබුණේ නැහැ. අපගේ ගැටලුව වූයේ අපට නියමිත වේලාවට ප්‍රතිසාධනය අවශ්‍ය වූ අතර අපට ක්ලවුඩ් වෙත උපස්ථ කිරීමට අවශ්‍ය වීමයි. තවද මෙය විසඳිය හැකි කේතයක් ලියන්නැයි ඔවුන් සිසුන්ගෙන් ඉල්ලා සිටියහ. සිසුන් දැනටමත් පවතින උපස්ථ මෙවලම් භාවිතා කර ඇති අතර, ඒවා කෙසේ හෝ උපස්ථ ලබා ගනී, පසුව ඒ සියල්ල WAL-G සමඟ එකට ඇලවූ අතර එමඟින් සියල්ල වලාකුළ වෙත යොමු කරන ලදී. ඒ වගේම ඔවුන් මේකට point-in-time recovery එකත් එකතු කළා.

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 ගැන ප්‍රශ්නය, නමුත් Postgres ගැන නොවේ. WAL-G MySQL උපස්ථ කර අමතර උපස්ථයක් අමතයි. අපි CentOS මත නවීන ස්ථාපනයන් ලබා ගන්නේ නම් සහ ඔබ MySQL ස්ථාපනය කරන්නේ නම්, MariDB ස්ථාපනය වේ. 10.3 අනුවාදයෙන් අමතර උපස්ථ සඳහා සහය නොදක්වයි, MariDB උපස්ථයට සහය දක්වයි. ඔබ මෙය සමඟ කටයුතු කරන්නේ කෙසේද?

මේ මොහොතේ අපි MariDB උපස්ථ කිරීමට උත්සාහ කර නැත. අපට FoundationDB සහාය සඳහා ඉල්ලීම් ඇත, නමුත් සාමාන්‍යයෙන්, එවැනි ඉල්ලීමක් තිබේ නම්, අපට එය කරන පුද්ගලයින් සොයාගත හැකිය. එය මා සිතන තරම් දිගු හෝ දුෂ්කර නොවේ.

සුභ සන්ධ්යාවක් වාර්තාවට ස්තූතියි! විය හැකි නව විශේෂාංග පිළිබඳ ප්‍රශ්නය. ඔබට ටේප් වලට උපස්ථ කිරීමට හැකි වන පරිදි WAL-G ටේප් සමඟ වැඩ කිරීමට ඔබ සූදානම්ද?

ටේප් ආචයනය මත උපස්ථ කිරීම පැහැදිලිවම අදහස් කරන්නේද?

ඔව්.

මට වඩා හොඳින් මෙම ප්‍රශ්නයට පිළිතුරු දිය හැකි ඇන්ඩ්‍රේ බොරෝඩින් සිටී.

(ඇන්ඩ්‍රි) ඔව්, ප්‍රශ්නයට ස්තූතියි! වලාකුළු ආචයනයෙන් ටේප් වෙත උපස්ථයක් මාරු කිරීමට අපට ඉල්ලීමක් තිබුණි. සහ මේ සඳහා කියත් වලාකුළු අතර මාරු කිරීම. වලාකුළු-වලාකුළු මාරු කිරීම ටේප් මාරු කිරීමේ සාමාන්‍යකරණය වූ අනුවාදයක් වන බැවිනි. ඊට අමතරව, ගබඩා සම්බන්ධයෙන් අපට විස්තීරණ ගෘහ නිර්මාණ ශිල්පයක් ඇත. මාර්ගය වන විට, බොහෝ ස්ටෝරෝස් සිසුන් විසින් ලියා ඇත. ඔබ ටේප් සඳහා ගබඩාව ලියන්නේ නම්, එය ඇත්ත වශයෙන්ම සහාය වනු ඇත. ඇදීමේ ඉල්ලීම් සලකා බැලීමට අපි සූදානම්. එහිදී ඔබට ගොනුවක් ලිවිය යුතුය, ගොනුවක් කියවන්න. ඔබ මේ දේවල් Go හි සිදු කරන්නේ නම්, ඔබට සාමාන්‍යයෙන් කේත පේළි 50ක් ලැබේ. එවිට ටේප් WAL-G හි සහය දක්වයි.

වාර්තාවට ස්තූතියි! සිත්ගන්නා සංවර්ධන ක්රියාවලිය. උපස්ථය යනු පරීක්ෂණ මගින් හොඳින් ආවරණය කළ යුතු ක්‍රියාකාරීත්වයේ බරපතල කොටසකි. ඔබ නව දත්ත සමුදායන් සඳහා ක්‍රියාකාරීත්වය ක්‍රියාත්මක කරන විට, සිසුන් ද පරීක්ෂණ ලිව්වාද, නැතහොත් ඔබ විසින්ම පරීක්ෂණ ලියා පසුව ක්‍රියාත්මක කිරීම සිසුන්ට ලබා දුන්නේද?

සිසුන් ද පරීක්ෂණ ලිවීය. නමුත් නව දත්ත සමුදායන් වැනි විශේෂාංග සඳහා සිසුන් වැඩිපුර ලිවීය. ඔවුන් ඒකාබද්ධතා පරීක්ෂණ ලිව්වා. ඒ වගේම ඔවුන් ඒකක පරීක්ෂණ ලිව්වා. අනුකලනය සමත් වුවහොත්, එනම්, මේ මොහොතේ, මෙය ඔබ අතින් ක්‍රියාත්මක කරන ස්ක්‍රිප්ට් එකක් හෝ ඔබට එය ක්‍රෝන් කර ඇත, උදාහරණයක් ලෙස. එනම් එහි පිටපත ඉතා පැහැදිලිය.

සිසුන්ට එතරම් අත්දැකීම් නොමැත. සමාලෝචනය කිරීමට බොහෝ කාලයක් ගතවේද?

ඔව්, සමාලෝචන සඳහා බොහෝ කාලයක් ගතවේ. ඒ කියන්නේ සාමාන්‍යයෙන් කමිටර්ලා කීප දෙනෙක්ම එකපාරටම ඇවිල්ලා මම මේක කළා, මම ඒක කළා කියලා කිව්වම, ඔයාලා හිතලා දවසක් බාගයක් විතර වෙන්කරලා ඔතන ලිව්වේ මොනවද කියලා හොයාගන්න ඕනේ. මොකද කේතය හොඳින් කියවිය යුතුයි. ඔවුන්ට සම්මුඛ පරීක්ෂණයක් තිබුණේ නැහැ. අපි ඔවුන්ව හොඳින් දන්නේ නැහැ, ඒ නිසා සැලකිය යුතු කාලයක් ගත වෙනවා.

වාර්තාවට ස්තූතියි! මීට පෙර, Andrey Borodin ප්‍රකාශ කළේ WAL-G හි archive_command කෙලින්ම ඇමතිය යුතු බවයි. නමුත් යම් ආකාරයක පොකුරු කාට්රිජ් සම්බන්ධයෙන්, පතුවළ යැවිය යුතු නෝඩය තීරණය කිරීම සඳහා අපට අතිරේක තර්කනය අවශ්ය වේ. මෙම ගැටලුව ඔබ විසින්ම විසඳා ගන්නේ කෙසේද?

ඔබට මෙහි ඇති ගැටලුව කුමක්ද? ඔබ උපස්ථයක් සාදන සමමුහුර්ත අනුරුවක් ඔබ සතුව ඇතැයි කියමු? නැත්තම් මොකද්ද?

(Andrey) ඇත්ත වශයෙන්ම WAL-G shell scripts නොමැතිව භාවිතා කිරීමට අදහස් කර ඇත. යමක් අතුරුදහන් වී ඇත්නම්, WAL-G තුළ තිබිය යුතු තර්කනය එකතු කරමු. සංරක්‍ෂණය කළ යුත්තේ කොතැනින්ද යන්න සම්බන්ධයෙන්, සංරක්‍ෂණය කළ යුත්තේ පොකුරේ වත්මන් ප්‍රධානියාගෙන් බව අපි විශ්වාස කරමු. අනුරුවකින් සංරක්ෂණය කිරීම නරක අදහසකි. ගැටළු ඇති විය හැකි විවිධ අවස්ථා තිබේ. විශේෂයෙන්, කාලරේඛා සංරක්ෂණය කිරීමේ ගැටළු සහ අමතර තොරතුරු. ප්‍රශ්නයට ස්තූතියි!

(පැහැදිලි කිරීම: අපි shell scripts වලින් මිදුනෙමු මෙම ගැටලුව තුළ)

සුභ සන්ද්යාවක්! වාර්තාවට ස්තූතියි! ඔබ කතා කළ අල්ලා ගැනීමේ විශේෂාංගය ගැන මම උනන්දු වෙමි. අනුරුවක් පිටුපසින් සිට අල්ලා ගැනීමට නොහැකි තත්ත්වයකට අප මුහුණ දුන්නා. WAL-G ලේඛනවල මෙම විශේෂාංගය පිළිබඳ විස්තරයක් මට හමු නොවීය.

Catchup වචනාර්ථයෙන් 20 ජනවාරි 2020 වන දින දර්ශනය විය. ලියකියවිලි සඳහා තවත් වැඩ කිහිපයක් අවශ්‍ය විය හැකිය. අපි එය අප විසින්ම ලියන අතර අපි එය හොඳින් ලියන්නේ නැත. සමහර විට අපි එය ලිවීමට සිසුන්ට අවශ්‍ය කිරීම ආරම්භ කළ යුතුය.

එය දැනටමත් නිකුත් කර තිබේද?

ඇදීමේ ඉල්ලීම දැනටමත් මිය ගොස් ඇත, එනම් මම එය පරීක්ෂා කළෙමි. මම මේක ටෙස්ට් පොකුරකින් උත්සාහ කළා. මෙය සටන් ආදර්ශයකින් පරීක්‍ෂා කළ හැකි තත්ත්වයක් මෙතෙක් අපට ලැබී නැත.

අපේක්ෂා කළ යුත්තේ කවදාද?

මම දන්නේ නැහැ. මාසයක් ඉන්න, අපි අනිවාර්යයෙන්ම පරීක්ෂා කරන්නම්.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න