وقتی آخرین بار از ما پرسیدیم "چه جهنمی؟"، ما به پلت فرم جریان داده سازگار با پروتکل __ __® نگاه می کردیم. . با جریان داده، باید کاری با آن انجام دهید. زمین آن را در جایی مانند ، ، یا ، یا از آن داده های حین پرواز پرس و جو کنید تا قبل از فرود، آن ها را غنی و/یا فیلتر کنید. چند گزینه برای دومی وجود دارد، اما بدون شک بزرگترین آنها پروژه منبع باز است . نگاه کردن به فلینک مرا به سمت آن سوق داد که موضوع امروز ماست. دلتا استریم چیه؟ چگونه با فلینک کار می کند و چگونه همراه کافکا است؟ Apache Kafka WarpStream کوه یخ آپاچی دانه برف Databricks آپاچی فلینک دلتا استریم فلینک چیست؟ Flink در ابتدا به عنوان یک پروژه آپاچی در دسامبر 2014 پذیرفته شد، بنابراین مدتی است که در دسترس بوده است. رشد پردازش جریانی منجر به افزایش علاقه و استفاده در چند سال اخیر شده است. Flink یک سیستم تا حدودی چالش برانگیز برای ایستادن و استفاده داخلی است که نیاز به استعداد مهندسی اختصاصی دارد. حتی خدمات، در حالی که آسان تر است، هنوز هم نسبتا پیچیده است. به عنوان مثال، استفاده از جاوا به شما نیاز دارد که کوئری جاوا خود را بنویسید، یک فایل jar ایجاد کنید، آن را فشرده کنید، آن را در S3 آپلود کنید، مجوزهای خود را تنظیم کنید و سپس آن را اجرا کنید. AWS MSF من قصد دارم از صفحه وب Apache Flink در اینجا قرض بگیرم. Apache Flink یک فریمورک و موتور پردازش توزیع شده برای محاسبات حالت بر روی جریان های داده نامحدود و محدود است. Flink برای اجرا در تمام محیطهای خوشهای رایج و انجام محاسبات با سرعت درون حافظه و در هر مقیاسی طراحی شده است. من نمی خواهم بیشتر از آنچه در وب سایت آنها است تکرار کنم، بنابراین اگر در مورد Flink مطمئن نیستید، به آن نگاهی بیندازید. با استفاده از DeltaStream در ابتدایی ترین حالت، DeltaStream به شما قدرت Flink را بدون نیاز به مقابله با Flink می دهد. اصلا برای آزمایشم از آنها استفاده کردم برای رابط کاربری وب؛ توجه داشته باشید که CLI هم دارند که من تست نکردم. راهنمای شروع سریع با ثبت نام، یک دوره آزمایشی 14 روزه رایگان دریافت می کنید. یک نمونه خوشه کافکا به نام «trial_store» ایجاد شده است که میتوانید به جای دادههای خود برای آزمایش از آن استفاده کنید. دمو شامل تعدادی موضوع برای بازی است. نمادهای زیر ACTIONS به شما این امکان را می دهند که یک موضوع را حذف کنید یا جزئیات و محتوای مربوط به موضوع و در آن را مشاهده کنید. در اینجا جزئیات موضوع برای مرجع وجود دارد که بعداً از آنها استفاده خواهیم کرد. بازدید از صفحه خوب، ما یک خوشه کافکا و موضوعاتی در آن داریم. حالا بیایید یک کار جالب انجام دهیم. همانطور که در مقدمه ذکر شد، جالبترین کاری که میتوانم انجام دهم غنیسازی و/یا فیلتر کردن دادهها در حین پرواز قبل از فرود در مقصد نهایی خود، مانند پایگاه داده/انبار/دریاچه است. برای این منظور، به Workspace می رویم. این قسمت کمی عادت کرد. پایگاه داده و طرحواره در DeltaStream فقط پوشه های سازمانی هستند. شما می توانید تعداد 'n' پایگاه داده ایجاد کنید، و در یک پایگاه داده، می توانید تعداد 'n' طرحواره داشته باشید. طرحواره ها طرح بندی تعریفی اشیاء DeltaStream شما را که با نام های STREAM، CHANGELOG، MATERIALIZED VIEW و TABLE شناخته می شوند، نگه می دارند. یک Table به یک جدول پایگاه داده در چیزی مانند PostgreSQL مربوط می شود، و نمای Materialized راهی برای حفظ داده ها در مجموعه نتایج بدون قرار دادن آن در جایی خاص است. من قصد ندارم با هیچ یک از کسانی که در این وبلاگ هستند کاری انجام دهم. من بر روی Stream و Changelog تمرکز خواهم کرد. من در حال ایجاد جریانی از موضوع در خوشه کافکا در تصویر زیر هستم. من فکر می کنم آن را به عنوان تعریف جدولی از موضوع می دانم. ما نام فیلدها را اختصاص داده ایم و به آنها گفته ایم که از چه موضوعی استفاده کنند و فرمت داده چیست. ما مجبور نیستیم که خوشه trial_store را به طور کامل توجیه کنیم زیرا به عنوان پیش فرض در جعبه ترکیبی در بالا تنظیم شده است. هنگامی که این دستور اجرا شد، در TestDB.public نشان داده می شود. سپس می توانم آن را با چیزی مانند SELECT * FROM PAGEVIEWS پرس و جو کنم و شروع به دیدن داده ها در صفحه نتیجه در پایین می کنم. بازدید از صفحه در مرحله بعد، من یک تغییرات ثبت شده توسط موضوع و سفارش شده توسط UserID را اعلام می کنم. تغییرات ثبت شده شبیه به یک جریان است، اما به شما امکان می دهد رویدادهای یک موضوع را به عنوان رویدادهای UPSERT تفسیر کنید. رویدادها به یک کلید اولیه نیاز دارند. DeltaStream هر رویداد را به عنوان یک درج یا به روز رسانی برای کلید اصلی داده شده تفسیر می کند. در این مورد، تغییرات ثبت جزئیات خاصی مانند جنسیت و علایق را بر اساس کاربر منعکس می کند. کاربر اینجا جایی است که ما شروع به تفریح می کنیم. من یک جریان جدید ایجاد خواهم کرد که جریان را با دادههای مربوط به تغییرات با استفاده از به عنوان مقدار کلیدی برای پیوستن، غنی میکند. این اکنون به من یک موضوع منحصر به فرد در خوشه با داده های دو موضوع مختلف می دهد. از اینجا می توانم آن را با استفاده از چیزی مانند regionid فیلتر کنم و نتایج آن پرس و جو را در یک مقصد نهایی مانند پایگاه داده، انبار یا دریاچه بنویسم. این به من این امکان را داد که قبل از فرود، دادههای حین پرواز را غنیسازی و فیلتر کنم، بنابراین تأخیر را بهبود بخشم و هزینههای محاسباتی و ذخیرهسازی را کاهش دهم. بازدید از صفحه user_log userid خلاصه بنابراین، دلتا استریم چیست؟ این یک راه بسیار ساده برای استفاده از Apache Flink بدون دانستن چیزی در مورد آن یا انجام مستقیم کاری با آن است. از مثال من دیدید که اتصال به آپاچی کافکا و سپس خواندن، پیوستن و فیلتر کردن داده ها چقدر ساده بود. سایر اتصالات پشتیبانی شده در حال حاضر Kinesis، PostgreSQL، Snowflake و Databricks هستند و به من گفته شده که ClickHouse و Iceberg به زودی در دسترس خواهند بود. در نهایت، DeltaStream بدون نیاز به مقابله با Apache Flink به شما قدرت Apache Flink را می دهد و می توانید آن را با استفاده از SQL به جای جاوا انجام دهید. اگر با جریان داده سر و کار دارید یا به دنبال پیاده سازی آن هستید، این قطعا یک راه حل بسیار هوشمندانه و راحت است. مقالات دیگر من چه هک است... را در پیوندهای زیر بررسی کنید: DuckDB چیست؟ مالوی چیه؟ هک PRQL چیست؟ GlareDB چیست؟ SeaTunnel چیست؟ LanceDB چیست؟ SDF چیه؟ پیمون چیه؟ پروتون چیست؟ PuppyGraph چیست؟ GPTScript چیست؟ هک WarpStream چیست؟ **