នៅពេលដែលយើងសួរចុងក្រោយថា "តើអ្វីទៅជា heck ???" យើងកំពុងសម្លឹងមើល __ Apache Kafka __® protocol protocol streaming data platform
Flink ត្រូវបានទទួលយកដំបូងជាគម្រោង Apache ក្នុងខែធ្នូ ឆ្នាំ 2014 ដូច្នេះវាមានរយៈពេលមួយរយៈ។ ការរីកចម្រើននៃដំណើរការស្ទ្រីមបាននាំឱ្យមានការបង្កើនល្បឿននៃការចាប់អារម្មណ៍ និងការប្រើប្រាស់ក្នុងរយៈពេលប៉ុន្មានឆ្នាំចុងក្រោយនេះ។ Flink គឺជាប្រព័ន្ធដែលមានបញ្ហាប្រឈមក្នុងការក្រោកឈរឡើង និងប្រើប្រាស់ខាងក្នុង ដែលទាមទារនូវទេពកោសល្យផ្នែកវិស្វកម្ម។ សូម្បីតែ
ខ្ញុំនឹងខ្ចីពីគេហទំព័រ Apache Flink នៅទីនេះ។ Apache Flink គឺជាក្របខ័ណ្ឌ និងម៉ាស៊ីនដំណើរការចែកចាយសម្រាប់ការគណនាតាមរដ្ឋលើការស្ទ្រីមទិន្នន័យគ្មានដែនកំណត់ និងគ្មានដែនកំណត់។ Flink ត្រូវបានរចនាឡើងដើម្បីដំណើរការនៅក្នុងបរិស្ថានចង្កោមទូទៅទាំងអស់ និងអនុវត្តការគណនាក្នុងល្បឿនក្នុងអង្គចងចាំ និងក្នុងមាត្រដ្ឋានណាមួយ។ ខ្ញុំមិនចង់ចម្លងអ្វីដែលមាននៅលើគេហទំព័ររបស់ពួកគេទេ ដូច្នេះប្រសិនបើអ្នកមិនច្បាស់អំពី Flink សូមពិនិត្យមើលវា។
នៅមូលដ្ឋានបំផុតរបស់វា DeltaStream ផ្តល់ឱ្យអ្នកនូវថាមពលនៃ Flink ដោយមិនចាំបាច់ដោះស្រាយជាមួយ Flink ។ ទាំងអស់។ សម្រាប់ការសាកល្បងរបស់ខ្ញុំ ខ្ញុំបានប្រើរបស់ពួកគេ។
នៅពេលអ្នកចុះឈ្មោះ អ្នកនឹងទទួលបានការសាកល្បងឥតគិតថ្លៃរយៈពេល 14 ថ្ងៃ។ គំរូ Kafka cluster ហៅថា "trial_store" ត្រូវបានបង្វែរឡើងដែលអ្នកអាចប្រើជំនួសឱ្យទិន្នន័យផ្ទាល់ខ្លួនរបស់អ្នកដើម្បីសាកល្បង។ ការបង្ហាញមានប្រធានបទមួយចំនួនដែលត្រូវលេងជាមួយ។ រូបតំណាងនៅក្រោម ACTIONS អនុញ្ញាតឱ្យអ្នកលុបប្រធានបទ ឬមើលព័ត៌មានលម្អិត និងខ្លឹមសារអំពី និងក្នុងប្រធានបទ។
នេះគឺជាព័ត៌មានលម្អិតនៃប្រធានបទ ការមើលទំព័រ សម្រាប់ជាឯកសារយោង ដែលយើងនឹងប្រើនៅពេលក្រោយ។
មិនអីទេ យើងមានចង្កោម Kafka និងប្រធានបទនៅក្នុងវា។ ឥឡូវនេះ ចូរយើងធ្វើអ្វីដែលគួរឱ្យចាប់អារម្មណ៍។ ដូចដែលបានរៀបរាប់នៅក្នុងការណែនាំ អ្វីដែលគួរឱ្យចាប់អារម្មណ៍បំផុតដែលខ្ញុំអាចធ្វើបានគឺបង្កើន និង/ឬត្រងទិន្នន័យខណៈពេលដែលវាកំពុងហោះហើរ មុនពេលវាចុះចតនៅគោលដៅចុងក្រោយរបស់វា ដូចជាឃ្លាំងទិន្នន័យ/ឃ្លាំង/បឹងជាដើម។ សម្រាប់គោលបំណងទាំងនោះ យើងទៅកន្លែងធ្វើការ។
ផ្នែកនេះបានប្រើបន្តិច។ មូលដ្ឋានទិន្នន័យ និងគ្រោងការណ៍នៅក្នុង DeltaStream គឺគ្រាន់តែជាថតរបស់អង្គការប៉ុណ្ណោះ។ អ្នកអាចបង្កើតចំនួន 'n' នៃមូលដ្ឋានទិន្នន័យ ហើយនៅក្នុងមូលដ្ឋានទិន្នន័យ អ្នកអាចមាន 'n' នៃគ្រោងការណ៍។ គ្រោងការណ៍នឹងរក្សាប្លង់និយមន័យនៃវត្ថុ DeltaStream របស់អ្នកដែលត្រូវបានគេស្គាល់ថាជា STREAM, CHANGELOG, MATERIALIZED VIEW និងតារាង។ តារាងទាក់ទងនឹងតារាងមូលដ្ឋានទិន្នន័យនៅក្នុងអ្វីមួយដូចជា PostgreSQL ហើយទិដ្ឋភាពសម្ភារៈគឺជាវិធីដើម្បីបន្តទិន្នន័យនៅក្នុងសំណុំលទ្ធផលដោយមិនដាក់វានៅកន្លែងណាមួយជាក់លាក់។ ខ្ញុំនឹងមិនធ្វើអ្វីជាមួយអ្នកទាំងនៅក្នុងប្លុកនេះទេ។ ខ្ញុំនឹងផ្តោតលើ Stream និង Changelog។
ខ្ញុំកំពុងបង្កើតស្ទ្រីមនៃប្រធានបទ ការមើលទំព័រ នៅក្នុងចង្កោម Kafka នៅក្នុងរូបថតអេក្រង់ខាងក្រោម។ ខ្ញុំគិតថាវាជាការកំណត់តារាងនៃប្រធានបទ។ យើងបានកំណត់ឈ្មោះវាល ហើយប្រាប់ពួកគេថាតើប្រធានបទណាដែលត្រូវប្រើ និងទម្រង់ទិន្នន័យជាអ្វី។ យើងមិនចាំបាច់បង្ហាញភាពត្រឹមត្រូវពេញលេញអំពីចង្កោម trial_store ដូចដែលវាត្រូវបានកំណត់ជាលំនាំដើមនៅក្នុងប្រអប់បន្សំនៅផ្នែកខាងលើ។ នៅពេលដែលពាក្យបញ្ជានោះត្រូវបានប្រតិបត្តិ វានឹងបង្ហាញនៅក្រោម TestDB.public។ បន្ទាប់មកខ្ញុំអាចសួរវាដោយប្រើអ្វីមួយដូចជា SELECT * FROM PAGEVIEWS ហើយខ្ញុំនឹងចាប់ផ្តើមឃើញទិន្នន័យនៅក្នុងផ្ទាំងលទ្ធផលនៅខាងក្រោម។
បន្ទាប់ខ្ញុំប្រកាសអំពីការផ្លាស់ប្តូរកំណត់ហេតុដែលគាំទ្រដោយប្រធានបទ របស់អ្នកប្រើ និងបញ្ជាដោយ UserID ។ កំណត់ហេតុផ្លាស់ប្តូរគឺស្រដៀងនឹងការផ្សាយ ប៉ុន្តែអនុញ្ញាតឱ្យអ្នកបកស្រាយព្រឹត្តិការណ៍នៅក្នុងប្រធានបទជាព្រឹត្តិការណ៍ UPSERT ។ ព្រឹត្តិការណ៍ទាមទារសោចម្បង; DeltaStream បកស្រាយព្រឹត្តិការណ៍នីមួយៗជាការបញ្ចូល ឬធ្វើបច្ចុប្បន្នភាពសម្រាប់សោចម្បងដែលបានផ្តល់ឱ្យ។ ក្នុងករណីនេះ កំណត់ហេតុផ្លាស់ប្តូរឆ្លុះបញ្ចាំងពីព័ត៌មានលម្អិតជាក់លាក់ដោយអ្នកប្រើប្រាស់ ដូចជាភេទ និងចំណាប់អារម្មណ៍ជាដើម។
នេះជាកន្លែងដែលយើងចាប់ផ្តើមសប្បាយខ្លះ។ ខ្ញុំនឹងបង្កើតស្ទ្រីមថ្មីដែលបង្កើន ការមើលទំព័រ ជាមួយទិន្នន័យពី user_log changelog ដោយប្រើ userid ជាតម្លៃគន្លឹះដើម្បីចូលរួម។ ឥឡូវនេះវាផ្តល់ឱ្យខ្ញុំនូវប្រធានបទតែមួយគត់នៅក្នុងចង្កោមជាមួយនឹងទិន្នន័យពីប្រធានបទពីរផ្សេងគ្នា។ ពីទីនេះ ខ្ញុំអាចត្រងវាដោយប្រើអ្វីមួយដូចជា regionid ហើយសរសេរលទ្ធផលនៃសំណួរនោះទៅកាន់គោលដៅចុងក្រោយដូចជា ឃ្លាំងទិន្នន័យ ឃ្លាំង ឬបឹង។ នេះអនុញ្ញាតឱ្យខ្ញុំពង្រឹង និងត្រងទិន្នន័យក្នុងជើងហោះហើរ មុនពេលចុះចត ដូច្នេះវាធ្វើអោយប្រសើរឡើងនូវភាពយឺតយ៉ាវ និងកាត់បន្ថយការចំណាយលើការគណនា និងការផ្ទុក។
ដូច្នេះតើ DeltaStream គឺជាអ្វី? វាជាវិធីដ៏សាមញ្ញមួយក្នុងការប្រើ Apache Flink ដោយមិនចាំបាច់ដឹងអ្វីអំពីវា ឬធ្វើអ្វីដោយផ្ទាល់ជាមួយវា។ អ្នកបានឃើញពីឧទាហរណ៍របស់ខ្ញុំពីរបៀបដែលវាសាមញ្ញក្នុងការភ្ជាប់ទៅ Apache Kafka ហើយបន្ទាប់មកអាន ចូលរួម និងត្រងទិន្នន័យ។ ការតភ្ជាប់ដែលគាំទ្របច្ចុប្បន្នផ្សេងទៀតគឺ Kinesis, PostgreSQL, Snowflake, និង Databricks ហើយខ្ញុំត្រូវបានគេប្រាប់ថា ClickHouse និង Iceberg នឹងមានក្នុងពេលឆាប់ៗនេះ។
ទីបំផុត DeltaStream ផ្តល់ឱ្យអ្នកនូវថាមពលរបស់ Apache Flink ដោយមិនចាំបាច់ដោះស្រាយជាមួយ Apache Flink ហើយអ្នកអាចធ្វើវាដោយប្រើ SQL ជំនួសឱ្យ Java ។ ប្រសិនបើអ្នកកំពុងដោះស្រាយជាមួយការផ្សាយទិន្នន័យ ឬចង់អនុវត្តវា នេះពិតជាដំណោះស្រាយដ៏ឆ្លាតវៃ និងងាយស្រួលបំផុត។
សូមពិនិត្យមើលអត្ថបទផ្សេងទៀតរបស់ខ្ញុំ What the Heck is… នៅតំណភ្ជាប់ខាងក្រោម៖
**