ඩෙල්ටා: දත්ත සමමුහුර්තකරණය සහ පොහොසත් කිරීමේ වේදිකාව

නව පාඨමාලා ධාරාවක් දියත් කිරීමේ අපේක්ෂාවෙන් දත්ත ඉංජිනේරු අපි රසවත් ද්රව්ය පරිවර්තනයක් සකස් කර ඇත.

ඩෙල්ටා: දත්ත සමමුහුර්තකරණය සහ පොහොසත් කිරීමේ වේදිකාව

දළ විශ්ලේෂණය

කැනොනිකල් දත්ත ගබඩා කිරීම (MySQL, ආදිය), උසස් සෙවුම් හැකියාවන් සැපයීම (ElasticSearch, ආදිය), හැඹිලිගත කිරීම (Memcached, ආදිය) සහ තවත් බොහෝ දේ වැනි නිශ්චිත අරමුණක් ඉටු කරන යෙදුම් බහු දත්ත ගබඩා භාවිතා කරන තරමක් ජනප්‍රිය රටාවක් ගැන අපි සාකච්ඡා කරමු. සාමාන්‍යයෙන්, බහු දත්ත ගබඩා භාවිතා කරන විට, එකක් ප්‍රාථමික ගබඩාව ලෙස ක්‍රියා කරන අතර අනෙක් ඒවා ව්‍යුත්පන්න ගබඩා ලෙස ක්‍රියා කරයි. එකම අභියෝගය වන්නේ මෙම දත්ත ගබඩා සමමුහුර්ත කරන්නේ කෙසේද යන්නයි.

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

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

පවතින විසඳුම්

ද්විත්ව ඇතුළත් කිරීම

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

ගැටළු:

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

ලොග් වගුව වෙනස් කරන්න

වගු කට්ටලයක වෙනස්කම් සිදු වූ විට (වාර්තාවක් ඇතුළත් කිරීම, යාවත්කාලීන කිරීම හෝ මකා දැමීම වැනි), එම ගනුදෙනුවේ කොටසක් ලෙස වෙනස් කිරීමේ වාර්තා ලොග් වගුවට එකතු කරනු ලැබේ. තවත් නූලක් හෝ ක්‍රියාවලියක් ලොග් වගුව අඛණ්ඩව විමසා දත්ත ගබඩා එකකට හෝ කිහිපයකට ලියයි, විකල්ප වශයෙන් සියලුම ගබඩා ලිවීම් තහවුරු කළ පසු සිදුවීම් ලොග් වගුවෙන් ඉවත් කරයි.

ගැටළු:

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

තවත් ගැටළුවක් වන්නේ MySQL වැනි ගනුදෙනු යෝජනා ක්‍රම වෙනස්කම් සඳහා සහය නොදක්වන පද්ධතිවල යෝජනා ක්‍රම වෙනස්කම් ලබා ගැනීමයි [1][2]. එබැවින්, වෙනසක් සිදු කිරීමේ රටාව (උදාහරණයක් ලෙස, යෝජනා ක්‍රම වෙනසක්) සහ එය වෙනස් කිරීමේ ලොග් වගුවට ගනුදෙනුව ලෙස ලිවීම සැමවිටම ක්‍රියා නොකරනු ඇත.

බෙදා හරින ලද ගනුදෙනු

බෙදා හරින ලද ගනුදෙනු බහු විෂමජාතීය දත්ත ගබඩා හරහා ගනුදෙනුවක් බෙදීමට භාවිතා කළ හැකි අතර එමඟින් මෙහෙයුම සම්බන්ධ වන සියලුම ගබඩාවල සිදු කරනු ලැබේ හෝ ඒවායින් කිසිවකින් සිදු නොකෙරේ.

ගැටළු:

බෙදා හරින ලද ගනුදෙනු විෂමජාතීය දත්ත ගබඩා සඳහා සැලකිය යුතු අභියෝගයක් එල්ල කරයි. ඒවායේ ස්වභාවයෙන්ම, ඔවුන්ට සහභාගී වන පද්ධතිවල පහළම පොදු හරය මත පමණක් විශ්වාසය තැබිය හැකිය. උදාහරණයක් ලෙස, සූදානම් කිරීමේ අදියරේදී යෙදුම් ක්‍රියාවලියක් අසාර්ථක වුවහොත් XA ගනුදෙනු ක්‍රියාත්මක කිරීම අවහිර කරයි. තවද, XA අවහිරතා හඳුනාගැනීමක් ලබා නොදේ හෝ ශුභවාදී සමගාමී මුදල් පාලන යෝජනා ක්‍රම සඳහා සහාය නොදක්වයි. තවද, ElasticSearch වැනි සමහර පද්ධති XA හෝ වෙනත් කිසිදු විෂමජාතීය ගනුදෙනු ආකෘතියකට සහය නොදක්වයි. මේ අනුව, විවිධ දත්ත ගබඩා තාක්ෂණයන් හරහා ලිවීමේ පරමාණුකත්වය සහතික කිරීම යෙදුම් සඳහා සැලකිය යුතු අභියෝගයක් ලෙස පවතී [3].

ඩෙල්ටා

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

Netflix විසින් ක්ෂුද්‍ර සේවා ගෘහ නිර්මාණ ශිල්පයක් බහුලව භාවිතා කරන අතර, සෑම ක්ෂුද්‍ර සේවාවක්ම සාමාන්‍යයෙන් තනි දත්ත වර්ගයක් කළමනාකරණය කරයි. මූලික චිත්‍රපට තොරතුරු චිත්‍රපට සේවාව ලෙස හඳුන්වන ක්ෂුද්‍ර සේවාවක අඩංගු වන අතර, නිෂ්පාදකයින්, නළු නිළියන්, වෙළෙන්දන් වැනි තොරතුරු වැනි අදාළ දත්ත තවත් ක්ෂුද්‍ර සේවා කිහිපයක් (එනම්, ගනුදෙනු සේවාව, කුසලතා සේවාව සහ විකුණුම්කරු සේවාව) විසින් කළමනාකරණය කරනු ලැබේ.
Netflix Studios හි ව්‍යාපාරික පරිශීලකයින්ට බොහෝ විට විවිධ නිර්ණායක මත පදනම්ව චිත්‍රපට සෙවීමට අවශ්‍ය වේ, එබැවින් ඔවුන්ට චිත්‍රපට ආශ්‍රිත සියලු දත්ත හරහා සෙවීමට හැකිවීම ඉතා වැදගත් වේ.

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

ඩෙල්ටා: දත්ත සමමුහුර්තකරණය සහ පොහොසත් කිරීමේ වේදිකාව
රූපය 1. ඩෙල්ටාවට පෙර ඡන්ද විමසීමේ පද්ධතිය
ඩෙල්ටා ක්‍රියාත්මක කිරීමෙන් පසු, පද්ධතිය සිදුවීම්-ධාවනය කරන ලද පද්ධතියකට සරල කරන ලදී, පහත රූපයේ දැක්වෙන පරිදි. වෙනස් කිරීමේ-දත්ත-ග්‍රහණය (CDC) සිදුවීම් ඩෙල්ටා සම්බන්ධකය භාවිතයෙන් කීස්ටෝන් කෆ්කා මාතෘකා වෙත යවනු ලැබේ. ඩෙල්ටා ප්‍රවාහ සැකසුම් රාමුව (ෆ්ලින්ක් මත පදනම්ව) භාවිතයෙන් ගොඩනගා ඇති ඩෙල්ටා යෙදුමක්, මාතෘකාවෙන් CDC සිදුවීම් ලබා ගනී, අනෙකුත් ක්ෂුද්‍ර සේවා කැඳවීමෙන් ඒවා පොහොසත් කරයි, සහ අවසානයේ පොහොසත් කළ දත්ත ඉලාස්ටික්සර්ච් හි සෙවුම් දර්ශකයට තල්ලු කරයි. සම්පූර්ණ ක්‍රියාවලිය ආසන්න වශයෙන් තත්‍ය කාලීනව සිදු වේ, එනම් දත්ත ගබඩාවට වෙනස්කම් සිදු වූ වහාම, සෙවුම් දර්ශක යාවත්කාලීන වේ.

ඩෙල්ටා: දත්ත සමමුහුර්තකරණය සහ පොහොසත් කිරීමේ වේදිකාව
රූපය 2. ඩෙල්ටා භාවිතා කරන දත්ත නල මාර්ගය
පහත කොටස් වලින්, අපි ගබඩාවට සම්බන්ධ වන සහ CDC සිදුවීම් ප්‍රවාහන ස්ථරයට ප්‍රකාශයට පත් කරන ඩෙල්ටා සම්බන්ධකය විස්තර කරන්නෙමු, එය CDC සිදුවීම් කෆ්කා මාතෘකා වෙත යොමු කරන තත්‍ය කාලීන දත්ත හුවමාරු යටිතල පහසුකම් වේ. අවසාන වශයෙන්, යෙදුම් සංවර්ධකයින්ට දත්ත සැකසීම සහ පොහොසත් කිරීමේ තර්කනය සඳහා භාවිතා කළ හැකි ඩෙල්ටා ප්‍රවාහ සැකසුම් රාමුව ගැන අපි සාකච්ඡා කරමු.

CDC (වෙනස්-දත්ත-ග්‍රහණය)

අපි Delta-Connector නමින් CDC සේවාවක් සංවර්ධනය කළ අතර, එමඟින් දත්ත ගබඩාවකින් සිදු කරන ලද වෙනස්කම් තත්‍ය කාලීනව ග්‍රහණය කර ඒවා ප්‍රවාහයකට ලිවිය හැකිය. තත්‍ය කාලීන වෙනස්කම් ගනුදෙනු ලොගයෙන් සහ ගබඩා ඩම්ප් වලින් ලබා ගනී. ගනුදෙනු ලොග සාමාන්‍යයෙන් සම්පූර්ණ වෙනස් කිරීමේ ඉතිහාසය ගබඩා නොකරන නිසා ඩම්ප් භාවිතා වේ. වෙනස්කම් සාමාන්‍යයෙන් ඩෙල්ටා සිදුවීම් ලෙස අනුක්‍රමිකව සකස් කර ඇත, එබැවින් ග්‍රාහකයා වෙනස ආරම්භ වූ ස්ථානය ගැන කරදර විය යුතු නැත.

ඩෙල්ටා-සම්බන්ධකය අමතර විශේෂාංග කිහිපයක් සඳහා සහය දක්වයි, එනම්:

  • කෆ්කා වලින් පිටත අභිරුචි ප්‍රතිදාන දත්ත වලට ලිවීමේ හැකියාව.
  • සියලුම වගු, නිශ්චිත වගුවක් හෝ නිශ්චිත ප්‍රාථමික යතුරු සඳහා ඕනෑම වේලාවක අතින් ඩම්ප් සක්‍රිය කිරීමේ හැකියාව.
  • කුණු කසළ කැබලිවලට එකතු කළ හැකි බැවින්, බිඳවැටීමකදී මුල සිටම ආරම්භ කිරීමට අවශ්‍ය නොවේ.
  • වගු මත අගුලු දැමීමේ අවශ්‍යතාවයක් නොමැත, අපගේ සේවාව මගින් දත්ත සමුදා ලිවීමේ ගමනාගමනය කිසි විටෙකත් අවහිර නොකිරීමට එය ඉතා වැදගත් වේ.
  • AWS ලබා ගත හැකි කලාපවල පොරොත්තු අවස්ථා නිසා ඉහළ ලබා ගැනීමේ හැකියාව.

අපි දැනට MySQL සහ Postgres සඳහා සහය දක්වන අතර, AWS RDS සහ Aurora මත යෙදවීම් ද ඇතුළුව. අපි Cassandra (multi-master) සඳහාද සහාය දක්වමු. ඔබට මෙම ලිපියෙන් Delta-Connector පිළිබඳ වැඩිදුර ඉගෙන ගත හැකිය. බ්ලොග් සටහන.

කෆ්කා සහ ප්‍රවාහන ස්ථරය

ඩෙල්ටාවේ සිදුවීම් ප්‍රවාහන ස්ථරය වේදිකාවේ පණිවිඩ සේවාව මත ගොඩනගා ඇත. Keystone.

ඓතිහාසික වශයෙන්, Netflix හි පළ කිරීම දිගුකාලීන පැවැත්මට වඩා ප්‍රවේශ්‍යතාව සඳහා ප්‍රශස්තිකරණය කර ඇත (බලන්න පෙර ලිපිය). විවිධ මායිම් අවස්ථා වලදී තැරැව්කාර දත්තවල විභව නොගැලපීම මෙම හුවමාරුව විය. උදාහරණයක් ලෙස, අපිරිසිදු නායක මැතිවරණය ලබන්නා විසින් සිදුවීම් අනුපිටපත් කිරීම හෝ නැතිවීම සඳහා වගකිව යුතුය.

ඩෙල්ටා සමඟ, CDC සිදුවීම් ව්‍යුත්පන්න ගබඩාවට බෙදා හැරීම සහතික කිරීම සඳහා අපට ශක්තිමත් කල්පැවැත්ම සහතික අවශ්‍ය විය. මෙය සාක්ෂාත් කර ගැනීම සඳහා, අපි පළමු පන්තියේ පුරවැසියෙකු ලෙස අභිරුචි-නිර්මාණය කරන ලද කෆ්කා පොකුරක් පිරිනමන්නෙමු. පහත වගුවේ ඔබට තැරැව්කරුගේ සැකසුම් කිහිපයක් දැකිය හැකිය:

ඩෙල්ටා: දත්ත සමමුහුර්තකරණය සහ පොහොසත් කිරීමේ වේදිකාව

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

අපිත් වැඩි කළා අනුරූකරණ සාධකය 2 සිට 3 දක්වා සහ අවම අසමමුහුර්ත අනුරූ 1 සිට 2 දක්වා. මෙම පොකුරට ලියන ප්‍රකාශකයින්ට අනෙක් සියල්ලන්ගෙන් සහතික අවශ්‍ය වන අතර, අනුරූ 3 න් 2 ක ප්‍රකාශකයා විසින් යවන ලද වඩාත්ම වත්මන් පණිවිඩ ඇති බව සහතික කරයි.

තැරැව්කාර අවස්ථාවක් අවසන් වූ විට, නව අවස්ථාවක් පැරණි එක ප්‍රතිස්ථාපනය කරයි. කෙසේ වෙතත්, නව තැරැව්කරුට සමමුහුර්ත නොවන අනුරූ සමඟ සම්බන්ධ වීමට අවශ්‍ය වනු ඇත, එයට පැය කිහිපයක් ගත විය හැකිය. මෙම අවස්ථාව සඳහා ප්‍රතිසාධන කාලය අඩු කිරීම සඳහා, අපි තැරැව්කරුවන්ගේ දේශීය තැටි වෙනුවට බ්ලොක් ගබඩාව (Amazon Elastic Block Store) භාවිතා කිරීමට පටන් ගත්තෙමු. නව අවස්ථාවක් අවසන් කරන ලද තැරැව්කාර අවස්ථාව ප්‍රතිස්ථාපනය කරන විට, එය අවසන් කරන ලද අවස්ථාවට අයත් EBS පරිමාව අමුණන අතර නව පණිවිඩ සමඟ සම්බන්ධ වීමට පටන් ගනී. මෙම ක්‍රියාවලිය පැය කිහිපයක සිට මිනිත්තු කිහිපයක් දක්වා අල්ලා ගැනීමට ගතවන කාලය අඩු කරයි, මන්ද නව අවස්ථාව තවදුරටත් හිස් තත්වයකින් ප්‍රතිනිර්මාණය කිරීමට අවශ්‍ය නොවන බැවිනි. සමස්තයක් වශයෙන්, ගබඩාවේ සහ තැරැව්කරුගේ වෙනම ජීවන චක්‍ර තැරැව්කරු ස්විචයක බලපෑම සැලකිය යුතු ලෙස අඩු කරයි.

දත්ත බෙදා හැරීමේ සහතිකය තවදුරටත් වැඩි කිරීම සඳහා, අපි භාවිතා කළේ පණිවිඩ ලුහුබැඳීමේ පද්ධතිය ආන්තික තත්වයන් යටතේ පණිවිඩ නැතිවීම හඳුනා ගැනීමට (උදා: කොටස් නායකයා තුළ ඔරලෝසු සමමුහුර්තකරණය).

ප්‍රවාහ සැකසුම් රාමුව

ඩෙල්ටාවේ සැකසුම් ස්ථරය Netflix SPaaS වේදිකාව මත ගොඩනගා ඇති අතර එය Apache Flink Netflix පරිසර පද්ධතිය සමඟ ඒකාබද්ධ කරයි. වේදිකාව අපගේ Titus බහාලුම් කළමනාකරණ වේදිකාවට ඉහළින් Flink රැකියා යෙදවීම සහ Flink පොකුරු වාද්‍ය වෘන්දය කළමනාකරණය කරන පරිශීලක අතුරුමුහුණතක් සපයයි. අතුරුමුහුණත රැකියා වින්‍යාසයන් කළමනාකරණය කරන අතර Flink රැකියා නැවත සම්පාදනය නොකර වින්‍යාස වෙනස්කම් ගතිකව සිදු කිරීමට පරිශීලකයින්ට ඉඩ සලසයි.

ඩෙල්ටා භාවිතා කරන Flink සහ SPaaS මත පදනම් වූ ප්‍රවාහ සැකසුම් රාමුවක් සපයයි විවරණ-පාදක තාක්ෂණික විස්තර වියුක්ත කිරීමට DSL (වසම් විශේෂිත භාෂාව) භාවිතා කරයි. උදාහරණයක් ලෙස, බාහිර සේවාවන් ඇමතීමෙන් සිදුවීම් පොහොසත් කරන්නේ කුමන පියවරෙන්ද යන්න නිර්වචනය කිරීමට, පරිශීලකයින් පහත DSL ලිවිය යුතු අතර, රාමුව එය මත පදනම් වූ ආකෘතියක් නිර්මාණය කරනු ඇත, එය Flink විසින් ක්‍රියාත්මක කරනු ලැබේ.

ඩෙල්ටා: දත්ත සමමුහුර්තකරණය සහ පොහොසත් කිරීමේ වේදිකාව
රූපය 3. ඩෙල්ටාවේ DSL මත පොහොසත් කිරීමේ උදාහරණය

සැකසුම් රාමුව ඉගෙනීමේ වක්‍රය අඩු කරනවා පමණක් නොව, පොදු මෙහෙයුම් ගැටළු විසඳීම සඳහා අනුපිටපත් කිරීම, ක්‍රමලේඛනය කිරීම මෙන්ම නම්‍යශීලීභාවය සහ දෝෂ ඉවසීම වැනි පොදු ප්‍රවාහ සැකසුම් විශේෂාංග ද සපයයි.

ඩෙල්ටා ප්‍රවාහ සැකසුම් රාමුව ප්‍රධාන මොඩියුල දෙකකින් සමන්විත වේ: DSL & API මොඩියුලය සහ ධාවන කාල මොඩියුලය. DSL & API මොඩියුලය DSL සහ UDF (පරිශීලක-නිර්වචනය කළ-ක්‍රියාකාරීත්වය) API සපයන බැවින් පරිශීලකයින්ට තමන්ගේම සැකසුම් තර්කනය (පෙරහන් කිරීම හෝ පරිවර්තනයන් වැනි) ලිවිය හැකිය. ධාවන කාල මොඩියුලය DSL විග්‍රහකය ක්‍රියාත්මක කරයි, එය DAG ආකෘතිවල සැකසුම් පියවරවල අභ්‍යන්තර නිරූපණයක් ගොඩනඟයි. ක්‍රියාත්මක කිරීමේ සංරචකය සැබෑ Flink ක්‍රියාකරුවන් ආරම්භ කිරීමට සහ අවසානයේ Flink යෙදුම ක්‍රියාත්මක කිරීමට DAG ආකෘති අර්ථකථනය කරයි. රාමු ගෘහ නිර්මාණ ශිල්පය පහත රූපයේ දැක්වේ.

ඩෙල්ටා: දත්ත සමමුහුර්තකරණය සහ පොහොසත් කිරීමේ වේදිකාව
රූපය 4. ඩෙල්ටා ප්‍රවාහ සැකසුම් රාමු ගෘහ නිර්මාණ ශිල්පය

මෙම ප්‍රවේශයට වාසි කිහිපයක් ඇත:

  • Flink හෝ SPaaS ව්‍යුහයේ විශේෂතා ගැන සොයා බැලීමකින් තොරව පරිශීලකයින්ට ඔවුන්ගේ ව්‍යාපාරික තර්කනය කෙරෙහි අවධානය යොමු කළ හැකිය.
  • පරිශීලකයින් සඳහා විනිවිද පෙනෙන ආකාරයකින් ප්‍රශස්තිකරණය සිදු කළ හැකි අතර, පරිශීලක කේතයට (UDF) කිසිදු වෙනසක් අවශ්‍ය නොවී දෝෂ නිවැරදි කළ හැකිය.
  • වේදිකාව මඟින් නම්‍යශීලී බවක් සහ ඔරොත්තු දීමේ හැකියාවක් ලබා දෙන අතර අනතුරු ඇඟවීම සඳහා භාවිතා කළ හැකි සවිස්තරාත්මක මිනුම් රාශියක් එකතු කරන බැවින් ඩෙල්ටා යෙදුම් පරිශීලකයින් සඳහා සරල කර ඇත.

නිෂ්පාදන භාවිතය

ඩෙල්ටා වසරකට වැඩි කාලයක් නිෂ්පාදනයේ යෙදී සිටින අතර බොහෝ Netflix Studio යෙදුම්වල ප්‍රධාන කාර්යභාරයක් ඉටු කරයි. සෙවුම් සුචිගත කිරීම, දත්ත ගබඩා කිරීම සහ සිදුවීම් මත පදනම් වූ වැඩ ප්‍රවාහ වැනි භාවිත අවස්ථා ක්‍රියාත්මක කිරීමට එය කණ්ඩායම්වලට උපකාර කර ඇත. ඩෙල්ටා වේදිකාවේ ඉහළ මට්ටමේ ගෘහ නිර්මාණ ශිල්පය පිළිබඳ දළ විශ්ලේෂණයක් පහත දැක්වේ.

ඩෙල්ටා: දත්ත සමමුහුර්තකරණය සහ පොහොසත් කිරීමේ වේදිකාව
රූපය 5. ඩෙල්ටාවේ ඉහළ මට්ටමේ ගෘහ නිර්මාණ ශිල්පය.

පිළිගැනීම්

නෙට්ෆ්ලික්ස් හි ඩෙල්ටා නිර්මාණය හා සංවර්ධනය සඳහා සම්බන්ධ වූ පහත සඳහන් පුද්ගලයින්ට අපි ස්තූතිවන්ත වෙමු: ඇලන් වැන්ග්, චාල්ස් ෂාඕ, ජේබින් යූන්, ජොෂ් ස්නයිඩර්, කස්තුරි චැටර්ජි, මාර්ක් චෝ, ඔලොෆ් ජොහැන්සන්, පියුෂ් ගෝයාල්, ප්‍රශාන්ත් රාම්දාස්, රඝුරාම් ඔන්ටි ශ්‍රීනිවාසන්, සන්දීප් ගුප්තා, ස්ටීවන් වූ, තරංග ගමෛතිගේ, යුන් වැන්ග් සහ ෂෙන්ෂොං ෂු.

මුලාශ්‍ර

  1. dev.mysql.com/doc/refman/5.7/en/implicit-commit.html
  2. dev.mysql.com/doc/refman/5.7/en/cannot-roll-back.html
  3. Martin Kleppmann, Alastair R. Beresford, Boerge Svingen: Online Event processing. කොමියුනිස්ට් ACM 62(5): 43–49 (2019). DOI: doi.org/10.1145/3312527

නොමිලේ වෙබ්නාර් එකක් සඳහා ලියාපදිංචි වන්න: “ඇමේසන් රෙඩ්ෂිෆ්ට් ගබඩාව සඳහා දත්ත ගොඩනැගීමේ මෙවලම.”

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