مهندسی داده
794 subscribers
112 photos
7 videos
24 files
315 links
BigData.ir کانال رسمی وب سایت
مطالبی راجع به مهندسی داده و طراحی زیرساخت‌های پردازش دیتا و ابزارهای مدرن دیتا
ارتباط با ادمین: @smbanaei
گروه تخصصی مهندسی داده 👇
https://t.iss.one/bigdata_ir_discussions2
کانال یوتیوب 👇
https://www.youtube.com/@irbigdata
Download Telegram
کارگاه یکساعته ای را برای معرفی و کار با دیتابیس تحلیلی آپاچی دروید به میزبانی موسسه نیک آموز به مناسبت یلدای ۱۴۰۰ برگزار کرده ام که فیلم این کارگاه در سه قسمت (معرفی / کارگاه عملی / پرسش و پاسخ ) تدوین و آماده استفاده علاقه مندان گردیده است.
اگر به این حوزه علاقه مند هستید میتوانید بعد از مشاهده این کارگاه یکساعته (سعی کرده ام خیلی خلاصه و مختصر آنرا برگزار کنم ) که لینک دو بخش ابتدایی آنرا در بالا مشاهده میکنید، فایلهای کارگاه شامل کدهای پایتون تولید داده های فیک در کافکا و داکر کامپوز مربوطه را از آدرس زیر دریافت و خودتان به کار با این دیتابیس آینده دار بپردازید :
https://github.com/irbigdata/workshops
👍7
Forwarded from PaaSino
⚪️ آموزش عملی داکر

❇️ در این دوره قراره با داکر به عنوان یک برنامه‌‌نویس کار کنیم. قدم به قدم جلو می‌ریم و با داکر و امکاناتش آشنا می‌شیم.
پروژه‌ای که روش کار می‌کنیم یک اپ جنگو هست که به یک دیتابیس پستگرس متصل میشه.


🔹 قسمت اول - داستان کانتینرها
🎥 https://www.aparat.com/v/FRvmb

🔹 قسمت دوم - کار با ایمیج‌ها و بیلد ایمیج
🎥 https://www.aparat.com/v/kMcRz

🔹 قسمت سوم - اجرای کانتینرها با داکر
🎥 https://www.aparat.com/v/XcsD6

🔹 قسمت چهارم - کار با والیوم در داکر
🎥 https://www.aparat.com/v/6jyek

🔹 قسمت پنجم - استفاده از کش هنگام بیلد ایمیج
🎥 https://www.aparat.com/v/jAvQV

این لیست به روز رسانی میشه

#docker
🆔 @paasino
👍6
اگر در کارهای روزانه ، با پستگرس سر و کار دارید، این مقاله خوب را از دست ندهید و به کمک اون، مروری سریع بر تکنیک‌های مانیتورینگ و افزایش کارآیی این دیتابیس قدرتمند داشته باشید
https://blog.stackademic.com/unleashing-the-full-power-of-postgresql-a-definitive-guide-to-supercharge-performance-a8ce725725ac
Kubernetes for Data Engineers
یک مقاله مفید و مختصر در خصوص آشنایی با کوبرنتیز برای مهندسین داده با لینک‌های مناسب برای شروع کار
We do live in the Age of Containers, it’s the world we all live in. Docker has become standard. Data has grown. Everyone and everything is in the cloud. The Modern Data Stack we’ve all been working low these many hard years has only made the need for an agnostic and scalable container platform more real.

And this brings us to today’s topic.

We want to give Data Engineers an introduction to Kubernetes. It’s a tool everyone talks about, but not that many folks get a chance to get their hands dirty with.
https://dataengineeringcentral.substack.com/p/kubernetes-for-data-engineers?utm_source=substack&utm_medium=email
8
بعد از اتمام دوره بیگ‌دیتای همکاران سیستم، یکی از دانشجویان این دوره به من پیام داد که اگر بخواهم یک کار عملی توی حوزه مهندسی داده انجام بدم که مفاهیم اصلی مورد نیاز را به صورت عملی کار کنم، چه پروژه ای پیشنهاد می‌دهید.
پیشنهاد من ایجاد یک خط پردازش داده بود که داده‌های یک وب سایت تجاری به کمک CDC و Debezium از پستگرس دریافت و وارد کافکا شود. در مرحله بعد هم این داده‌ها به صورت خودکار توسط کلیک‌هوس دریافت شده و در جداول تحلیلی متناظر در Clickhouse‌ ذخیره شده و نهایتا با ابزارهای گرافیکی نمایش داده شود.
برای تولید داده‌ها هم از ایرفلو در بازه‌های زمانی کوتاه برای شبیه سازی یک وب‌سایت خرید و فروش محصول، استفاده شود.
خروجی ای که آقا بهنام یزدان‌پناهی @behnamyzp عزیز آماده کرد خیلی فراتر از انتظارم بود.
کل پروژه که روند فوق در آن پیاده سازی شده و نتایج در گرافانا نمایش داده شده است به همراه توضیحات لازم برای اجرای آن در آدرس زیر قرار گرفته است :‌
https://github.com/behnamyazdan/ecommerce_realtime_data_pipeline/
برای دوستانی که علاقه‌مند به حوزه مهندسی داده و مباحث زیرساختی هستند، یک نقطه شروع بسیار عالی است و برای دوستانی که با پستگرس کار می‌کنند می‌توانند از ایده انتقال داده‌ها به کلیک هوس و اجرای کوئری‌های تحلیلی بر روی آن استفاده کنند.
هر چند بهتر است ساختار طراحی شده برای کلیک هوس تغییر کند به گونه‌ای که به جای تمامی جداول بخش خرید و فروش، چند جدول اصلی اما بزرگ (با حذف نرمال‌سازی که در دیتابیس‌های تحلیلی کاملا روال است)‌ داشته باشیم و با ابزارهایی مانند dbt، با اجرای کوئری‌هایی در بازه‌های زمانی کوتاه، این جداول تحلیلی از روی جداول پایه دریافت شده از کافکا، پرشده و جداول پایه، با تنظیم مقدار TTL‌ مناسب، به صورت خودکار حذف شوند.
ضمن تشکر مجدد از آقا بهنام عزیز ، این پست را با کسب اجازه از ایشان در اینجا منتشر میکنم. باشد که برای علاقه‌مندان، مفید باشد.
لینک توضیحات خود بهنام عزیز در لینکدین :
https://www.linkedin.com/posts/behnam-yazdanpanahi_ecommerceabrdataabrpipeline-cdc-kafka-activity-7172687833793445888-USBb
#مهندسی_داده #clickhouse #airflow #cdc #postgresql #Debezium #پستگرس #خطوط_پردازش_داده
9
فرا رسیدن سال نو همیشه نوید بخش افکار نو،

کردار نو و تصمیم های نو برای آینده است،

آینده ای که همه امید داریم بهتر از گذشته باشد.

برای تمامی عزیزان کانال مهندسی داده، شادی و تندرستی آرزو میکنم. می دانم که زندگی همیشه مملو از دشواری و چالش است اما امیدوارم در سال نو، بتوانیم معادلات پیچیده‌ی زندگی را با آرامش و موفقیت حل کنیم.
در سال جدید، برنامه دارم که این کانال و سایت مهندسی داده را به صورت منظم‌تر و کارآمدتر به روزرسانی کنم و مطالب مفید و به روز دنیای بسیار متنوع مهندسی داده را به صورت دست‌چین‌ شده در اختیار شما عزیزان قرار دهم. امیدوارم که بتوانم در این مسیر با دعای خیر و انرژی مثبت شما موفق شوم.
ارادتمند
مجتبی بنائی
#سال_نو_مبارک 🌺
10
arch_v3_workshops.jpg
309.2 KB
یکی از کانال‌های فعال یوتیوب در زمینه مهندسی داده، کانال DataTalksClub است که به صورت منظم ابزارهای نوین حوزه مهندسی و علم داده را معرفی میکند و مطالب و کارگاه‌ها و رخدادهای زیادی را هم در این حوزه به کمک جامعه کاربری خود مدیریت می‌کند.

یکی از رخدادهایی که این سایت به صورت منظم برگراز میکند، کارگاه عملی مبانی مهندسی داده با Data Engineering Zoomcamp است. اگر علاقه‌مند به یادگیری مفاهیم اولیه مهندسی داده هستید و یا در این حوزه مشغول به فعالیت هستید و مایلید با ابزارهای نسبتا جدید این حوزه مانند Mage.ai‌ , RisingWave (میج یکی از گزینه های اصلی جایگزینی با ایرفلو در خطوط پردازش داده است) و یا data load tool (dlt)به صورت عملی کار کنید، این کارگاه مناسب شماست.
https://github.com/DataTalksClub/data-engineering-zoomcamp
👍1
https://dev.to/taipy/21-ai-tools-that-are-changing-the-world-1o54
کدنویسی جزء ضروری کارهای روزانه یک مهندس داده است و امروزه ابزارهای متنوعی برای افزایش کارآیی برنامه نویسی از طریق هوش مصنوعی، ایجاد و توسعه داده شده‌اند. اگر روزانه به کدنویسی بخصوص با VS Code‌ مشغول هستید این لیست ارزشمند را از دست ندهید.
به نظر می رسد زبان جدید موجو که توسط یکی از نام‌‌های مطرح در اکوسیستم طراحی زبان‌های نوین برنامه‌نویسی و با در نظرگرفتن تمامی پیشرفتهای سخت‌افزاری و نرم افزاری اخیر در این حوزه پا به عرصه وجود گذاشته است با گرامری تقریبا شبیه پایتون و با سرعتی بالاتر از Rust یکی از اصلی ترین گزینه‌های سال‌های آتی برای حوزه هوش مصنوعی و مهندسی داده خواهد بود.
https://www.bigdata.ir/1403/02/mojo-%d8%af%d8%b1-%d9%85%d9%82%d8%a7%d8%a8%d9%84-rust-%d8%a8%d8%b1%d9%86%d8%af%d9%87-%d9%82%d8%b7%d8%b9%d8%a7-mojo-%d8%ae%d9%88%d8%a7%d9%87%d8%af-%d8%a8%d9%88%d8%af/
👍2
2.jpg
119.9 KB
یکی از پروژه‌های بنیاد آپاچی که امروزه به تدریج در اخبار و مقالات حوزه داده در حال دیده‌شدن است، Apache XTable است. این پروژه تنها یک هدف دارد و آن هم امکان تبدیل سه فرمت رایج ساخت Lakehouse یعنی
- Deltalake
- Apache Iceberge
- Apache Hudi
است که در شکل الصاق‌شده هم به تصویر کشیده شده است . در این شکل تیم B از طریق XTable, داده‌های تیم A که به فرمت Hudi ذخیره شده است را به Iceberge تبدیل کرده و در کنار سایر داده‌های خود، آنها را با Dremio پردازش میکند.
پ.ن. امروزه به نظر می‌رسد که Apache Iceberge در حال جذب کاربران بیشتری است و اگر قصد طراحی یک Lakehouse را دارید، از ابتدا این فرمت را انتخاب کنید.
Lakehouse
چیست؟
ترکیب دریاچه داده (که داده‌ها را به صورت خام و معمولا به صورت Parquet و مانند آن نگهداری می‌کند) و انباره داده است که اجازه میدهد بتوانیم داده‌های خام را با ذخیره‌کردن متادیتا، به نوعی دیتابیس تبدیل کنیم که مستقیما قابل کوئری گرفتن و استفاده در ابزارهای تحلیلی و گزارش سازی باشد
مقاله اصلی : https://www.onehouse.ai/blog/dremio-lakehouse-analytics-with-hudi-and-iceberg-using-xtable
👍5
Forwarded from عکس نگار
آیا ترتیب ستون‌ها در کارآیی دیتابیس، موثر است ؟
اگر شما هم فکر می‌کنید که ترتیب ستون‌ها تاثیری در اجرای کوئری ها ندارد، مقاله زیر که به بررسی این موضوع در پستگرس پرداخت است را از دست ندهید .
https://demirhuseyinn-94.medium.com/the-surprising-power-of-humble-column-ordering-in-postgresql-ce7c7d587a27
خلاصه مقاله این است که فیلد‌های با طول متغیر و فیلدهای Nullable بهتر است به انتهای لیست منتقل شوند و فیلدهای مشابه کنار هم قرار گیرند.
CREATE TABLE user_order_default (
is_shipped BOOLEAN NOT NULL DEFAULT false,
user_id BIGINT NOT NULL,
order_total NUMERIC NOT NULL,
order_dt TIMESTAMPTZ NOT NULL,
order_type SMALLINT NOT NULL,
ship_dt TIMESTAMPTZ,
item_ct INT NOT NULL,
ship_cost NUMERIC,
receive_dt TIMESTAMPTZ,
tracking_cd TEXT,
id BIGSERIAL PRIMARY KEY NOT NULL
);

CREATE TABLE user_order_tweaked (
id BIGSERIAL PRIMARY KEY NOT NULL,
user_id BIGINT NOT NULL,
order_dt TIMESTAMPTZ NOT NULL,
ship_dt TIMESTAMPTZ,
receive_dt TIMESTAMPTZ,
item_ct INT NOT NULL,
order_type SMALLINT NOT NULL,
is_shipped BOOLEAN NOT NULL DEFAULT false,
order_total NUMERIC NOT NULL,
ship_cost NUMERIC,
tracking_cd TEXT
);

‍‍‍SELECT pg_relation_size('user_order_default') AS size_bytes,
pg_size_pretty(pg_relation_size('user_order_default')) AS size_pretty;

SELECT pg_relation_size('user_order_tweaked') AS size_bytes,
pg_size_pretty(pg_relation_size('user_order_tweaked')) AS size_pretty;



size_bytes | size_pretty
------------+-------------
141246464 | 135 MB
(1 row)

size_bytes | size_pretty
------------+-------------
117030912 | 112 MB

تفاوت اندازه دو تا جدول فوق که تنها ترتیب ستون‌های آنها متفاوت است را در پستگرس مشاهده میکنید (بخشی از مقاله فوق) که کاملا نشان میدهد فضای ذخیره سازی متاثر از ترتیب ستون‌هاست و سرعت پاسخگویی کوئری‌ها هم قطعا تحث تاثیر قرار خواهد گرفت.

#postgresql #column_ordering #postgresql_performance
👍6
Forwarded from عکس نگار
پستگرس که «در لطافت طبعش خلاف نیست»، به قول سعدی علیه الرحمه «در باغ لاله روید و در شوره زار خس». مفسرین بر این باورند که منظور شیخ این بوده است که این دیتابیس، گاهی اوقات بسیار عالی و خوب عمل می‌کند و برای بسیاری از کاربردهای امروزی که نیاز به کوئری‌های پیچیده روی حجم عظیم دیتای ورودی داریم، ما را با چالش‌های جدی مواجه می‌کند.
در وبینار زیر، به این پرسش اساسی پاسخ می‌دهیم که اگر با پستگرس در مواجهه با داده‌های زیاد به چالش برخوردیم،‌ چه کنیم و اصلا آیا پستگرس برای خیلی از نیازمندیهای امروز می‌تواند گزینه مناسبی باشد یا نه ؟ مروری بر راه‌حل‌های کلاسیک این مساله و راه‌حل‌هایی که در چند سال اخیر پیش روی ما قرار گرفته است می‌پردازیم.
دیتابیس‌هایی مبتنی بر پستگرس مانند ParadeDB، دیتابیس‌هایی با پروتکل پستگرس مانند CockroachDB و RisingWave‌ و افزونه‌هایی مانند Hydra را بررسی می کنیم.
اگر در حال استفاده از پستگرس هستید و نگرانی‌هایی راجع به آن در مواجهه با نیازمندیهای جدید دارید،‌ شاید این وبینار که به صورت عملی برگزار خواهد شد، برای شما مفید باشد.
https://anisa.co.ir/fa/news/2-uncategorised/298-workshop-23.html
#پستگرس #Postgres #PostgreSQL
👍7
Kubernetes for teenagers.pdf
5.7 MB
کوبرنتیز برای نوجوانان
1
Forwarded from عکس نگار
کوبرنتیز برای نوجوانان 👆👆
اگر تاکنون فرصت نکرده‌اید با کوبرنتیز کار کنید، این کتاب مختصر و مفید که به کمک شکل و کد و بدون توضیحات اضافه، شما را مستقیم وارد دنیای جذاب مدیریت
پاد‌ها و کانتینرها با کوبرنتیز میکند، می‌تواند نقطه شروع خوبی برای شما باشد.
#کوبرنتیز #kubernetes
3👍1
در دنیای امروز که با حجم عظیم داده‌ها و افزایش روزافزون سرعت تولید آن‌ها روبرو هستیم، نیازهای جستجو و تحلیل به‌موقع داده‌ها، ما را با چالش‌هایی مواجه می‌سازد که رفع آن‌ها مستلزم دانش عمیق در زمینه زیرساخت‌های پایگاه‌های داده است. تنها با بهره‌گیری از این دانش است که می‌توانیم نقاط ضعف را شناسایی کرده و راهکارهای مناسب را برای پیشبرد اهداف کسب و کار خود اتخاذ نماییم. بدون درک کافی از پشت صحنه مدیریت و پردازش داده‌های حجیم، غلبه بر موانع و دستیابی به عملکرد مطلوب، امری دشوار خواهد بود. کتاب Database Performance at Scale‌ میتواند این دید عمیق و مهندسی را به شما بدهد.
https://www.bigdata.ir/1403/02/%d9%85%d8%b9%d8%b1%d9%81-%da%a9%d8%aa%d8%a7%d8%a8-database-performance-at-scale/
👍41