مقایسه استوریج های Block، File و Object
در دنیای امروز که به شدت دیجیتال شده است، هر روز راهکارهای بیشتر و بیشتری از ذخیره سازی معرفی میشود و هر راهکار دارای یکسری مشخصههای منحصربهفرد مخصوص به خود است که برای موارد مختلفی استفاده میشوند. وجود گزینههای مختلف شاید از یک دیدگاه بسیار خوب باشد اما وقت زیادی را از ما برای ارزیابی هر انتخاب میگیرد. در این مقاله در اکتوبیت سعی میکنیم سه نوع رایج استوریج را بررسی و مقایسه نماییم که عبارتند از:
فهرست مطالب
آبجکت استوریج (Object Storage) چیست؟
استوریج نوع Object، یک معماری ذخیره سازی است که دادهها را به عنوان شی و بهصورت flat ذخیره میکند. در این محیط هیچگونه دایرکتوری وجود ندارد. این درحالی است که دیگر معماریهای ذخیرهسازی مانند Block-based storage، دادهها را بهصورت سلسله مراتبی از فایلها، ذخیره میکنند.
در این نوع از استوریج هر آبجکت شامل تمام بلاکهایی است که یک فایل شما را میسازند و همچنین تمامی متادیتاهای مربوط به آن فایل نیز در همان آبجکت ذخیره میشوند. سپس این دیتا در یک storage pool بهصورت کاملاً فلت ذخیره میشود. هر زمان که بخواهید آن دیتا را فراخوانی کنید، بهراحتی و از طریق یک مشخصه منحصربهفرد (unique identifier)، محل آن فایل در استوریج مشخص میشود.
بیشتر بدانید:
یکی از مزایای اصلی آبجکت استوریجها همین اتصال متادیتاها به فایل اصلی است. متادیتا میتواند بهصورت اتوماتیک یا بهوسیله شما ساخته شود و در نتیجه آن رنج وسیعی از تجزیه و تحلیلها را از طریق آنها انجام داد.
مزیت دیگر Object Storage انعطاف پذیری آن در ذخیره دیتا، بدون نگرانی از ساختار سلسله مراتبی است. این موضوع اجازه میدهد که از حداکثر فضای استوریج برای ذخیره سازی استفاده نمایید.
باوجود این مزایا، آبجکت استوریجها معایبی نیز دارند، از جمله سرعت کمتر آنها نسبت به استوریجهای فایل و بلاک است. به همین خاطر عموماً از آنها برای اپلیکیشنها و دیتابیسها استفاده نمیشود. در کاربردهای زیر میتوان با خیال راحت از این نوع استوریج استفاده کرد:
- دادههای ساختارنیافته مانند تصویر، آهنگ و فیلم
- فایلهای پشتیبانی و log
- فایلهای آرشیو
فایل استوریج (File Storage) چیست؟
فایل استوریج روشی از ذخیره سازی دیتا بهصورت سلسله مراتبی است. بسیاری از ما با این فرمت استاندارد استوریج آشنایی نسبی داریم. در این نوع از استوریج دیتا با همان فرمتی که دریافت شده، ذخیره نیز میگردد. میتوان از طریق پروتکلهای SMB در ویندوز و NFS در لینوکس به فایلهای ذخیره شده در فایل استوریج دسترسی داشت. این پروتکلها همچنین برای ذخیره سازی فایل در سرور و در سخت افزارهای NAS نیز استفاده میشوند.
بلاک استوریج (Block Storage) چیست؟
همانطور که از نام آن پیداست، بلاک استوریج مجموعهای از واحدهایی به نام بلاک است. در هر بلاک، یک تکه از یک فایل ذخیره میشود. سپس یک آدرس منحصربهفرد به آن بلاک اختصاص داده میشود. مزیت اصلی این نوع از استوریج نسبت به فایل استوریج و آبجکت استوریج، latency بسیار پایین آن است که باعث شده بیشتر از آن برای اپلیکیشنهای با بارِکاری زیاد و دیتابیسها استفاده شود.
یک استوریج Block Level این امکان را برای سرورها فراهم میکند که در سطح بلاک به volume های ساخته شده در دیسکها دسترسی پیدا کنند. در این محیط، فایل سیستمهای تمام Volume ها از روی سرور ساخته میشوند و در سطح بلاک در شبکه قابل دسترس هستند. به راحتی میتوان بلاک استوریجها را به فایل سیستم دلخواه مانند NTFS، XFS، EXT4 یا غیره فرمت کرد.
شبکهای که در داخل آن از این نوع استوریج استفاده میشود، به شبکه SAN یا Storage Area Network معروف است.
نتیجه گیری
در مقایسه آبجکت استوریج و بلاک استوریج، میتوان به مزیت ذخیره سازی متادیتا در آبجکت استوریج اشاره کرد در حالی که در بلاک استوریج این متادیتاها ذخیره نمیشوند. همچنین در آبجکت استوریج، هر آبجکت دارای یک نام منحصربهفرد است که به خاطر استفاده از آن، لزوم جستجوی دیتا به شکلی که در بلاک استوریج وجود دارد، حذف میشود. از لحاظ قابلیت توسعه، هر دو استوریج این امکان را به شما میدهند، با این تفاوت که توسعه Object Storage بسیار راحتتر از بلاک استوریج است.
در بلاک استوریج شما میتوانید به راحتی یک تکه از یک فایل را ویرایش نموده و در نهایت فقط همان تکه از فایل، مجدد ذخیره میشود. اما در آبجکت استوریج حتی برای تغییر یک تکه از یک فایل باید کل آبجکت فراخوانی شده و پس از تغییر، کل آن مجدد ذخیره شود، که این باعث کندی روند کار میشود.
در مقایسه فایل استوریج و بلاک استوریج نیز باید گفت که باتوجه به ماهیت فایل سیستمهای آنها، بهتر است از فایل استوریج برای ساخت content repository و ذخیره مقادیر کوچکتری از structured data ها، و از بلاک استوریج برای دیتابیسها و اپلیکیشنهای مهم و حیاتی و همچنین تامین استوریج برای فضاهای مجازی سازی شده، استفاده کرد.
در شکلهای زیر میتوانید مقایسهای بین این سه نوع استوریج را مشاهده نمایید:
Object Storage | Block Storage | File Storage | |
واحد | Object | Block | File |
توسعه پذیری | Highly scalable | Highly scalable | Poorly scalable |
کارایی | بد | خوب | متوسط |
متادیتا | زیاد | ندارد | Only selected |
پروتکل | HTTP | FC/iSCSI | SMB/NFS |
اپلیکیشن | Static data/cloud storage | Transactional databases | File exchange |
قیمت | متوسط | بالا | پایین |