مهندسی داده
Apache Doris vs ClickHouse.pdf
آپاچی دوریس و سرعت بالا در سناریوهای مبتنی بر JOIN
- توضیحی راجع به pdf بالا ـ
اخیراً گزارشی از سمت VeloDB (Powered by Apache Doris) منتشر شد که در آن، عملکرد Apache Doris و ClickHouse در سناریوهای سنگین مبتنی بر JOIN و کوئریهای تحلیلی پیچیده با هم مقایسه شدهاند.
در همین زمینه، تجربه اخیر اسنپفود با StarRocks (که رضا دهقانی در پست زیر به آن اشاره کرده بود) هم نشان میدهد که انتخاب دیتابیس تحلیلی تصمیمی وابسته به نیازها و شرایط سازمان است و یک پاسخ واحد برای همه سناریوها وجود ندارد.
https://lnkd.in/dvc76Dxa
خلاصه عملکرد (Benchmark Results)
در تستها مشخص شد که در سناریوی CoffeeBench (که به شدت بر JOIN متکی است)، Doris حدود ۴ برابر سریعتر از ClickHouse عمل کرده است. در مجموعه تستهای TPC-H که بار تحلیلی پیچیدهتری دارند، سرعت Doris تا ۳۰ برابر بیشتر گزارش شد. و در نهایت در سناریوهای سنگینتر TPC-DS، Doris تا ۴۰ برابر سریعتر از ClickHouse نتیجه گرفت.
⚙️ مشخصات تست (Test Config):
- 2 × AWS m6i.8xlarge (هرکدام 32 vCPU و 128GiB RAM)
- Apache Doris v3.0.7 در برابر ClickHouse v25.8
- On-premises
📌 لازم به ذکر است که CoffeeBench در ابتدا توسط Josue “Josh” Bogran برای مقایسه Databricks و Snowflake طراحی شده بود، اما به دلیل ماهیت JOIN-heavy خود، اکنون به یکی از معیارهای پرکاربرد برای سنجش دیتابیسهای تحلیلی تبدیل شده است.
#doris #starrocks #clickhouse
- توضیحی راجع به pdf بالا ـ
اخیراً گزارشی از سمت VeloDB (Powered by Apache Doris) منتشر شد که در آن، عملکرد Apache Doris و ClickHouse در سناریوهای سنگین مبتنی بر JOIN و کوئریهای تحلیلی پیچیده با هم مقایسه شدهاند.
من این گزارش را اینجا بازنشر میکنم تا برای دوستانی که به دنبال یک راهکار تحلیلی سریع و مشابه دنیای دیتابیسهای رابطهای هستند، مفید باشد. بهویژه برای کسانی که نیاز به تضمین یکتایی کلید اصلی و اجرای JOINهای متعدد دارند، اما امکان ایجاد جداول denormalized در ClickHouse برایشان مقدور نیست.
در همین زمینه، تجربه اخیر اسنپفود با StarRocks (که رضا دهقانی در پست زیر به آن اشاره کرده بود) هم نشان میدهد که انتخاب دیتابیس تحلیلی تصمیمی وابسته به نیازها و شرایط سازمان است و یک پاسخ واحد برای همه سناریوها وجود ندارد.
https://lnkd.in/dvc76Dxa
خلاصه عملکرد (Benchmark Results)
در تستها مشخص شد که در سناریوی CoffeeBench (که به شدت بر JOIN متکی است)، Doris حدود ۴ برابر سریعتر از ClickHouse عمل کرده است. در مجموعه تستهای TPC-H که بار تحلیلی پیچیدهتری دارند، سرعت Doris تا ۳۰ برابر بیشتر گزارش شد. و در نهایت در سناریوهای سنگینتر TPC-DS، Doris تا ۴۰ برابر سریعتر از ClickHouse نتیجه گرفت.
⚙️ مشخصات تست (Test Config):
- 2 × AWS m6i.8xlarge (هرکدام 32 vCPU و 128GiB RAM)
- Apache Doris v3.0.7 در برابر ClickHouse v25.8
- On-premises
📌 لازم به ذکر است که CoffeeBench در ابتدا توسط Josue “Josh” Bogran برای مقایسه Databricks و Snowflake طراحی شده بود، اما به دلیل ماهیت JOIN-heavy خود، اکنون به یکی از معیارهای پرکاربرد برای سنجش دیتابیسهای تحلیلی تبدیل شده است.
#doris #starrocks #clickhouse
Linkedin
#dataengineering #starrocks #lakehouse #warehouse #استارراکس | Reza Dehghani
تو جریان پروژه های کاری دنبال راهحلی بودیم که بتونیم دادههامون رو همزمان سریع و از منابع مختلف تحلیل کنیم. بعد از مقایسه ابزارهای مختلف، در نهایت StarRocks رو انتخاب کردم و تجربه متفاوت و جالبی بود.
استارراکس خودش رو یه دیتاورهوس نسل جدید معرفی میکنه…
استارراکس خودش رو یه دیتاورهوس نسل جدید معرفی میکنه…
👍2🙏1
چرا Intuit بهجای ClickHouse، سراغ StarRocks رفت؟
اخیراً تیم IPS در شرکت Intuit (سازنده QuickBooks، TurboTax، CreditKarma و دهها سرویس مالی دیگر) تجربه بسیار جالبی منتشر کردهاند.
https://celerdata-com.cdn.ampproject.org/c/s/celerdata.com/blog/how-intuit-achieved-sub-4-second-real-time-analytics-at-100k-events-per-second?hs_amp=true
آنها سالانه ۱۴۰ میلیارد تراکنش پردازش میکنند و در پیک کاری به ۱۰۰,۰۰۰ رویداد در ثانیه میرسند.
💡 نیاز اصلیشان: تاخیر سرتاسری کمتر از ۴ ثانیه برای تغذیه مدلهای ML و تحلیل رفتار لحظهای کاربران.
در این سطح از Scale و Real-Time، معماری قبلی آنها (Apache Druid) دیگر جوابگو نبود. Intuit چند گزینه را بررسی کرد: ClickHouse، Pinot، DuckDB … اما در نهایت StarRocks را انتخاب کرد.
دلایل انتخاب آنها برای ما - بهخصوص شرکتهای ایرانی - کاملاً کاربردی و قابل تعمیم است.
🔥 چرا #StarRocks انتخاب شد؟
1) پشتیبانی Native از Upsert و جداول منطبق بر منطق Primary Key
در معماریهای Real-Time، داشتن State برای هر کاربر، تراکنش یا session ضروری است.
در کلیکهوس، upsert واقعی وجود ندارد و نیاز به workaroundهایی مثل ReplacingMergeTree یا CollapsingMergeTree است. StarRocks این مشکل را بهصورت بومی حل کرده.
2) پرفورمنس بسیار قوی روی Multi-Table Join
در سناریوهایی مثل:
✔️ترکیب دادههای کلیکاستریم با پروفایل کاربر
✔️عملیات Join بین چند دامنه مختلف (مثلاً محصولات مالی Intuit)
✔️ساخت Featureهای پیچیده ML
کلیکهوس به دلیل طراحی column-oriented pure و join planner محدود، در joins سنگین، عقب میماند.
✅ در همین بخش، #StarRocks مزیت قطعی دارد.
3) تاخیر بسیار کم در Query (زیر ۵۰۰ms در TP99)
برای مدلهای ML که روی آخرین ۳۰ کلیک کاربر تصمیمگیری میکنند، هر میلیثانیه اهمیت دارد.
دستاورد StarRocks در تست Intuit:
✔️درج صدهزار رکورد در ثانیه
✔️ ۰.۵ ثانیه latency در ۹۹٪ کوئریها
✔️ تازگی دادهها : زیر ۱ ثانیه
این سطح از پرفورمنس با ClickHouse سختتر و پرهزینهتر است.
4) معماری Shared-Data مشابه Lakehouse با تکیه بر S3
استارراکز میتواند:
✔️ جدا کردن Compute از Storage
✔️داشتن چند warehouse مجزا
✔️ قابلیت resource group برای multi-tenancy واقعی
کلیک هوس در نسخه Cloud این مسیر را آغاز کرده، اما اکوسیستم cloud-native StarRocks پختهتر است.
5) سادگی عملیاتی (Operational Simplicity)
کلیکهوس ابزارهای عملیاتی خوب دارد، اما scale-out پیشرفته نیازمند:
✔️ عملیات sharding دستی
✔️معماری پیچیده ReplicatedMergeTree
✔️ابزارهای جانبی custom
استارراکز اینها را تقریباً بهصورت plug-and-play ارائه میکند.
⭐️ جمعبندی
تجربه Intuit نشان میدهد:
اگر real-time واقعی، joins سنگین، upsert و latency زیر ۲–۳ ثانیه نیاز دارید، StarRocks انتخاب بسیار مناسبتری خواهد بود.
اگر batch analytics با مقیاس بسیار بزرگ دارید، ClickHouse همچنان پادشاه است.
امروزه حجم عظیم داده در بسیاری از شرکتها و سازمانهای ایرانی، ضرورت استفاده از دیتابیسهای تحلیلی مدرن را بیش از هر زمان دیگری آشکار کرده است. مجموعههایی که میخواهند تحلیلهای Real-Time، گزارشهای سریع، داشبوردهای منعطف و زیرساخت داده قابلاتکا داشته باشند، ناچارند بین نسل جدید OLAPها، مثل #ClickHouse، #StarRocks یا Apache #Doris انتخاب کنند.
اخیراً تیم IPS در شرکت Intuit (سازنده QuickBooks، TurboTax، CreditKarma و دهها سرویس مالی دیگر) تجربه بسیار جالبی منتشر کردهاند.
https://celerdata-com.cdn.ampproject.org/c/s/celerdata.com/blog/how-intuit-achieved-sub-4-second-real-time-analytics-at-100k-events-per-second?hs_amp=true
آنها سالانه ۱۴۰ میلیارد تراکنش پردازش میکنند و در پیک کاری به ۱۰۰,۰۰۰ رویداد در ثانیه میرسند.
💡 نیاز اصلیشان: تاخیر سرتاسری کمتر از ۴ ثانیه برای تغذیه مدلهای ML و تحلیل رفتار لحظهای کاربران.
در این سطح از Scale و Real-Time، معماری قبلی آنها (Apache Druid) دیگر جوابگو نبود. Intuit چند گزینه را بررسی کرد: ClickHouse، Pinot، DuckDB … اما در نهایت StarRocks را انتخاب کرد.
دلایل انتخاب آنها برای ما - بهخصوص شرکتهای ایرانی - کاملاً کاربردی و قابل تعمیم است.
🔥 چرا #StarRocks انتخاب شد؟
1) پشتیبانی Native از Upsert و جداول منطبق بر منطق Primary Key
در معماریهای Real-Time، داشتن State برای هر کاربر، تراکنش یا session ضروری است.
در کلیکهوس، upsert واقعی وجود ندارد و نیاز به workaroundهایی مثل ReplacingMergeTree یا CollapsingMergeTree است. StarRocks این مشکل را بهصورت بومی حل کرده.
2) پرفورمنس بسیار قوی روی Multi-Table Join
در سناریوهایی مثل:
✔️ترکیب دادههای کلیکاستریم با پروفایل کاربر
✔️عملیات Join بین چند دامنه مختلف (مثلاً محصولات مالی Intuit)
✔️ساخت Featureهای پیچیده ML
کلیکهوس به دلیل طراحی column-oriented pure و join planner محدود، در joins سنگین، عقب میماند.
✅ در همین بخش، #StarRocks مزیت قطعی دارد.
3) تاخیر بسیار کم در Query (زیر ۵۰۰ms در TP99)
برای مدلهای ML که روی آخرین ۳۰ کلیک کاربر تصمیمگیری میکنند، هر میلیثانیه اهمیت دارد.
دستاورد StarRocks در تست Intuit:
✔️درج صدهزار رکورد در ثانیه
✔️ ۰.۵ ثانیه latency در ۹۹٪ کوئریها
✔️ تازگی دادهها : زیر ۱ ثانیه
این سطح از پرفورمنس با ClickHouse سختتر و پرهزینهتر است.
4) معماری Shared-Data مشابه Lakehouse با تکیه بر S3
استارراکز میتواند:
✔️ جدا کردن Compute از Storage
✔️داشتن چند warehouse مجزا
✔️ قابلیت resource group برای multi-tenancy واقعی
کلیک هوس در نسخه Cloud این مسیر را آغاز کرده، اما اکوسیستم cloud-native StarRocks پختهتر است.
5) سادگی عملیاتی (Operational Simplicity)
کلیکهوس ابزارهای عملیاتی خوب دارد، اما scale-out پیشرفته نیازمند:
✔️ عملیات sharding دستی
✔️معماری پیچیده ReplicatedMergeTree
✔️ابزارهای جانبی custom
استارراکز اینها را تقریباً بهصورت plug-and-play ارائه میکند.
⭐️ جمعبندی
تجربه Intuit نشان میدهد:
اگر real-time واقعی، joins سنگین، upsert و latency زیر ۲–۳ ثانیه نیاز دارید، StarRocks انتخاب بسیار مناسبتری خواهد بود.
اگر batch analytics با مقیاس بسیار بزرگ دارید، ClickHouse همچنان پادشاه است.
❤3👍1