paint-brush
អ្វី​ដែល​ The Heck ​គឺ​ជា​ DeltaStream?ដោយ@progrockrec
231 ការអាន

អ្វី​ដែល​ The Heck ​គឺ​ជា​ DeltaStream?

ដោយ Shawn Gordon5m2024/12/12
Read on Terminal Reader

យូរ​ពេក; អាន

DeltaStream គឺជាសេវាកម្មគ្រប់គ្រងដែលអនុញ្ញាតឱ្យអ្នកប្រើ Flink ដោយមិនចាំបាច់ដោះស្រាយជាមួយ Flink ។
featured image - អ្វី​ដែល​ The Heck ​គឺ​ជា​ DeltaStream?
Shawn Gordon HackerNoon profile picture


នៅពេលដែលយើងសួរចុងក្រោយថា "តើអ្វីទៅជា heck ???" យើងកំពុងសម្លឹងមើល __ Apache Kafka __® protocol protocol streaming data platform WarpStream . ជាមួយនឹងការផ្សាយទិន្នន័យ អ្នកត្រូវធ្វើអ្វីមួយជាមួយវា។ ចុះចតនៅកន្លែងណាមួយដូចជា Apache Iceberg , ផ្កាព្រិល , ឬ ឥដ្ឋ​ទិន្នន័យ ឬសាកសួរទិន្នន័យក្នុងយន្តហោះ ដើម្បីពង្រឹង និង/ឬត្រងវាមុនពេលចុះចត។ មានជម្រើសមួយចំនួននៅទីនោះសម្រាប់ក្រោយ ប៉ុន្តែអ្វីដែលធំជាងគេគឺគម្រោងប្រភពបើកចំហ កម្មវិធី Apache Flink . ការក្រឡេកមើល Flink បាននាំខ្ញុំទៅ DeltaStream ដែលជាប្រធានបទរបស់យើងសព្វថ្ងៃនេះ។ តើ DeltaStream គឺជាអ្វី? តើវាដំណើរការជាមួយ Flink យ៉ាងដូចម្តេច ហើយតើវាជាដៃគូជាមួយ Kafka យ៉ាងដូចម្តេច?

តើ Flink ជាអ្វី?

Flink ត្រូវបានទទួលយកដំបូងជាគម្រោង Apache ក្នុងខែធ្នូ ឆ្នាំ 2014 ដូច្នេះវាមានរយៈពេលមួយរយៈ។ ការរីកចម្រើននៃដំណើរការស្ទ្រីមបាននាំឱ្យមានការបង្កើនល្បឿននៃការចាប់អារម្មណ៍ និងការប្រើប្រាស់ក្នុងរយៈពេលប៉ុន្មានឆ្នាំចុងក្រោយនេះ។ Flink គឺជាប្រព័ន្ធដែលមានបញ្ហាប្រឈមក្នុងការក្រោកឈរឡើង និងប្រើប្រាស់ខាងក្នុង ដែលទាមទារនូវទេពកោសល្យផ្នែកវិស្វកម្ម។ សូម្បីតែ AWS MSF សេវា ខណៈពេលដែលកាន់តែងាយស្រួល នៅតែមានភាពស្មុគស្មាញ។ ជាឧទាហរណ៍ ការប្រើប្រាស់ Java តម្រូវឱ្យអ្នកសរសេរសំណួរ Java របស់អ្នក បង្កើតឯកសារ jar បង្ហាប់វា បង្ហោះវាទៅ S3 កំណត់ការអនុញ្ញាតរបស់អ្នក ហើយបន្ទាប់មកប្រតិបត្តិវា។


ខ្ញុំនឹងខ្ចីពីគេហទំព័រ Apache Flink នៅទីនេះ។ Apache Flink គឺជាក្របខ័ណ្ឌ និងម៉ាស៊ីនដំណើរការចែកចាយសម្រាប់ការគណនាតាមរដ្ឋលើការស្ទ្រីមទិន្នន័យគ្មានដែនកំណត់ និងគ្មានដែនកំណត់។ Flink ត្រូវ​បាន​រចនា​ឡើង​ដើម្បី​ដំណើរការ​នៅ​ក្នុង​បរិស្ថាន​ចង្កោម​ទូទៅ​ទាំងអស់ និង​អនុវត្ត​ការ​គណនា​ក្នុង​ល្បឿន​ក្នុង​អង្គ​ចងចាំ និង​ក្នុង​មាត្រដ្ឋាន​ណាមួយ។ ខ្ញុំមិនចង់ចម្លងអ្វីដែលមាននៅលើគេហទំព័ររបស់ពួកគេទេ ដូច្នេះប្រសិនបើអ្នកមិនច្បាស់អំពី Flink សូមពិនិត្យមើលវា។

ការប្រើប្រាស់ DeltaStream

នៅមូលដ្ឋានបំផុតរបស់វា DeltaStream ផ្តល់ឱ្យអ្នកនូវថាមពលនៃ Flink ដោយមិនចាំបាច់ដោះស្រាយជាមួយ Flink ។ ទាំងអស់។ សម្រាប់ការសាកល្បងរបស់ខ្ញុំ ខ្ញុំបានប្រើរបស់ពួកគេ។ មគ្គុទ្ទេសក៍ចាប់ផ្តើមរហ័ស សម្រាប់ Web UI; ចំណាំថាពួកគេក៏មាន CLI ដែលខ្ញុំមិនបានសាកល្បង។


នៅពេលអ្នកចុះឈ្មោះ អ្នកនឹងទទួលបានការសាកល្បងឥតគិតថ្លៃរយៈពេល 14 ថ្ងៃ។ គំរូ Kafka cluster ហៅថា "trial_store" ត្រូវបានបង្វែរឡើងដែលអ្នកអាចប្រើជំនួសឱ្យទិន្នន័យផ្ទាល់ខ្លួនរបស់អ្នកដើម្បីសាកល្បង។ ការបង្ហាញមានប្រធានបទមួយចំនួនដែលត្រូវលេងជាមួយ។ រូបតំណាងនៅក្រោម ACTIONS អនុញ្ញាតឱ្យអ្នកលុបប្រធានបទ ឬមើលព័ត៌មានលម្អិត និងខ្លឹមសារអំពី និងក្នុងប្រធានបទ។


កម្មវិធីរុករកប្រធានបទ DeltaStream


នេះគឺជាព័ត៌មានលម្អិតនៃប្រធានបទ ការមើលទំព័រ សម្រាប់ជាឯកសារយោង ដែលយើងនឹងប្រើនៅពេលក្រោយ។

អ្នកត្រួតពិនិត្យប្រធានបទ DeltaStream


មិនអីទេ យើងមានចង្កោម Kafka និងប្រធានបទនៅក្នុងវា។ ឥឡូវនេះ ចូរយើងធ្វើអ្វីដែលគួរឱ្យចាប់អារម្មណ៍។ ដូចដែលបានរៀបរាប់នៅក្នុងការណែនាំ អ្វីដែលគួរឱ្យចាប់អារម្មណ៍បំផុតដែលខ្ញុំអាចធ្វើបានគឺបង្កើន និង/ឬត្រងទិន្នន័យខណៈពេលដែលវាកំពុងហោះហើរ មុនពេលវាចុះចតនៅគោលដៅចុងក្រោយរបស់វា ដូចជាឃ្លាំងទិន្នន័យ/ឃ្លាំង/បឹងជាដើម។ សម្រាប់គោលបំណងទាំងនោះ យើងទៅកន្លែងធ្វើការ។

ការពិពណ៌នាអំពីកន្លែងធ្វើការ DeltaStream


ផ្នែកនេះបានប្រើបន្តិច។ មូលដ្ឋានទិន្នន័យ និងគ្រោងការណ៍នៅក្នុង DeltaStream គឺគ្រាន់តែជាថតរបស់អង្គការប៉ុណ្ណោះ។ អ្នកអាចបង្កើតចំនួន 'n' នៃមូលដ្ឋានទិន្នន័យ ហើយនៅក្នុងមូលដ្ឋានទិន្នន័យ អ្នកអាចមាន 'n' នៃគ្រោងការណ៍។ គ្រោងការណ៍នឹងរក្សាប្លង់និយមន័យនៃវត្ថុ DeltaStream របស់អ្នកដែលត្រូវបានគេស្គាល់ថាជា STREAM, CHANGELOG, MATERIALIZED VIEW និងតារាង។ តារាងទាក់ទងនឹងតារាងមូលដ្ឋានទិន្នន័យនៅក្នុងអ្វីមួយដូចជា PostgreSQL ហើយទិដ្ឋភាពសម្ភារៈគឺជាវិធីដើម្បីបន្តទិន្នន័យនៅក្នុងសំណុំលទ្ធផលដោយមិនដាក់វានៅកន្លែងណាមួយជាក់លាក់។ ខ្ញុំនឹងមិនធ្វើអ្វីជាមួយអ្នកទាំងនៅក្នុងប្លុកនេះទេ។ ខ្ញុំ​នឹង​ផ្តោត​លើ Stream និង Changelog។


ខ្ញុំកំពុងបង្កើតស្ទ្រីមនៃប្រធានបទ ការមើលទំព័រ នៅក្នុងចង្កោម Kafka នៅក្នុងរូបថតអេក្រង់ខាងក្រោម។ ខ្ញុំគិតថាវាជាការកំណត់តារាងនៃប្រធានបទ។ យើង​បាន​កំណត់​ឈ្មោះ​វាល ហើយ​ប្រាប់​ពួកគេ​ថា​តើ​ប្រធានបទ​ណា​ដែល​ត្រូវ​ប្រើ និង​ទម្រង់​ទិន្នន័យ​ជា​អ្វី។ យើងមិនចាំបាច់បង្ហាញភាពត្រឹមត្រូវពេញលេញអំពីចង្កោម trial_store ដូចដែលវាត្រូវបានកំណត់ជាលំនាំដើមនៅក្នុងប្រអប់បន្សំនៅផ្នែកខាងលើ។ នៅពេលដែលពាក្យបញ្ជានោះត្រូវបានប្រតិបត្តិ វានឹងបង្ហាញនៅក្រោម TestDB.public។ បន្ទាប់មកខ្ញុំអាចសួរវាដោយប្រើអ្វីមួយដូចជា SELECT * FROM PAGEVIEWS ហើយខ្ញុំនឹងចាប់ផ្តើមឃើញទិន្នន័យនៅក្នុងផ្ទាំងលទ្ធផលនៅខាងក្រោម។


ឧទាហរណ៍នៃការបង្កើតស្ទ្រីម DeltaStream


បន្ទាប់ខ្ញុំប្រកាសអំពីការផ្លាស់ប្តូរកំណត់ហេតុដែលគាំទ្រដោយប្រធានបទ របស់អ្នកប្រើ និងបញ្ជាដោយ UserID ។ កំណត់ហេតុផ្លាស់ប្តូរគឺស្រដៀងនឹងការផ្សាយ ប៉ុន្តែអនុញ្ញាតឱ្យអ្នកបកស្រាយព្រឹត្តិការណ៍នៅក្នុងប្រធានបទជាព្រឹត្តិការណ៍ UPSERT ។ ព្រឹត្តិការណ៍ទាមទារសោចម្បង; DeltaStream បកស្រាយព្រឹត្តិការណ៍នីមួយៗជាការបញ្ចូល ឬធ្វើបច្ចុប្បន្នភាពសម្រាប់សោចម្បងដែលបានផ្តល់ឱ្យ។ ក្នុងករណីនេះ កំណត់ហេតុផ្លាស់ប្តូរឆ្លុះបញ្ចាំងពីព័ត៌មានលម្អិតជាក់លាក់ដោយអ្នកប្រើប្រាស់ ដូចជាភេទ និងចំណាប់អារម្មណ៍ជាដើម។

ឧទាហរណ៍ DeltaStream Changelog


នេះជាកន្លែងដែលយើងចាប់ផ្តើមសប្បាយខ្លះ។ ខ្ញុំនឹងបង្កើតស្ទ្រីមថ្មីដែលបង្កើន ការមើលទំព័រ ជាមួយទិន្នន័យពី user_log changelog ដោយប្រើ userid ជាតម្លៃគន្លឹះដើម្បីចូលរួម។ ឥឡូវនេះវាផ្តល់ឱ្យខ្ញុំនូវប្រធានបទតែមួយគត់នៅក្នុងចង្កោមជាមួយនឹងទិន្នន័យពីប្រធានបទពីរផ្សេងគ្នា។ ពីទីនេះ ខ្ញុំអាចត្រងវាដោយប្រើអ្វីមួយដូចជា regionid ហើយសរសេរលទ្ធផលនៃសំណួរនោះទៅកាន់គោលដៅចុងក្រោយដូចជា ឃ្លាំងទិន្នន័យ ឃ្លាំង ឬបឹង។ នេះអនុញ្ញាតឱ្យខ្ញុំពង្រឹង និងត្រងទិន្នន័យក្នុងជើងហោះហើរ មុនពេលចុះចត ដូច្នេះវាធ្វើអោយប្រសើរឡើងនូវភាពយឺតយ៉ាវ និងកាត់បន្ថយការចំណាយលើការគណនា និងការផ្ទុក។

ឧទាហរណ៍ DeltaStream Join

សង្ខេប

ដូច្នេះតើ DeltaStream គឺជាអ្វី? វាជាវិធីដ៏សាមញ្ញមួយក្នុងការប្រើ Apache Flink ដោយមិនចាំបាច់ដឹងអ្វីអំពីវា ឬធ្វើអ្វីដោយផ្ទាល់ជាមួយវា។ អ្នកបានឃើញពីឧទាហរណ៍របស់ខ្ញុំពីរបៀបដែលវាសាមញ្ញក្នុងការភ្ជាប់ទៅ Apache Kafka ហើយបន្ទាប់មកអាន ចូលរួម និងត្រងទិន្នន័យ។ ការតភ្ជាប់ដែលគាំទ្របច្ចុប្បន្នផ្សេងទៀតគឺ Kinesis, PostgreSQL, Snowflake, និង Databricks ហើយខ្ញុំត្រូវបានគេប្រាប់ថា ClickHouse និង Iceberg នឹងមានក្នុងពេលឆាប់ៗនេះ។


ទីបំផុត DeltaStream ផ្តល់ឱ្យអ្នកនូវថាមពលរបស់ Apache Flink ដោយមិនចាំបាច់ដោះស្រាយជាមួយ Apache Flink ហើយអ្នកអាចធ្វើវាដោយប្រើ SQL ជំនួសឱ្យ Java ។ ប្រសិនបើអ្នកកំពុងដោះស្រាយជាមួយការផ្សាយទិន្នន័យ ឬចង់អនុវត្តវា នេះពិតជាដំណោះស្រាយដ៏ឆ្លាតវៃ និងងាយស្រួលបំផុត។


សូមពិនិត្យមើលអត្ថបទផ្សេងទៀតរបស់ខ្ញុំ What the Heck is… នៅតំណភ្ជាប់ខាងក្រោម៖




**

L O A D I N G
. . . comments & more!

About Author

Shawn Gordon HackerNoon profile picture
Shawn Gordon@progrockrec
Software designer/developer, developer advocate, writer, and musician.

ព្យួរស្លាក

អត្ថបទនេះត្រូវបានបង្ហាញនៅក្នុង...