چرا مایکروسافت برای Clarity, دیتابیس تحلیلی کلیکهوس را برگزید؟
این پست ترجمهای است از پست رسمی تیم ClickHouse درباره انتخاب این پایگاه داده قدرتمند توسط مایکروسافت.
پست اصلی :
https://www.linkedin.com/posts/clickhouseinc_when-microsoft-made-clarity-free-for-everyone-activity-7325580280390451200-fV_M
زمانی که مایکروسافت ابزار Clarity را بهصورت رایگان برای عموم عرضه کرد، میدانست که باید این سرویس را به سرعت و در مقیاسی عظیم گسترش دهد — پردازش صدها تریلیون رویداد، صدها پتابایت داده، و میلیونها پروژه در سطح جهانی.
برای چنین زیرساختی، انتخاب موتور تحلیلی بسیار مهم بود.
مایکروسافت پس از ارزیابی گزینههایی مانند Elasticsearch و Apache Spark، در نهایت با تحقیقاتی گسترده و تستهای متعدد، ClickHouse را برگزید.
چرا ClickHouse؟
در اکتبر ۲۰۲۰، Clarity با ClickHouse در قلب خود راهاندازی شد. این تصمیم حاصل هفتهها آزمایش، بررسیهای عمیق، سنجش هزینهها و عملکردها، و انتخابی مبتنی بر داده بود.
دلایل اصلی:
📥 عملکرد بارگذاری (Ingestion): موتور MergeTree در ClickHouse، نرخ ورودی بسیار بالایی را پشتیبانی میکند که کاملاً با نیاز بار عظیم Clarity همخوانی دارد.
⚡ عملکرد کوئری: پرسوجو روی میلیاردها ردیف در کسری از ثانیه، با کارایی فوقالعاده. این عملکرد سریع، نیاز به منابع پردازشی بیشتر را حذف و هزینهها را کاهش میدهد.
💾 بهرهوری در ذخیرهسازی: ساختار ستونی و فشردهسازی پیشرفته، موجب صرفهجویی چشمگیر در فضای دیسک میشود. امکان تعریف دیسکهای گرم و سرد نیز برای کاهش بیشتر هزینهها فراهم است.
📈 مقیاسپذیری افقی: ClickHouse بهصورت master-master توزیع شده و از replication پشتیبانی میکند. این یعنی مقیاسپذیری روان و آسان هنگام افزایش ترافیک.
🤝 جامعهی متنباز و فعال: انتشار منظم نسخهها، پاسخگویی سریع در GitHub و تلگرام، و پشتیبانی قدرتمند. جالبتر اینکه تیم مایکروسافت نیز به پروژه کمک کرده و نام خود را در جدول system.contributors ثبت کردهاند!
و در نهایت، همانطور که در گزارش رسمی مایکروسافت آمده است:
> Compared to our POC system, ClickHouse outperformed Elastic Search and Spark in every aspect. Heat map generation became an instantaneous task to do, and it was even orders of magnitude cheaper to run. This is the reason why many products have migrated from Elastic Search to ClickHouse, experiencing significant enhancements in their services as a result.
آدرس مقاله اصلی مایکروسافت :
https://clarity-blogs-hbh0gkgebxgwfkgd.westus2-01.azurewebsites.net/why-microsoft-clarity-chose-clickhouse/
#ClickHouse #Microsoft #Clarity #داده_های_انبوه #تحلیل_داده #پایگاه_داده #BigData #DataEngineering #ElasticSearch #Spark #CloudArchitecture #OpenSource #مقیاسپذیری #StorageOptimization #DatabasePerformance #DistributedSystems
این پست ترجمهای است از پست رسمی تیم ClickHouse درباره انتخاب این پایگاه داده قدرتمند توسط مایکروسافت.
پست اصلی :
https://www.linkedin.com/posts/clickhouseinc_when-microsoft-made-clarity-free-for-everyone-activity-7325580280390451200-fV_M
زمانی که مایکروسافت ابزار Clarity را بهصورت رایگان برای عموم عرضه کرد، میدانست که باید این سرویس را به سرعت و در مقیاسی عظیم گسترش دهد — پردازش صدها تریلیون رویداد، صدها پتابایت داده، و میلیونها پروژه در سطح جهانی.
برای چنین زیرساختی، انتخاب موتور تحلیلی بسیار مهم بود.
مایکروسافت پس از ارزیابی گزینههایی مانند Elasticsearch و Apache Spark، در نهایت با تحقیقاتی گسترده و تستهای متعدد، ClickHouse را برگزید.
چرا ClickHouse؟
در اکتبر ۲۰۲۰، Clarity با ClickHouse در قلب خود راهاندازی شد. این تصمیم حاصل هفتهها آزمایش، بررسیهای عمیق، سنجش هزینهها و عملکردها، و انتخابی مبتنی بر داده بود.
دلایل اصلی:
📥 عملکرد بارگذاری (Ingestion): موتور MergeTree در ClickHouse، نرخ ورودی بسیار بالایی را پشتیبانی میکند که کاملاً با نیاز بار عظیم Clarity همخوانی دارد.
⚡ عملکرد کوئری: پرسوجو روی میلیاردها ردیف در کسری از ثانیه، با کارایی فوقالعاده. این عملکرد سریع، نیاز به منابع پردازشی بیشتر را حذف و هزینهها را کاهش میدهد.
💾 بهرهوری در ذخیرهسازی: ساختار ستونی و فشردهسازی پیشرفته، موجب صرفهجویی چشمگیر در فضای دیسک میشود. امکان تعریف دیسکهای گرم و سرد نیز برای کاهش بیشتر هزینهها فراهم است.
📈 مقیاسپذیری افقی: ClickHouse بهصورت master-master توزیع شده و از replication پشتیبانی میکند. این یعنی مقیاسپذیری روان و آسان هنگام افزایش ترافیک.
🤝 جامعهی متنباز و فعال: انتشار منظم نسخهها، پاسخگویی سریع در GitHub و تلگرام، و پشتیبانی قدرتمند. جالبتر اینکه تیم مایکروسافت نیز به پروژه کمک کرده و نام خود را در جدول system.contributors ثبت کردهاند!
و در نهایت، همانطور که در گزارش رسمی مایکروسافت آمده است:
> Compared to our POC system, ClickHouse outperformed Elastic Search and Spark in every aspect. Heat map generation became an instantaneous task to do, and it was even orders of magnitude cheaper to run. This is the reason why many products have migrated from Elastic Search to ClickHouse, experiencing significant enhancements in their services as a result.
آدرس مقاله اصلی مایکروسافت :
https://clarity-blogs-hbh0gkgebxgwfkgd.westus2-01.azurewebsites.net/why-microsoft-clarity-chose-clickhouse/
#ClickHouse #Microsoft #Clarity #داده_های_انبوه #تحلیل_داده #پایگاه_داده #BigData #DataEngineering #ElasticSearch #Spark #CloudArchitecture #OpenSource #مقیاسپذیری #StorageOptimization #DatabasePerformance #DistributedSystems
Linkedin
When Microsoft made Clarity free for everyone, they knew it had to scale -… | ClickHouse
When Microsoft made Clarity free for everyone, they knew it had to scale - fast - to hundreds of trillions of events, hundreds of petabytes of data, and millions of projects.
Their choice to power these workloads? ClickHouse. After testing Elasticsearch…
Their choice to power these workloads? ClickHouse. After testing Elasticsearch…
معرفی یک پروژه متنباز آموزشی : پایپلاین بلادرنگ دادههای رمزارز
پروژهای ارزشمند و با اهداف آموزشی توسط آقای عارف فرزانه توسعه داده شده است؛ یک پایپلاین دادهای مقیاسپذیر و بلادرنگ برای دریافت، پردازش و تحلیل قیمت رمزارزها در زمان واقعی.
این پروژه با هدف آموزش و توسعه ابزارهای تحلیل بلادرنگ طراحی شده و بهصورت متنباز در اختیار علاقهمندان قرار گرفته است.
ویژگیهای فنی پروژه:
✅ استفاده از Quix Streams در پایتون برای پردازش جریان دادهها
✅ بهرهگیری از Redpanda (سازگار با Kafka) برای انتقال داده با کارایی بالا
✅ استفاده از Docker جهت کانتینرسازی و اجرای ماژولار
✅ محاسبه تحلیلهای بلادرنگ مانند میانگین متحرک
✅ دریافت زنده قیمت رمزارزها از API سرویس CoinLore
✅ معماری مقاوم در برابر خطا با قابلیت بازیابی خودکار
✅ طراحی ماژولار و آماده برای توسعههایی نظیر هشدارهای معاملاتی و داشبوردهای بصری
دسترسی به مخزن پروژه:
github.com/ArefFarzaneh/crypto_data_pipeline
این پروژه میتواند مرجع مناسبی برای علاقهمندان به شروع پردازش دادههای بلادرنگ، تحلیل بازار رمزارزها، و توسعه سیستمهای معاملاتی باشد.
پروژهای ارزشمند و با اهداف آموزشی توسط آقای عارف فرزانه توسعه داده شده است؛ یک پایپلاین دادهای مقیاسپذیر و بلادرنگ برای دریافت، پردازش و تحلیل قیمت رمزارزها در زمان واقعی.
این پروژه با هدف آموزش و توسعه ابزارهای تحلیل بلادرنگ طراحی شده و بهصورت متنباز در اختیار علاقهمندان قرار گرفته است.
ویژگیهای فنی پروژه:
✅ استفاده از Quix Streams در پایتون برای پردازش جریان دادهها
✅ بهرهگیری از Redpanda (سازگار با Kafka) برای انتقال داده با کارایی بالا
✅ استفاده از Docker جهت کانتینرسازی و اجرای ماژولار
✅ محاسبه تحلیلهای بلادرنگ مانند میانگین متحرک
✅ دریافت زنده قیمت رمزارزها از API سرویس CoinLore
✅ معماری مقاوم در برابر خطا با قابلیت بازیابی خودکار
✅ طراحی ماژولار و آماده برای توسعههایی نظیر هشدارهای معاملاتی و داشبوردهای بصری
دسترسی به مخزن پروژه:
github.com/ArefFarzaneh/crypto_data_pipeline
این پروژه میتواند مرجع مناسبی برای علاقهمندان به شروع پردازش دادههای بلادرنگ، تحلیل بازار رمزارزها، و توسعه سیستمهای معاملاتی باشد.
GitHub
GitHub - ArefFarzaneh/crypto_data_pipeline
Contribute to ArefFarzaneh/crypto_data_pipeline development by creating an account on GitHub.
فرمتهای ستونی نوین Lance: راهحلی برای دنیای متنباز هوش مصنوعی
در دنیای دادههای بزرگ ، یکی از گرایشهای پرطرفدار اخیر، ایجاد زیرساختهای ذخیره و پردازش داده به صورت متنباز و بدون وابستگی به دیتابیسهای خاص است. این رویکرد با ذخیره دادهها در قالب فایلهای خام مانند #Parquet و ساختاردهی به این فایلها با استفاده از تکنولوژیهایی مثل #ApacheIceberg ، به سرعت در حال گسترش است. مفهوم #LakeHouse و پشتیبانی دیتابیسهای تحلیلی از این ایده در محصولات تجاری 📊، نشان از پذیرش این روش دارد.
با این حال، باید توجه داشت که فرمت پارکت به طور ویژه برای دسترسی Full Scan طراحی شده است و از پیشرفتهای اخیر دیسکهای جدید بهطور کامل بهره نمیبرد. همچنین برای ورکلودهای هوش مصنوعی 🤖 که نیاز به دسترسی تصادفی دارند، این فرمت چندان بهینه نیست. بنابراین، اگر قصد گسترش این ایده در دنیای هوش مصنوعی را داریم، به نگاه و استانداردهای جدید نیازمندیم.
📄 در مقالهای که اخیراً تیم LanceDB منتشر کرده، فرمت جدیدی به نام Lance معرفی شده که بهطور خاص برای ورکلودهای هوش مصنوعی طراحی شده است. این فرمت در مقایسه با پارکت، عملکرد دسترسی تصادفی را تا ۶۰ برابر سریعتر 🚀 ارائه میدهد و بهویژه برای تحلیلهای پیچیده و ذخیرهسازی دادههای بزرگ، انتخاب مناسبی بهنظر میرسد. خلاصه مقاله را در ادامه با هم مرور میکنیم.
آدرس مقاله : https://arxiv.org/pdf/2504.15247 - آوریل ۲۰۲۵
قالب نوین Lance از LanceDb
فرمت Lance که توسط LanceDB معرفی شده، برای حل مشکلات فرمتهای سنتی مانند Parquet طراحی شده است. ویژگیهای برجسته این فرمت عبارتند از:
✅ ساختار انکودینگ متفاوت: Lance با دو نوع انکودینگ، دسترسی تصادفی را سریعتر ⚡️ و اسکن کامل را بهینهتر 📊 میکند.
این انکودینگها شامل:
🛠 انکودینگ مبتنی بر عرض داده برای دسترسی تصادفی سریعتر 🔍
🛠 انکودینگ ساختاری برای دادههای پیچیده مانند لیستها و بردارها 📚
🛠 بهینهسازی برای NVMe: لنس از پهنای باند NVMe بهطور بهینه استفاده میکند و عملکردی تا ۶۰ برابر بهتر از Parquet در دسترسی تصادفی دارد ⚡️.
✅ تعادل بین دسترسی تصادفی و اسکن کامل: برخلاف Parquet که برای اسکن کامل بهینه شده، Lance تعادلی را برای دسترسی سریع به دادههای خاص و همچنین اسکن کل ستون فراهم میکند .
✅ پشتیبانی از ورکلودهای هوش مصنوعی: Lance بهویژه برای جستجوهای تماممتن 📑، جستجوهای برداری 📍 و آموزش مدلهای یادگیری ماشین بهینهسازی شده است 🤖.
نتایج کلیدی:
✅ عملکرد دسترسی تصادفی: تا ۶۰ برابر سریعتر از Parquet ⚡️.
✅ مصرف RAM: بهطور چشمگیری کاهش یافته که برای دیتاستهای بزرگ 🏋️♂️ مهم است.
✅ مقایسه با NVMe: عملکرد بهینه با استفاده از سختافزار مدرن 💻.
جمعبندی:
فرمت Lance یک راهحل قدرتمند برای ورکلودهای مدرن در حوزه ایجاد ساختارهای ذخیره و بازیابی دادهها با فرمت باز و بدون وابستگی به ابزارها و دیتابیسها، بهویژه در حوزه هوش مصنوعی است 🤖. با بهینهسازی برای دسترسی تصادفی و پشتیبانی از دادههای پیچیده 🔗، Lance میتواند جایگزینی عالی برای Parquet در این حوزه باشد، بهخصوص در کاربردهایی که سرعت و کارایی اهمیت دارند 🚀.
ایده این نوشتار از این پست لینکدین گرفته شده است : https://www.linkedin.com/posts/dipankar-mazumdar_lakehouse-dataengineering-softwareengineering-activity-7326626194622197761-hrHy/
در دنیای دادههای بزرگ ، یکی از گرایشهای پرطرفدار اخیر، ایجاد زیرساختهای ذخیره و پردازش داده به صورت متنباز و بدون وابستگی به دیتابیسهای خاص است. این رویکرد با ذخیره دادهها در قالب فایلهای خام مانند #Parquet و ساختاردهی به این فایلها با استفاده از تکنولوژیهایی مثل #ApacheIceberg ، به سرعت در حال گسترش است. مفهوم #LakeHouse و پشتیبانی دیتابیسهای تحلیلی از این ایده در محصولات تجاری 📊، نشان از پذیرش این روش دارد.
با این حال، باید توجه داشت که فرمت پارکت به طور ویژه برای دسترسی Full Scan طراحی شده است و از پیشرفتهای اخیر دیسکهای جدید بهطور کامل بهره نمیبرد. همچنین برای ورکلودهای هوش مصنوعی 🤖 که نیاز به دسترسی تصادفی دارند، این فرمت چندان بهینه نیست. بنابراین، اگر قصد گسترش این ایده در دنیای هوش مصنوعی را داریم، به نگاه و استانداردهای جدید نیازمندیم.
📄 در مقالهای که اخیراً تیم LanceDB منتشر کرده، فرمت جدیدی به نام Lance معرفی شده که بهطور خاص برای ورکلودهای هوش مصنوعی طراحی شده است. این فرمت در مقایسه با پارکت، عملکرد دسترسی تصادفی را تا ۶۰ برابر سریعتر 🚀 ارائه میدهد و بهویژه برای تحلیلهای پیچیده و ذخیرهسازی دادههای بزرگ، انتخاب مناسبی بهنظر میرسد. خلاصه مقاله را در ادامه با هم مرور میکنیم.
آدرس مقاله : https://arxiv.org/pdf/2504.15247 - آوریل ۲۰۲۵
قالب نوین Lance از LanceDb
فرمت Lance که توسط LanceDB معرفی شده، برای حل مشکلات فرمتهای سنتی مانند Parquet طراحی شده است. ویژگیهای برجسته این فرمت عبارتند از:
✅ ساختار انکودینگ متفاوت: Lance با دو نوع انکودینگ، دسترسی تصادفی را سریعتر ⚡️ و اسکن کامل را بهینهتر 📊 میکند.
این انکودینگها شامل:
🛠 انکودینگ مبتنی بر عرض داده برای دسترسی تصادفی سریعتر 🔍
🛠 انکودینگ ساختاری برای دادههای پیچیده مانند لیستها و بردارها 📚
🛠 بهینهسازی برای NVMe: لنس از پهنای باند NVMe بهطور بهینه استفاده میکند و عملکردی تا ۶۰ برابر بهتر از Parquet در دسترسی تصادفی دارد ⚡️.
✅ تعادل بین دسترسی تصادفی و اسکن کامل: برخلاف Parquet که برای اسکن کامل بهینه شده، Lance تعادلی را برای دسترسی سریع به دادههای خاص و همچنین اسکن کل ستون فراهم میکند .
✅ پشتیبانی از ورکلودهای هوش مصنوعی: Lance بهویژه برای جستجوهای تماممتن 📑، جستجوهای برداری 📍 و آموزش مدلهای یادگیری ماشین بهینهسازی شده است 🤖.
نتایج کلیدی:
✅ عملکرد دسترسی تصادفی: تا ۶۰ برابر سریعتر از Parquet ⚡️.
✅ مصرف RAM: بهطور چشمگیری کاهش یافته که برای دیتاستهای بزرگ 🏋️♂️ مهم است.
✅ مقایسه با NVMe: عملکرد بهینه با استفاده از سختافزار مدرن 💻.
جمعبندی:
فرمت Lance یک راهحل قدرتمند برای ورکلودهای مدرن در حوزه ایجاد ساختارهای ذخیره و بازیابی دادهها با فرمت باز و بدون وابستگی به ابزارها و دیتابیسها، بهویژه در حوزه هوش مصنوعی است 🤖. با بهینهسازی برای دسترسی تصادفی و پشتیبانی از دادههای پیچیده 🔗، Lance میتواند جایگزینی عالی برای Parquet در این حوزه باشد، بهخصوص در کاربردهایی که سرعت و کارایی اهمیت دارند 🚀.
ایده این نوشتار از این پست لینکدین گرفته شده است : https://www.linkedin.com/posts/dipankar-mazumdar_lakehouse-dataengineering-softwareengineering-activity-7326626194622197761-hrHy/
با توجه به رواج و محبوبیت کافکا در میان اکثر سیستمهای اطلاعاتی نوین و ضرورت آشنایی عمیقتر با این سامانه توزیع پیام قدرتمند، تصمیم به ترجمه مقاله If you’re learning Kafka, this article is for you گرفتیم و تمامی عکس ها هم از این مقاله برگرفته شده است.
آدرس مقاله :
https://vutr.substack.com/p/if-youre-learning-kafka-this-article
ترجمه آن در وب سایت مهندسی داده :
https://www.bigdata.ir/1404/02/%d9%86%da%af%d8%a7%d9%87%db%8c-%d8%a7%d8%b2-%d9%86%d8%b2%d8%af%db%8c%da%a9-%d8%a8%d9%87-%da%a9%d8%a7%d9%81%da%a9%d8%a7/
آدرس مقاله :
https://vutr.substack.com/p/if-youre-learning-kafka-this-article
ترجمه آن در وب سایت مهندسی داده :
https://www.bigdata.ir/1404/02/%d9%86%da%af%d8%a7%d9%87%db%8c-%d8%a7%d8%b2-%d9%86%d8%b2%d8%af%db%8c%da%a9-%d8%a8%d9%87-%da%a9%d8%a7%d9%81%da%a9%d8%a7/
مهندسی داده
با توجه به رواج و محبوبیت کافکا در میان اکثر سیستمهای اطلاعاتی نوین و ضرورت آشنایی عمیقتر با این سامانه توزیع پیام قدرتمند، تصمیم به ترجمه مقاله If you’re learning Kafka, this article is for you گرفتیم و تمامی عکس ها هم از این مقاله برگرفته شده است. آدرس…
Kafka Deep Dive.pdf
3.6 MB
خلاصه مقاله فوق با تمامی شکل های استفاده شده در مقاله که مفاهیم اصلی کافکا و نحوه کارکرد داخلی آنرا توضیح میدهد.
پروژه آموزشی : ساخت یک سامانه پردازش جریان به کمک ردپاندا، کلیکهوس و سوپرست
اخیرا پستی از یکی از دوستان در لینکدین مشاهده کردم که وظیفه خود دانستم آنرا برای علاقه مندان به انجام پروژه های عملی و کاربردی در دنیای مهندسی داده به اشتراک بگذارم.
آدرس پست اصلی : https://lnkd.in/d6i7Eiti
این پست گزارش یک پروژه انجام شده توسط سایه حجازی Saieh Hejazi است. در چند سال گذشته، سایه با پشتکار و علاقهای ستودنی، مسیر حرفهای خود را از حوزهی هوش تجاری (BI) بهسمت مهندسی داده گسترش داده است. من در طول این مسیر شاهد یادگیریهای عمیق، پیگیریهای فنی، و تلاشهای مستمر او بودهام.
بهتازگی، سایه یکی از پروژههای مهم و واقعی خود را منتشر کرده که واقعاً برای بسیاری از علاقهمندان به یادگیری پایپلاینهای دادهای real-time، الهامبخش است:
🎯 Build a Real-Time Data Pipeline with Redpanda, ClickHouse, and Superset
پروژهای کامل، کاربردی، و مبتنی بر ابزارهای مدرن و سریع.
🔧 فلوی اصلی پروژه به این صورت است:
📁 منبع دادهها بهشکل فایلهایی (مثلاً CSV یا JSON) است که در یک فولدر مشخص قرار میگیرند و از طریق FTP Server قابل دسترسی هستند.
🛠 ابزار Redpanda Connect که یک کتابخانه قدرتمند ingestion بدون کدنویسی است، بهصورت مداوم این پوشه را مانیتور میکند. بهمحض ورود فایل جدید، آن را میخواند و محتوای آن را بهصورت یک پیام (event) وارد Redpanda میکند.
🧠 اینجا، #Redis وارد عمل میشود: با استفاده از Redis، برای هر فایل ورودی یا رکورد، یک مکانیسم #deduplication پیادهسازی شده تا از ورود چندبارهی دادهها جلوگیری شود. این کار ریسک رکوردهای تکراری را از بین میبرد و کیفیت داده را در مرحلهی ingestion تضمین میکند. این کار البته توسط خود ردپاندا کانکت انجام می شود اما تنظیمات لازم برای این منظور باید انجام شود.
🚀 دادههایی که وارد Redpanda شدهاند، بهکمک Kafka engine در ClickHouse بهصورت real-time مصرف میشوند و مستقیماً وارد یک جدول تحلیلی میگردند.
📊 در نهایت، Apache Superset به این جدول در ClickHouse# متصل است و بهصورت بلادرنگ (real-time) داشبوردهایی از این دادهها ایجاد کرده که تحلیل سریع و قابل مشاهده برای کاربر نهایی را ممکن میسازد.
🧰 ابزارهای کلیدی مورد استفاده در این پروژه عبارتند از:
👉 #Redpanda: موتور سریع و سبک استریم داده (جایگزین Kafka)
👉 Redpanda Connect (Benthos سابق): ابزار ingestion بدون کدنویسی برای ارسال/دریافت داده با حجم بالا
👉 #Redis: برای deduplication و جلوگیری از ingest دوباره رکوردها
👉 #ClickHouse: پایگاهداده ستونی برای ذخیره و تحلیل سریع دادهها
👉 Superset: داشبورد تحلیلی متنباز برای نمایش دادههای real-time
📌 تمامی کدها، کانفیگها و مستندات راهاندازی در این ریپوی گیتهاب در دسترس هستند:
https://github.com/saiehhejazi/Project_2
برای سایه عزیز آرزوی موفقیت در آغاز یک دوره نوین تخصصی در دنیای مهندسی داده دارم. مطمئنم این پروژه تنها نقطهی شروع برای دستاوردهای بزرگتر و تأثیرگذارتر در آیندهی حرفهای او خواهد بود. 🌟
پ.ن:
سایر دوستان هم اگر پروژه هایی مشابه با این را انجام داده اند که بار آموزشی برای علاقه مندان به مهندسی داده دارد، ممنون میشوم آنرا برای ادمین کانال ارسال کنید تا با سایر علاقه مندان به این حوزه هم به اشتراک گذاشته شود.
اخیرا پستی از یکی از دوستان در لینکدین مشاهده کردم که وظیفه خود دانستم آنرا برای علاقه مندان به انجام پروژه های عملی و کاربردی در دنیای مهندسی داده به اشتراک بگذارم.
آدرس پست اصلی : https://lnkd.in/d6i7Eiti
این پست گزارش یک پروژه انجام شده توسط سایه حجازی Saieh Hejazi است. در چند سال گذشته، سایه با پشتکار و علاقهای ستودنی، مسیر حرفهای خود را از حوزهی هوش تجاری (BI) بهسمت مهندسی داده گسترش داده است. من در طول این مسیر شاهد یادگیریهای عمیق، پیگیریهای فنی، و تلاشهای مستمر او بودهام.
بهتازگی، سایه یکی از پروژههای مهم و واقعی خود را منتشر کرده که واقعاً برای بسیاری از علاقهمندان به یادگیری پایپلاینهای دادهای real-time، الهامبخش است:
🎯 Build a Real-Time Data Pipeline with Redpanda, ClickHouse, and Superset
پروژهای کامل، کاربردی، و مبتنی بر ابزارهای مدرن و سریع.
🔧 فلوی اصلی پروژه به این صورت است:
📁 منبع دادهها بهشکل فایلهایی (مثلاً CSV یا JSON) است که در یک فولدر مشخص قرار میگیرند و از طریق FTP Server قابل دسترسی هستند.
🛠 ابزار Redpanda Connect که یک کتابخانه قدرتمند ingestion بدون کدنویسی است، بهصورت مداوم این پوشه را مانیتور میکند. بهمحض ورود فایل جدید، آن را میخواند و محتوای آن را بهصورت یک پیام (event) وارد Redpanda میکند.
🧠 اینجا، #Redis وارد عمل میشود: با استفاده از Redis، برای هر فایل ورودی یا رکورد، یک مکانیسم #deduplication پیادهسازی شده تا از ورود چندبارهی دادهها جلوگیری شود. این کار ریسک رکوردهای تکراری را از بین میبرد و کیفیت داده را در مرحلهی ingestion تضمین میکند. این کار البته توسط خود ردپاندا کانکت انجام می شود اما تنظیمات لازم برای این منظور باید انجام شود.
🚀 دادههایی که وارد Redpanda شدهاند، بهکمک Kafka engine در ClickHouse بهصورت real-time مصرف میشوند و مستقیماً وارد یک جدول تحلیلی میگردند.
📊 در نهایت، Apache Superset به این جدول در ClickHouse# متصل است و بهصورت بلادرنگ (real-time) داشبوردهایی از این دادهها ایجاد کرده که تحلیل سریع و قابل مشاهده برای کاربر نهایی را ممکن میسازد.
🧰 ابزارهای کلیدی مورد استفاده در این پروژه عبارتند از:
👉 #Redpanda: موتور سریع و سبک استریم داده (جایگزین Kafka)
👉 Redpanda Connect (Benthos سابق): ابزار ingestion بدون کدنویسی برای ارسال/دریافت داده با حجم بالا
👉 #Redis: برای deduplication و جلوگیری از ingest دوباره رکوردها
👉 #ClickHouse: پایگاهداده ستونی برای ذخیره و تحلیل سریع دادهها
👉 Superset: داشبورد تحلیلی متنباز برای نمایش دادههای real-time
📌 تمامی کدها، کانفیگها و مستندات راهاندازی در این ریپوی گیتهاب در دسترس هستند:
https://github.com/saiehhejazi/Project_2
برای سایه عزیز آرزوی موفقیت در آغاز یک دوره نوین تخصصی در دنیای مهندسی داده دارم. مطمئنم این پروژه تنها نقطهی شروع برای دستاوردهای بزرگتر و تأثیرگذارتر در آیندهی حرفهای او خواهد بود. 🌟
پ.ن:
سایر دوستان هم اگر پروژه هایی مشابه با این را انجام داده اند که بار آموزشی برای علاقه مندان به مهندسی داده دارد، ممنون میشوم آنرا برای ادمین کانال ارسال کنید تا با سایر علاقه مندان به این حوزه هم به اشتراک گذاشته شود.
وقت آن رسیده که از JSON استاندارد یک گام جلوتر برویم!
اگر تاکنون هنگام نوشتن فایلهای پیکربندی، با محدودیتهایی مثل ممنوعیت کامنت، اجبار به دابلکوتیشن یا خطاهای ناشی از کاماهای انتهایی مواجه شدهاید، شاید زمان آن رسیده باشد که با JSON5 آشنا شوید — نسخهای توسعهیافته و انسانمحور از JSON که برای خوانایی و راحتی توسعهدهنده طراحی شده است.
🛠 جیسان ۵ - JSON5 چه چیزهایی را ممکن میکند؟
✅ پشتیبانی از کامنتها
✅ کلیدهای بدون کوتیشن
✅ رشتههای تکی (Single-quoted strings)
✅ کاماهای پایانی مجاز (Trailing commas)
✅ پشتیبانی از رشتههای چندخطی
✅ عددهای هگزادسیمال (Hex)
✅ مقادیر ویژه مثل NaN, Infinity, -Infinity, و +Infinity
✅ عدد با علامت مثبت (مثل +42)
✅ فضای بیشتر برای نوشتن تنظیمات قابلفهم برای انسانها
🎯 مناسب برای: فایلهای تنظیمات پروژه، محیطهای توسعه، ابزارهای داخلی، و هرجا که خوانایی و سادگی اولویت دارد.
🚫 نهچندان مناسب برای: تبادل داده با APIها یا ارتباط میانسیستمی — جایی که JSON استاندارد با پشتیبانی وسیع، انتخاب امنتری است.
👨💻 مقاله پیشنهادی برای مطالعه:
“JSON vs. JSON5: More flexible and human-readable configuration files”
✍🏻 نوشتهی Tihomir Manushev
📎 https://freedium.cfd/https://medium.com/@tihomir.manushev/json-vs-json5-7753f5060c90
#JSON #JSON5 #ConfigFiles #DeveloperExperience #DX #SoftwareEngineering #WebDev #CleanCode
اگر تاکنون هنگام نوشتن فایلهای پیکربندی، با محدودیتهایی مثل ممنوعیت کامنت، اجبار به دابلکوتیشن یا خطاهای ناشی از کاماهای انتهایی مواجه شدهاید، شاید زمان آن رسیده باشد که با JSON5 آشنا شوید — نسخهای توسعهیافته و انسانمحور از JSON که برای خوانایی و راحتی توسعهدهنده طراحی شده است.
🛠 جیسان ۵ - JSON5 چه چیزهایی را ممکن میکند؟
✅ پشتیبانی از کامنتها
✅ کلیدهای بدون کوتیشن
✅ رشتههای تکی (Single-quoted strings)
✅ کاماهای پایانی مجاز (Trailing commas)
✅ پشتیبانی از رشتههای چندخطی
✅ عددهای هگزادسیمال (Hex)
✅ مقادیر ویژه مثل NaN, Infinity, -Infinity, و +Infinity
✅ عدد با علامت مثبت (مثل +42)
✅ فضای بیشتر برای نوشتن تنظیمات قابلفهم برای انسانها
🎯 مناسب برای: فایلهای تنظیمات پروژه، محیطهای توسعه، ابزارهای داخلی، و هرجا که خوانایی و سادگی اولویت دارد.
🚫 نهچندان مناسب برای: تبادل داده با APIها یا ارتباط میانسیستمی — جایی که JSON استاندارد با پشتیبانی وسیع، انتخاب امنتری است.
👨💻 مقاله پیشنهادی برای مطالعه:
“JSON vs. JSON5: More flexible and human-readable configuration files”
✍🏻 نوشتهی Tihomir Manushev
📎 https://freedium.cfd/https://medium.com/@tihomir.manushev/json-vs-json5-7753f5060c90
#JSON #JSON5 #ConfigFiles #DeveloperExperience #DX #SoftwareEngineering #WebDev #CleanCode