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

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

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

දළ විශ්ලේෂණය

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

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

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

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

ද්විත්ව සටහන්

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

ගැටළු:

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

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

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

ගැටළු:

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

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

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

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

ගැටළු:

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

ඩෙල්ටා

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

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

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

ඩෙල්ටා: දත්ත සමමුහුර්තකරණය සහ පොහොසත් කිරීමේ වේදිකාව
රූපය 1. ඩෙල්ටා වෙත ඡන්ද පද්ධතිය
ඩෙල්ටා භාවිතා කිරීමෙන් පසු, පද්ධතිය පහත රූපයේ දැක්වෙන පරිදි සිදුවීම් ධාවනය වන පද්ධතියකට සරල කරන ලදී. CDC (වෙනස් කිරීම-දත්ත-ග්‍රහණය) සිදුවීම් Delta-Connector භාවිතයෙන් Keystone Kafka මාතෘකා වෙත යවනු ලැබේ. Delta Stream Processing Framework (Flink මත පදනම් වූ) භාවිතයෙන් සාදන ලද Delta යෙදුමක් මාතෘකාවකින් CDC සිදුවීම් ලබා ගනී, වෙනත් ක්ෂුද්‍ර සේවා ඇමතීමෙන් ඒවා පොහොසත් කරයි, සහ අවසානයේ Elasticsearch හි සෙවුම් දර්ශකයකට පොහොසත් දත්ත ලබා දෙයි. සමස්ත ක්‍රියාවලියම පාහේ තත්‍ය කාලීනව සිදු වේ, එනම් දත්ත ගබඩාවට වෙනස්කම් සිදු වූ වහාම සෙවුම් දර්ශක යාවත්කාලීන වේ.

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

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

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

Delta-Connector වැනි අමතර විශේෂාංග කිහිපයකට සහය දක්වයි:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

පිළිගැනීම්

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

මුලාශ්‍ර

  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

නොමිලේ webinar එකක් සඳහා ලියාපදිංචි වන්න: "Amazon Redshift ගබඩාව සඳහා දත්ත ගොඩනැගීමේ මෙවලම."

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

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