paint-brush
دلتا استریم چیست؟توسط@progrockrec
234 قرائت

دلتا استریم چیست؟

توسط Shawn Gordon5m2024/12/12
Read on Terminal Reader

خیلی طولانی؛ خواندن

DeltaStream یک سرویس مدیریت شده است که به شما امکان می دهد از Flink بدون نیاز به مقابله با Flink استفاده کنید.
featured image - دلتا استریم چیست؟
Shawn Gordon HackerNoon profile picture


وقتی آخرین بار از ما پرسیدیم "چه جهنمی؟"، ما به پلت فرم جریان داده سازگار با پروتکل __ Apache Kafka __® نگاه می کردیم. WarpStream . با جریان داده، باید کاری با آن انجام دهید. زمین آن را در جایی مانند کوه یخ آپاچی ، دانه برف ، یا Databricks ، یا از آن داده های حین پرواز پرس و جو کنید تا قبل از فرود، آن ها را غنی و/یا فیلتر کنید. چند گزینه برای دومی وجود دارد، اما بدون شک بزرگترین آنها پروژه منبع باز است آپاچی فلینک . نگاه کردن به فلینک مرا به سمت آن سوق داد دلتا استریم که موضوع امروز ماست. دلتا استریم چیه؟ چگونه با فلینک کار می کند و چگونه همراه کافکا است؟

فلینک چیست؟

Flink در ابتدا به عنوان یک پروژه آپاچی در دسامبر 2014 پذیرفته شد، بنابراین مدتی است که در دسترس بوده است. رشد پردازش جریانی منجر به افزایش علاقه و استفاده در چند سال اخیر شده است. Flink یک سیستم تا حدودی چالش برانگیز برای ایستادن و استفاده داخلی است که نیاز به استعداد مهندسی اختصاصی دارد. حتی AWS MSF خدمات، در حالی که آسان تر است، هنوز هم نسبتا پیچیده است. به عنوان مثال، استفاده از جاوا به شما نیاز دارد که کوئری جاوا خود را بنویسید، یک فایل jar ایجاد کنید، آن را فشرده کنید، آن را در S3 آپلود کنید، مجوزهای خود را تنظیم کنید و سپس آن را اجرا کنید.


من قصد دارم از صفحه وب Apache Flink در اینجا قرض بگیرم. Apache Flink یک فریمورک و موتور پردازش توزیع شده برای محاسبات حالت بر روی جریان های داده نامحدود و محدود است. Flink برای اجرا در تمام محیط‌های خوشه‌ای رایج و انجام محاسبات با سرعت درون حافظه و در هر مقیاسی طراحی شده است. من نمی خواهم بیشتر از آنچه در وب سایت آنها است تکرار کنم، بنابراین اگر در مورد Flink مطمئن نیستید، به آن نگاهی بیندازید.

با استفاده از DeltaStream

در ابتدایی ترین حالت، DeltaStream به شما قدرت Flink را بدون نیاز به مقابله با Flink می دهد. اصلا برای آزمایشم از آنها استفاده کردم راهنمای شروع سریع برای رابط کاربری وب؛ توجه داشته باشید که CLI هم دارند که من تست نکردم.


با ثبت نام، یک دوره آزمایشی 14 روزه رایگان دریافت می کنید. یک نمونه خوشه کافکا به نام «trial_store» ایجاد شده است که می‌توانید به جای داده‌های خود برای آزمایش از آن استفاده کنید. دمو شامل تعدادی موضوع برای بازی است. نمادهای زیر ACTIONS به شما این امکان را می دهند که یک موضوع را حذف کنید یا جزئیات و محتوای مربوط به موضوع و در آن را مشاهده کنید.


مرورگر موضوع دلتا استریم


در اینجا جزئیات موضوع بازدید از صفحه برای مرجع وجود دارد که بعداً از آنها استفاده خواهیم کرد.

بازرس موضوع DeltaStream


خوب، ما یک خوشه کافکا و موضوعاتی در آن داریم. حالا بیایید یک کار جالب انجام دهیم. همانطور که در مقدمه ذکر شد، جالب‌ترین کاری که می‌توانم انجام دهم غنی‌سازی و/یا فیلتر کردن داده‌ها در حین پرواز قبل از فرود در مقصد نهایی خود، مانند پایگاه داده/انبار/دریاچه است. برای این منظور، به Workspace می رویم.

توضیحات فضای کاری DeltaStream


این قسمت کمی عادت کرد. پایگاه داده و طرحواره در DeltaStream فقط پوشه های سازمانی هستند. شما می توانید تعداد 'n' پایگاه داده ایجاد کنید، و در یک پایگاه داده، می توانید تعداد 'n' طرحواره داشته باشید. طرحواره ها طرح بندی تعریفی اشیاء DeltaStream شما را که با نام های STREAM، CHANGELOG، MATERIALIZED VIEW و TABLE شناخته می شوند، نگه می دارند. یک Table به یک جدول پایگاه داده در چیزی مانند PostgreSQL مربوط می شود، و نمای Materialized راهی برای حفظ داده ها در مجموعه نتایج بدون قرار دادن آن در جایی خاص است. من قصد ندارم با هیچ یک از کسانی که در این وبلاگ هستند کاری انجام دهم. من بر روی Stream و Changelog تمرکز خواهم کرد.


من در حال ایجاد جریانی از موضوع بازدید از صفحه در خوشه کافکا در تصویر زیر هستم. من فکر می کنم آن را به عنوان تعریف جدولی از موضوع می دانم. ما نام فیلدها را اختصاص داده ایم و به آنها گفته ایم که از چه موضوعی استفاده کنند و فرمت داده چیست. ما مجبور نیستیم که خوشه trial_store را به طور کامل توجیه کنیم زیرا به عنوان پیش فرض در جعبه ترکیبی در بالا تنظیم شده است. هنگامی که این دستور اجرا شد، در TestDB.public نشان داده می شود. سپس می توانم آن را با چیزی مانند SELECT * FROM PAGEVIEWS پرس و جو کنم و شروع به دیدن داده ها در صفحه نتیجه در پایین می کنم.


مثال ایجاد DeltaStream Stream


در مرحله بعد، من یک تغییرات ثبت شده توسط موضوع کاربر و سفارش شده توسط UserID را اعلام می کنم. تغییرات ثبت شده شبیه به یک جریان است، اما به شما امکان می دهد رویدادهای یک موضوع را به عنوان رویدادهای UPSERT تفسیر کنید. رویدادها به یک کلید اولیه نیاز دارند. DeltaStream هر رویداد را به عنوان یک درج یا به روز رسانی برای کلید اصلی داده شده تفسیر می کند. در این مورد، تغییرات ثبت جزئیات خاصی مانند جنسیت و علایق را بر اساس کاربر منعکس می کند.

مثال DeltaStream Changelog


اینجا جایی است که ما شروع به تفریح می کنیم. من یک جریان جدید ایجاد خواهم کرد که جریان بازدید از صفحه را با داده‌های مربوط به تغییرات user_log با استفاده از userid به عنوان مقدار کلیدی برای پیوستن، غنی می‌کند. این اکنون به من یک موضوع منحصر به فرد در خوشه با داده های دو موضوع مختلف می دهد. از اینجا می توانم آن را با استفاده از چیزی مانند regionid فیلتر کنم و نتایج آن پرس و جو را در یک مقصد نهایی مانند پایگاه داده، انبار یا دریاچه بنویسم. این به من این امکان را داد که قبل از فرود، داده‌های حین پرواز را غنی‌سازی و فیلتر کنم، بنابراین تأخیر را بهبود بخشم و هزینه‌های محاسباتی و ذخیره‌سازی را کاهش دهم.

مثال عضویت DeltaStream

خلاصه

بنابراین، دلتا استریم چیست؟ این یک راه بسیار ساده برای استفاده از Apache Flink بدون دانستن چیزی در مورد آن یا انجام مستقیم کاری با آن است. از مثال من دیدید که اتصال به آپاچی کافکا و سپس خواندن، پیوستن و فیلتر کردن داده ها چقدر ساده بود. سایر اتصالات پشتیبانی شده در حال حاضر Kinesis، PostgreSQL، Snowflake و Databricks هستند و به من گفته شده که ClickHouse و Iceberg به زودی در دسترس خواهند بود.


در نهایت، DeltaStream بدون نیاز به مقابله با Apache Flink به شما قدرت Apache Flink را می دهد و می توانید آن را با استفاده از SQL به جای جاوا انجام دهید. اگر با جریان داده سر و کار دارید یا به دنبال پیاده سازی آن هستید، این قطعا یک راه حل بسیار هوشمندانه و راحت است.


مقالات دیگر من چه هک است... را در پیوندهای زیر بررسی کنید:




**

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.

برچسب ها را آویزان کنید

این مقاله در ارائه شده است...