paint-brush
DeltaStream යනු කුමක්ද?විසින්@progrockrec
231 කියවීම්

DeltaStream යනු කුමක්ද?

විසින් Shawn Gordon5m2024/12/12
Read on Terminal Reader

දිග වැඩියි; කියවීමට

DeltaStream යනු Flink සමඟ ගනුදෙනු නොකර Flink භාවිතා කිරීමට ඔබට ඉඩ සලසන කළමනාකරණය කළ සේවාවකි.
featured image - DeltaStream යනු කුමක්ද?
Shawn Gordon HackerNoon profile picture


අපි අවසන් වරට විමසූ විට, “මොකක්ද මේ ???”, අපි බැලුවේ __ Apache Kafka __® ප්‍රොටෝකෝලය අනුකූල දත්ත ප්‍රවාහ වේදිකාව දෙසයි. WarpStream . ප්‍රවාහ දත්ත සමඟ, ඔබ එය සමඟ යමක් කළ යුතුය. වගේ කොහේ හරි ගොඩ දාන්න Apache Iceberg , හිම පියලි , හෝ Databricks , හෝ ගොඩබෑමට පෙර එය පොහොසත් කිරීමට සහ/හෝ පෙරීමට එම පියාසර දත්ත විමසන්න. දෙවැන්න සඳහා විකල්ප කිහිපයක් තිබේ, නමුත් විශාලතම එක නිසැකවම විවෘත මූලාශ්‍ර ව්‍යාපෘතියයි Apache Flink . Flink දෙස බැලීම මා වෙත යොමු විය ඩෙල්ටා ස්ට්රීම් , එය අද අපගේ විෂය වේ. මොකක්ද මේ DeltaStream කියන්නේ? එය ෆ්ලින්ක් සමඟ ක්‍රියා කරන්නේ කෙසේද සහ එය කෆ්කාගේ සහකාරියක් වන්නේ කෙසේද?

Flink යනු කුමක්ද?

Flink මුලින්ම Apache ව්‍යාපෘතියක් ලෙස පිළිගනු ලැබුවේ 2014 දෙසැම්බර් මාසයේදී, එබැවින් එය ටික කලක් පැවතුනි. ප්‍රවාහ සැකසීමේ වර්ධනය පසුගිය වසර කිහිපය තුළ උනන්දුව සහ භාවිතය වේගවත් කිරීමට හේතු වී ඇත. Flink යනු නැගී සිටීමට සහ අභ්‍යන්තරව භාවිතා කිරීමට තරමක් අභියෝගාත්මක පද්ධතියකි, කැපවූ ඉංජිනේරු කුසලතා අවශ්‍ය වේ. පවා AWS MSF සේවාව, පහසු වුවද, තවමත් තරමක් සංකීර්ණ වේ. උදාහරණයක් ලෙස, ජාවා භාවිතා කිරීම සඳහා, ඔබට ඔබේ ජාවා විමසුම ලිවීම, jar ගොනුවක් ජනනය කිරීම, එය zip කිරීම, එය S3 වෙත උඩුගත කිරීම, ඔබේ අවසරයන් සැකසීම, පසුව එය ක්‍රියාත්මක කිරීම අවශ්‍ය වේ.


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

DeltaStream භාවිතා කිරීම

එහි මූලික වශයෙන්, DeltaStream ඔබට Flink සමඟ ගනුදෙනු නොකර Flink හි බලය ලබා දෙයි. කොහෙත්ම. මගේ පරීක්ෂණය සඳහා, මම ඒවා භාවිතා කළෙමි ඉක්මන් ආරම්භක මාර්ගෝපදේශය වෙබ් UI සඳහා; ඔවුන් සතුව CLI එකක් ද ඇති බව සලකන්න, එය මා පරීක්‍ෂා නොකළේය.


ඔබ ලියාපදිංචි වූ විට, ඔබට නොමිලේ දින 14ක අත්හදා බැලීමක් ලැබේ. "trial_store" නම් නියැදි Kafka පොකුරක් සකස් කර ඇති අතර එය ඔබට උත්සාහ කිරීමට ඔබේම දත්ත වෙනුවට භාවිතා කළ හැකිය. ආදර්ශනයේ සෙල්ලම් කිරීමට මාතෘකා ගණනාවක් අඩංගු වේ. ACTIONS යටතේ ඇති අයිකන ඔබට මාතෘකාවක් මැකීමට හෝ මාතෘකාව පිළිබඳ විස්තර සහ අන්තර්ගතය බැලීමට ඉඩ දෙයි.


DeltaStream මාතෘකා බ්‍රව්සරය


යොමුව සඳහා පිටු බැලීම් මාතෘකාවේ විස්තර මෙන්න, අපි එය පසුව භාවිතා කරන්නෙමු.

DeltaStream මාතෘකා පරීක්ෂක


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

DeltaStream Workspace විස්තරය


මේ කොටස ටිකක් පුරුදු වෙන්න ගත්තා. DeltaStream හි දත්ත සමුදායක් සහ යෝජනා ක්‍රමයක් යනු ආයතනික ෆෝල්ඩර පමණි. ඔබට 'n' දත්ත සමුදා සංඛ්‍යාවක් සෑදිය හැකි අතර, දත්ත සමුදායක් තුළ, ඔබට 'n' ස්කීමා සංඛ්‍යාවක් තිබිය හැක. යෝජනා ක්‍රම මඟින් ඔබේ DeltaStream Objects හි STREAM, CHANGELOG, MATERIALIZED VIEW, සහ TABLE ලෙස හැඳින්වෙන නිර්වචන පිරිසැලසුම රඳවා ගනු ඇත. වගුවක් යනු PostgreSQL වැනි දෙයක දත්ත සමුදා වගුවකට සම්බන්ධ වන අතර, Materialized View යනු දත්ත නිශ්චිතව කොතැනක හෝ තැබීමකින් තොරව ප්‍රතිඵල කට්ටලයක් තුළ දිගටම පවත්වා ගැනීමට මාර්ගයකි. මම මේ බ්ලොග් එකේ ඉන්න එකෙක් එක්කවත් මුකුත් කරන්න යන්නේ නැහැ; මම Stream සහ Changelog ගැන අවධානය යොමු කරන්නම්.


මම පහත තිර පිටුවේ කෆ්කා පොකුරේ පිටු දසුන් මාතෘකාවේ ප්‍රවාහයක් නිර්මාණය කරමි. මම හිතන්නේ එය මාතෘකාව පිළිබඳ වගු අර්ථ දැක්වීමක් ලෙසයි. අපි ක්ෂේත්‍රවල නම් පවරා ඇති අතර භාවිත කළ යුතු මාතෘකාව සහ දත්ත ආකෘතිය කුමක්ද යන්න ඔවුන්ට පවසා ඇත. අපිට ට්‍රයල්_ස්ටෝර් පොකුර මුලුමනින්ම සාධාරණීකරණය කිරීමට අවශ්‍ය නැත, එය ඉහළින් ඇති කොම්බෝ පෙට්ටියේ පෙරනිමිය ලෙස සකසා ඇත. එම විධානය ක්‍රියාත්මක කළ පසු, එය TestDB.public යටතේ පෙන්වනු ඇත. පසුව මට එය SELECT * FROM PAGEVIEWS වැනි දෙයකින් විමසිය හැකි අතර, මම පහළින් ඇති ප්‍රතිඵල කවුළුවේ දත්ත දැකීමට පටන් ගනිමි.


DeltaStream Stream නිර්මාණය කිරීමේ උදාහරණය


මීළඟට, මම පරිශීලකයාගේ මාතෘකාවෙන් පිටුබලය ලබන සහ UserID මගින් ඇණවුම් කළ වෙනස් කිරීමේ ලොගයක් ප්‍රකාශ කරමි. චේන්ජ්ලොග් එකක් ප්‍රවාහයකට සමාන නමුත් මාතෘකාවක සිදුවීම් UPSERT සිදුවීම් ලෙස අර්ථකථනය කිරීමට ඔබට හැකියාව ලැබේ. සිදුවීම් සඳහා මූලික යතුරක් අවශ්‍ය වේ; DeltaStream සෑම සිදුවීමක්ම ලබා දී ඇති මූලික යතුර සඳහා ඇතුළු කිරීමක් හෝ යාවත්කාලීන කිරීමක් ලෙස අර්ථකථනය කරයි. මෙම අවස්ථාවෙහිදී, වෙනස් කිරීමේ ලොගය ස්ත්‍රී පුරුෂ භාවය සහ රුචිකත්වයන් වැනි පරිශීලකයන් විසින් නිශ්චිත විස්තර පිළිබිඹු කරයි.

DeltaStream Changelog උදාහරණය


මෙන්න අපි විනෝද වීමට පටන් ගනිමු. මම එකතු විය යුතු ප්‍රධාන අගය ලෙස userid භාවිතා කරමින් user_log changelog වෙතින් දත්ත සමඟ පිටු බැලීම් ප්‍රවාහය පොහොසත් කරන නව ප්‍රවාහයක් සාදන්නෙමි. මෙය දැන් මට විවිධ මාතෘකා දෙකක දත්ත සමඟ පොකුරේ අද්විතීය මාතෘකාවක් ලබා දෙයි. මෙතැන් සිට, මට එය කලාපීය වැනි දෙයක් භාවිතයෙන් පෙරීමට සහ එම විමසුමේ ප්‍රතිඵල දත්ත ගබඩාවක්, ගබඩාවක් හෝ වැවක් වැනි අවසාන ගමනාන්තයකට ලිවීමට හැකිය. මෙය මට ගොඩබෑමට පෙර පියාසර තුළ දත්ත පොහොසත් කිරීමට සහ පෙරීමට ඉඩ ලබා දුන්නේය, එමඟින් ප්‍රමාදය වැඩි දියුණු කිරීම සහ ගණනය කිරීමේ සහ ගබඩා කිරීමේ පිරිවැය අඩු කිරීම.

DeltaStream Join උදාහරණය

සාරාංශය

ඉතින්, ඩෙල්ටාස්ට්‍රීම් යනු කුමක්ද? Apache Flink ගැන කිසිවක් නොදැන හෝ එය සමඟ කෙලින්ම කිසිවක් නොකර එය භාවිතා කිරීම ඇත්තෙන්ම සරල ක්‍රමයකි. Apache Kafka වෙත සම්බන්ධ වී දත්ත කියවීම, සම්බන්ධ වීම සහ පෙරීම කෙතරම් සරලදැයි ඔබ මගේ උදාහරණයෙන් දැක ඇත. දැනට සහාය දක්වන අනෙකුත් සම්බන්ධතා වන්නේ Kinesis, PostgreSQL, Snowflake, සහ Databricks වන අතර, ClickHouse සහ Iceberg ළඟදීම ලබා ගත හැකි බව මට දන්වා ඇත.


අවසාන වශයෙන්, DeltaStream ඔබට Apache Flink සමඟ ගනුදෙනු නොකර Apache Flink හි බලය ලබා දෙන අතර, ඔබට Java වෙනුවට SQL භාවිතයෙන් එය කළ හැක. ඔබ ප්‍රවාහ දත්ත සමඟ ගනුදෙනු කරන්නේ නම් හෝ එය ක්‍රියාත්මක කිරීමට බලාපොරොත්තු වන්නේ නම්, මෙය නියත වශයෙන්ම ඉතා දක්ෂ සහ පහසු විසඳුමකි.


මගේ අනික් මගුල කුමක්දැයි බලන්න... පහත සබැඳිවලින් ලිපි බලන්න:




**