در مسیر مهندسی داده ها
Video
1764661583135.mp4 · 21.4 MB · click to show
1764661583135.mp4 · 21.4 MB · click to show
پردازش ۴۰ میلیارد رکورد در روز — معماری یک سیستم مقیاسپذیر!
خیلیها فکر میکنن پردازش دهها میلیارد رکورد در روز فقط از پس غولهای جهانی مثل Meta یا Netflix برمیاد — اما من یک معماری عملیاتی ساختم که روزانه بالغ بر ۴۰ میلیارد رکورد (معادل تقریبا ۵۰۰ هزار رکورد بر ثانیه) رو از Kafka مصرف و بهصورت بهینه در ClickHouse ذخیره میکنه.
چالش اصلی
بار نامتعادل روی کلاستر توزیعشده شلوغ با ۲۰ نود و ۵۲ پارتیشن و عدم تفکیک داده
نیاز به پردازش کمتأخیر
حفظ Consistency در حجم عظیم داده
راهحل معماری
مصرفکنندههای موازی با Unbounded Channel
پردازش کاملاً Stateless برای scale عمودی و افقی
دستهبندی و فشردهسازی در Batchهای ۱,۰۰۰,۰۰۰ رکوردی (قابل کانفیگ)
نوشتن مستقیم در ClickHouse با Insertهای ستونمحور
و Commit offset تنها بعد از نوشتن موفق
جدا کردن مسیر ingest از persist برای افزایش throughput
برای یادگیری بیشتر کانال را حتما فالو کن
✅ @DataEngineerIr
5 · 669 ·