انتخاب زیرساخت مناسب ذخیره‌سازی یکی از مهم‌ترین اقدامات در بهینه‌سازی عملکرد اپلیکیشن‌ها و کاهش هزینه در محیط‌های داده‌محور امروز است. هر یک از شیوه‌های مختلف و سخت‌افزارهای متنوع ذخیره‌سازی بر اساس معماری‌ها و روش‌های دسترسی به داده کاربردهای متفاوتی دارند.

با معرفی تکنولوژی SSD انتظار از عملکرد دیسک‌ها به‌طور چشم‌گیری افزایش یافت. با این حال، دیسک‌های HDD هم‌چنان به‌دلیل صرفه‌ی اقتصادی و ظرفیت بالا کاربردهای بسیاری دارند. علاوه بر ذخیره‌سازی بلوکی (Block Storage) که بیش‌تر در سطوح پایین‌تر و برای دسترسی سریع به داده‌ها به کار می‌رود، روش‌های دیگری مانند ذخیره‌سازی فایل (File Storage) و ذخیره‌سازی آبجکت (Object Storage) نیز برای مدیریت، نگه‌داری و به‌اشتراک‌گذاری داده‌ها به‌شکل سازمان‌یافته‌تر و مقیاس‌پذیرتر مورد استفاده قرار می‌گیرند.

در این مقاله، عملکرد زیرساخت‌های مختلف ذخیره‌سازی را بر اساس داده‌های IOPS و Throughput تحلیل کرده و کاربرد هر کدام را در بارهای کاری متفاوت بررسی خواهیم کرد.

انواع ذخیره‌سازی

سیستم‌های ذخیره‌سازی، به‌طور معمول براساس نحوه‌ی ارایه‌ی داده‌ها و روش‌های دسترسی به ۴ دسته‌ی کلی تقسیم می‌شوند:

  • ذخیره‌سازی بلوکی | ‌Block Storage
    در روش ذخیره‌سازی بلوکی، حجم‌ زیادی از داده‌ها به واحدهای کوچک‌تری به‌نام بلوک (Block) تقسیم شده و به‌شکل جداگانه ذخیره می‌شوند. هر بلوک با یک شناسه (ID) منحصربه‌فرد و در یک درایو سیستم قرار می‌گیرد. بلاک استوریج‌ها می‌توانند SSD یا HDD باشند و به‌دلیل برخورداری از سرعت بالا و تاخیر بسیار اندک بهترین گزینه برای کارکردهای سنگین به‌شمار می‌روند.
  • ذخیره‌سازی محلی | Local Storage
    لوکال استوریج به دیسک‌هایی گفته می‌شود که به‌شکل فیزیکی به سرور متصل هستند و به‌دلیل نبود لایه‌های شبکه، تاخیر بسیار کم و توان عملیاتی بالایی ارایه می‌دهند. این نوع ذخیره‌سازی برای کاربری‌هایی با نیاز به دسترسی سریع داده مانند دیتابیس‌های بزرگ بسیار مناسب است. 

⇐ ذخیره‌سازی محلی در واقع به موقعیت فیزیکی ذخیره‌سازی اشاره دارد و می‌تواند از روش‌های بلوکی یا فایل‌محور برای مدیریت داده‌ها استفاده کند. در برخی موارد، مانند سرور ابری آروان‌کلاد، ذخیره‌سازی محلی به‌شکل بلوکی است؛ به این معنا که داده‌ها به بلوک‌های کوچک تقسیم شده و به‌طور مستقیم روی دیسک‌های متصل به سرور ذخیره می‌شوند.

  • ذخیره‌سازی فایل‌محور | File Storage
    ذخیره‌سازی فایل‌محور اطلاعات را در یک سیستم سلسله‌مراتبی، بر اساس فایل‌ها و پوشه‌ها سامان می‌دهد. این روش همان الگوی معمول نگه‌داری اطلاعات در کامپیوترهای شخصی است. اطلاعات بارگذاری‌شده در این روش طبق شاخه‌ها و زیرشاخه‌های تعریف‌شده آدرس‌دهی و مرتب می‌شوند. الگوی File Storage می‌تواند دسترسی و بازیابی فایل‌ها را ساده‌تر کند. این نوع ذخیره‌سازی معمولن با پروتکل‌هایی مانند NFS و SMB به‌کار گرفته می‌شود و در محیط‌هایی مانند اشتراک‌گذاری فایل‌های سازمانی بسیار کاربردی است.
  • ذخیره‌سازی مبتنی بر شی | Object Storage
    در این نوع، داده‌ها در قالب شی همراه با متادیتا ذخیره می‌کند و از طریق APIهای HTTP قابل دسترسی هستند. این نوع ذخیره‌سازی برای داده‌های بدون ساختار، مقیاس‌پذیری بالا و دوام داده‌ها کاربرد دارد و برای نگه‌داری بکاپ‌ها، آرشیوها و داده‌های بزرگ مناسب است.

معیارهای سنجش عملکرد زیرساخت ذخیره‌سازی

برای ارزیابی عملکرد سیستم‌های ذخیره‌سازی، دو پارامتر اصلی و کلیدی وجود دارد که کارایی واقعی زیرساخت را در شرایط مختلف کاری نشان می‌دهند:

  • IOPS | تعداد ورودی/خروجی در ثانیه
    IOPS تعداد عملیات خواندن یا نوشتن بلوک‌های کوچک داده در هر ثانیه را اندازه‌گیری می‌کند. این معیار برای کاربردهایی با تراکنش‌های کوچک و تصادفی مانند دیتابیس‌ها، سرورها و سرویس‌های تراکنشی (Transactional) بسیار حیاتی است، چرا که این سیستم‌ها نیازمند پاسخ سریع به تعداد زیادی درخواست کوچک در بازه‌های زمانی کوتاه هستند. هرچه عدد IOPS بالاتر باشد، سیستم توانایی بیش‌تری در انجام عملیات سریع و هم‌زمان دارد.
  • Throughput | پهنای باند
    پهنای باند، که معمولن بر حسب مگابایت یا گیگابایت در ثانیه اندازه‌گیری می‌شود، نشان‌دهنده‌ی حجم داده‌ای است که سیستم ذخیره‌سازی می‌تواند در هر ثانیه منتقل کند. این معیار برای بارهای کاری بزرگ و پیوسته مانند ویرایش ویدیو، انتقال فایل‌های حجیم، بکاپ‌گیری و تحلیل کلان‌داده‌ها اهمیت دارد. پهنای باند بالا به معنی سرعت بالاتر در انتقال حجم زیادی از داده است.

هر دو معیار IOPS و پهنای باند مکمل یک‌دیگرند و فقط زمانی می‌توانند عملکرد واقعی ذخیره‌سازی را به‌خوبی نشان دهند که با هم در نظر گرفته شوند. سیستمی که IOPS بالایی دارد اما پهنای باند آن محدود است، ممکن است در انتقال فایل‌های بزرگ با کندی مواجه شود. در مقابل، پهنای باند بالا بدون داشتن IOPS کافی، می‌تواند باعث شود سیستم در پاسخ به درخواست‌های کوچک و پرتکرار، دچار تاخیر و افت کارایی شود.

بنابراین، برای انتخاب بهینه‌ترین زیرساخت ذخیره‌سازی، شناخت دقیق عملکرد این معیارها در سناریوهای مختلف کاری ضروری است. در بخش بعد، با ارایه داده‌های بنچمارک واقعی و تحلیل نتایج، به بررسی عملکرد انواع سیستم‌های ذخیره‌سازی می‌پردازیم.

توجه داشته باشید که برای ارزیابی عملکرد Object Storage معمولن از معیارهایی مانند Request per Second و سرعت دانلود/آپلود استفاده می‌شود. با این حال، به‌دلیل هدف این مطلب که مقایسه‌ی زیرساخت‌های ذخیره‌سازی است، شرایط آزمایش به‌شکل یکسان در نظر گرفته شده است.

روش سنجش عملکرد زیرساخت ذخیره‌سازی

برای ارزیابی عملکرد انواع سیستم‌های ذخیره‌سازی، مجموعه‌ای از تست‌های بنچمارک طراحی شده است که دو نوع اصلی از بارهای کاری را شبیه‌سازی می‌کند:

  • تست 4K (۴ کیلوبایت): این تست عملکرد سیستم را در انجام عملیات ورودی/خروجی تصادفی با بلوک‌های کوچک (۴ کیلوبایت) می‌سنجد و معیار IOPS (تعداد عملیات ورودی/خروجی در ثانیه) را محک می‌زند.
  • تست 4M (۴ مگابایت): این تست عملکرد سیستم را در انتقال داده‌های بزرگ و پیوسته با بلوک‌های ۴ مگابایتی اندازه‌گیری کرده و پهنای باند (Throughput) را بر حسب مگابایت بر ثانیه مشخص می‌کند.

هر کدام از این تست‌ها به‌طور جداگانه روی دیسک‌های SSD و HDD بلاک استوریج سرور ابری، لوکال استوریج سرور ابری، فایل استوریج سرور ابری و آبجکت استوریج آروان‌کلاد انجام شده است تا بتوان عملکرد دقیق هر زیرساخت را در شرایط واقعی بررسی کرد.

نتایج سنجش عملکرد زیرساخت ذخیره‌سازی

برای شناخت بهتر کارایی زیرساخت ذخیره‌سازی آروان‌کلاد دو تست 4K و 4M را اجرا کرده و نتایج آن را اندازه‌گیری کرده‌ایم.

   
زیرساخت ذخیره‌سازیIOPSThroughput
بلاک استوریج (SSD)12.3k287MiB/s
بلاک استوریج (HDD)150495.7MiB/s
لوکال استوریج20.0k602MiB/s
فایل استوریج3452849MiB/s
آبجکت استوریج199128.6MiB/s

بلاک استوریج | Block Storage

برای سنجش عملکرد بلاک استوریج از دیسک‌های SSD و HDD استفاده شده است.

دیسک SSD

برای سنجش IOPS دیسک SSD از تست 4K استفاده شده است.

تحلیل عملکرد فضای ذخیره‌سازی دیسک SSD

تصویر زیر فعالیت و رفتار دیسک SSD در طول اجرای تست 4K را نمایش می‌دهد.

برای سنجش Throughput دیسک SSD از تست 4M استفاده شده است.

تصویر زیر فعالیت و رفتار دیسک SSD در طول اجرای تست 4M را نمایش می‌دهد.

دیسک HDD

برای سنجش IOPS دیسک HDD از تست 4K استفاده شده است.

تصویر زیر فعالیت و رفتار دیسک HDD در طول اجرای تست 4K را نمایش می‌دهد.

برای سنجش Throughput دیسک HDD از تست 4M استفاده شده است.

تصویر زیر فعالیت و رفتار دیسک HDD در طول اجرای تست 4M را نمایش می‌دهد.

لوکال استوریج | Local Storage

برای سنجش IOPS لوکال استوریج از تست 4K استفاده شده است.

تصویر زیر فعالیت و رفتار لوکال استوریج در طول اجرای تست 4K را نمایش می‌دهد.

برای سنجش Throughput لوکال استوریج از تست 4M استفاده شده است.

تصویر زیر فعالیت و رفتار لوکال استوریج در طول اجرای تست 4M را نمایش می‌دهد.

فایل استوریج | File Storage

برای سنجش IOPS فایل استوریج از تست 4K استفاده شده است.

برای سنجش Throughput فایل استوریج از تست 4M استفاده شده است.

آبجکت استوریج | Object Storage

برای سنجش IOPS آبجکت استوریج از تست 4K استفاده شده است.

برای سنجش Throughput آبجکت استوریج از تست 4M استفاده شده است.

⇐ توجه داشته باشید که برای ارزیابی عملکرد Object Storage معمولن از معیارهایی مانند Request per Second و سرعت دانلود/آپلود استفاده می‌شود. با این حال، به‌دلیل هدف این مطلب که مقایسه‌ی زیرساخت‌های ذخیره‌سازی است، شرایط آزمایش به‌شکل یکسان در نظر گرفته شده است.

تحلیل نتایج سنجش عملکرد زیرساخت ذخیره‌سازی

داده‌ها به وضوح تفاوت عملکرد را در انواع مختلف ذخیره‌سازی نشان می‌دهند. از همین رو، انتخاب زیرساخت متناسب با بار کاری از مهم‌ترین اقدامات در طراحی معماری سرویس‌هاست.

بلاک استوریج | Block Storage

بلاک استوریج SSD با عملکرد بسیار بالا در IOPS و Throughput، بهترین گزینه برای بارهای کاری حساس به تاخیر و نیازمند پاسخ‌گویی سریع است. این نوع ذخیره‌سازی برای پایگاه‌های داده تراکنشی، سیستم‌های مالی و برنامه‌های بلادرنگ بسیار مناسب است. کاربردهای اصلی آن در سرویس‌های زیر است:

  • دیتابیس‌های SQL و NoSQL
  • سیستم‌های مدیریت محتوا
  • اپلیکیشن‌های وب پرسرعت
  • سرورهایی با لود سنگین

دیسک HDD با سرعت کم‌تر و IOPS پایین‌تر، گزینه‌ای مقرون‌به‌صرفه برای ذخیره‌سازی حجم زیاد داده‌هایی است که نیاز به دسترسی سریع ندارند. این زیرساخت در موارد زیر استفاده می‌شود:

  • آرشیو فایل‌ها و بکاپ‌گیری
  • ذخیره‌سازی داده‌های کم‌تکرار و حجیم
  • سیستم‌های مدیریت لاگ و داده‌های تاریخی

لوکال استوریج | Local Storage

لوکال استوریج به دلیل اتصال مستقیم به سرور، عملکرد بسیار عالی با تاخیر کم و پهنای باند بالا ارایه می‌دهد و معمولن برای بارهای کاری با نیاز به دسترسی سریع و مداوم مناسب است. این نوع ذخیره‌سازی بهترین انتخاب برای نیازمندی‌های زیر است:

  • سرورهای بازی آنلاین
  • اپلیکیشن‌های تحلیلی و یادگیری ماشین
  • پایگاه داده‌های تراکنشی با نیاز به پاسخ سریع

باید توجه داشت که این دیسک‌ها در برابر خرابی مقاوم نیستند و باید در لایه‌ی نرم‌افزار سازوکار‌های لازم برای HA را پیاده‌سازی کرد.

فایل استوریج | File Storage

فایل استوریج با تعداد عملیات ورودی/خروجی متوسط و پهنای باند بالا، برای محیط‌هایی که نیاز به اشتراک‌گذاری فایل و همکاری تیمی دارند مناسب است. این زیرساخت بیش‌تر در سازمان‌ها استفاده می‌شود و برای پروژه‌های چندرسانه‌ای و ذخیره‌ی داده‌هایی که چندین کاربر به‌طور همزمان به آن‌ها دسترسی دارند، کاربرد دارد:

  • اشتراک فایل در سازمان‌ها
  • پروژه‌های چندرسانه‌ای با حجم بالا
  • محیط‌های کاری تیمی و همکاری

آبجکت استوریج | Object Storage

آبجکت استوریج با تمرکز روی مقیاس‌پذیری و دوام داده‌ها، برای داده‌های بدون ساختار، بکاپ‌ها و آرشیوهای بلندمدت طراحی شده است. سرعت و تعداد عملیات ورودی/خروجی آن پایین‌تر است ولی مناسب برای ذخیره‌سازی داده‌های حجیم و کم‌تکرار است و از طریق APIهای HTTP دسترسی فراهم می‌کند. این نوع ذخیره‌سازی در پروژه‌هایی که نیاز به مقیاس‌پذیری افقی و ذخیره امن داده دارند کاربرد فراوانی دارد.

  • آرشیو و بکاپ‌های بلندمدت
  • ذخیره‌سازی ویدیو و داده‌های رسانه‌ای حجیم
  • سرویس‌های ابری مبتنی بر API

انتخاب زیرساخت ذخیره‌سازی؛ فراتر از سنجش عملکرد

در انتخاب زیرساخت ذخیره‌سازی، علاوه‌بر معیارهایی مانند IOPS و پهنای باند که نشان‌دهنده‌ی عملکرد کلی سیستم هستند، باید به عوامل مهم دیگری نیز توجه کرد. تاخیر یا Latency در سرویس‌های تراکنشی نقش بسیار حیاتی دارد و ذخیره‌سازی‌ بلاک و لوکال به دلیل مسیرهای دسترسی مستقیم، پایین‌ترین میزان تاخیر را ارایه می‌دهند.

از سوی دیگر، هزینه و مقیاس‌پذیری از فاکتورهای کلیدی در تصمیم‌گیری هستند. آبجکت استوریج‌ها معمولن کم‌ترین هزینه به ازای هر گیگابایت و قابلیت مقیاس‌پذیری بالایی دارند.

هم‌چنین پروتکل‌های دسترسی در هر نوع ذخیره‌سازی متفاوت است و مزایا و محدودیت‌های خاص خود را دارد؛ از iSCSI و Fibre Channel در بلاک استوریج گرفته تا SMB و NFS در فایل استوریج و APIهای HTTP در آبجکت استوریج. شناخت دقیق و جامع این ابعاد به همراه تحلیل داده‌های عملکردی، به شما کمک می‌کند تا بهترین و بهینه‌ترین زیرساخت ذخیره‌سازی را متناسب با نیازهای کسب‌وکار خود انتخاب کنید.