async در پایتون

چطور یک پایپ‌لاین دیتای کند رو با Python Async درست کردم – راهنمای عملی

سلام به همه! چند هفته پیش دقیقاً همون چالشی که سد راه هر مهندس داده‌ای میشه، جلوم رو گرفت. پایپ‌لاینی داشتم که باید این کارها رو انجام می‌داد: حدود ۳۰۰۰ تا کتابخانه داشتم. اگر هر کتابخانه فقط ۱ ثانیه طول می‌کشید، کل فرآیند نزدیک ۲ روز طول می‌کشید! جالب اینجاست که CPU تقریباً ۹۹٪ وقتش…

whiplash movie: Fletcher looking Andrew

Whiplash — مرز باریک میان کمال‌گرایی و فروپاشی

(هشدار اسپویل: در این مطلب بخش‌هایی از فیلم Whiplash لو می‌رود) در مسیر رشد هر آدم بلندپرواز، لحظه‌ای وجود داره که شور و شوق یادگیری، کم‌کم جای خودش رو به وسواس برای کامل بودن میده. همون لحظه‌ای که “دوست دارم بهتر بشم” تبدیل می‌شه به “باید بهترین باشم.” و درست در همین نقطه، خطر شروع…

از چالش‌های مهندسی داده: Batch یا Stream?

از چالش‌های مهندسی داده: Batch یا Stream?

یه جایی تو مسیر هر data engineer‌ی هست که هیجان ساختن pipelineها یه‌دفعه با یه سؤال سخت و ساکت روبه‌رو می‌شه: این باید batch باشه یا real-time؟ ظاهراً سؤال فنیه، ولی در واقع یه سؤال فلسفیه. پشتش یه دغدغه‌ی عمیق‌تره:داریم چی رو بهینه می‌کنیم؟ تازگی، سادگی، یا پایداری؟چون نمی‌تونی هر سه رو با هم داشته…

الستیک‌سرچ بخش چهارم: کوئری‌های تحلیلی
|

الستیک‌سرچ بخش چهارم: کوئری‌های تحلیلی

تا اینجا یاد گرفتیم چطور داده‌هامون رو پیدا کنیم، با کوئری‌ها و فیلترها و مخصوصاً bool query آشنا شدیم.اما بعد از اینکه داده‌هامون رو پیدا کردیم چی؟ چطور ازشون تحلیل بگیریم و big picture رو ببینیم؟ اینجاست که قدرت واقعی Elasticsearch خودش رو نشون می‌ده: Aggregationها. اگه کوئری‌ها جواب این سوال رو می‌دن که «کدوم…

لوگو کوئریهای در الستیک سرچ بخش سوم
|

الستیک سرچ بخش سوم: کوئری‌های Bool، هایلایتینگ و صفحه‌بندی

اگه این سری مقاله‌ها رو دنبال کرده باشین، تا الان می‌دونین که: حالا وقتشه بریم سراغ یک بخش مهم و حیاتی: بول کوئری (Bool Query). چرا؟ چون هیچ مشکل جستجوی واقعی‌ای توی دنیای واقعی فقط با یه شرط حل نمی‌شه. کاربرها هم «ربط داشتن» (Relevance) رو می‌خوان و هم «محدودیت» (Restrictions): بول کوئری همون ابزاریه…

الستیک سرچ – بخش دوم: انواع کوئری‌های کاربردی
|

الستیک سرچ – بخش دوم: انواع کوئری‌های کاربردی

در بخش اول این سری درباره پایه‌های کوئری‌نویسی در Elasticsearch صحبت کردم: مدل ذهنی، چرا mapping بهترین دوست شماست و اینکه چه موقع باید از فیلتر استفاده کرد و چه موقع از match. حالا وقتشه وارد جزئیات بشیم و سراغ انواع کوئری‌های کاربردی بریم که توی پروژه‌های واقعی بیشترین استفاده رو دارند. اگر بخش اول…

الستیک سرچ – بخش اول: کوئری‌ها و فیلترها
|

الستیک سرچ – بخش اول: کوئری‌ها و فیلترها

وقتی برای اولین بار با الستیک‌سرچ (Elasticsearch) آشنا شدم، با خودم گفتم: «خب، اینم یه پایگاه داده‌ی دیگه… درسته؟» اما اشتباه می‌کردم. الستیک‌سرچ واقعاً فرق داره. یه جورایی حس ترکیبی از یک موتور جست‌وجو و یه پایگاه داده رو میده. راستش رو بخواین خودمم هنوز خیلی باهاش راحت نیستم 🙂 اما تو این پست که…

کتابخونه‌های موردعلاقه‌ من برای بررسی سریع داده

کتابخونه‌های موردعلاقه‌ من برای بررسی سریع داده

راستشو بخواین، وقتی یه دیتاست تازه میاد جلوی چشمم، دنبال تشریفات و کارای اضافه نیستم. دنبال وضوحم. اون یک ساعت اول، خیلی مهم‌تر از چیزیه که اکثر آدما فکر می‌کنن. باید خیلی سریع بفهمم زمین بازی چه شکلیه—کجا کثیف و به‌هم‌ریخته‌ست، کجا چیزای جالب داره، و اصلاً ارزش کندوکاو بیشتر داره یا نه. یه بار…

انجام پردازش دسته‌ای در apache airflow
|

پردازش دسته‌ای در Apache Airflow – تجربه‌ای در عصر کلان داده

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

چقدر حافظه GPU نیاز داریم؟

چقدر حافظه GPU نیاز داریم؟

هنگامی که با دنیای وسیع مدل‌های یادگیری ماشین، به‌ویژه مدل‌های زبانی بزرگ (LLM) مانند LLaMA، سروکار دارید، یکی از پرسش‌های اساسی که همواره مطرح می‌شود این است: چه مقدار حافظه گرافیکی (VRAM) برای کار من لازم است؟ درک دقیق این نیاز، نه تنها به شما در انتخاب سخت‌افزار مناسب کمک می‌کند، بلکه در بهینه‌سازی مدل،…