فکر میکنم در تاپیک
ماهوت و اسپارک در مورد این موضوع بحث کردیم و بنده تصویری هم از مقایسه موتورهای پردازشی هم در آن تاپیک قرار دادم.
همیشه برتری با معیاری سر و کار داره که آن برتری رو به اثبات برسونه. باید دید برتری از چه دیدگاهی برای ما مهم است و کاملا بستگی به مسائلی داره که در حال حل آن هستید. Storm تنها بخشی از موتور پردازشی Spark را پوشش می دهد به این صورت که شما در اسپارک با ۴ ابزار مختلف روبرو هستید: اسپارک داده جریانی یا Streaming ، ابزار یادگیری ماشین MLlib ، ابزار کار با داده های رابطه ای Spark SQL و GraphX . در واقع Storm فقط بخش Streaming را پوشش می دهد.
اگر در مسئله ای شما فقط با داده های جریانی کار میکنید شاید Storm بهتر از Spark عمل کند. در مسائلی که نیازمند استفاده از هدوپ و Storm هستید به دلیل اینکه Storm از ZooKeeper برای ایجاد بستر استراتژی توزیع شده استفاده میکنه شما در کلاستر خودتان باید چند گره را به ZooKeeper اختصاص دهید که Storm با آن کار کند ولی اگر از اسپارک استفاده کنید نیازی به ZooKeeper دیگر ندارید(اگرچه وجود آن می تواند مزایایی برای کلاستر ما داشته باشد.)