Object Storage چیست؟
امروزه با فراگیرتر شدن پلتفرم ۳ و به تبع آن افزایش روزافزون حجم دادهها، نیاز به رویکردی جدید در ذخیره سازی دیتاها میباشد که بتواند در کنار Block Storage و File Storage، کمک به حل چالشهای جدید نماید.
استوریجهای نوع Object، یک معماری ذخیره سازی است که دادهها را به عنوان شی و به صورت flat ذخیره میکنند. در این محیط هیچگونه دایرکتوری وجود ندارد. این در حالی است که دیگر معماریهای ذخیرهسازی مانند Block-based storage، دادهها را بهصورت سلسله مراتبی از فایلها، ذخیره میکنند.
در این نوع از استوریج هر آبجکت شامل تمام بلاکهایی است که یک فایل شما را میسازند و همچنین تمامی متادیتاهای مربوط به آن فایل نیز در همان آبجکت ذخیره میشوند. سپس این دیتا در یک storage pool بصورت کاملاً فلت ذخیره میشود. هر زمان که بخواهید آن دیتا را فراخوانی کنید، بهراحتی و از طریق یک مشخصه منحصربهفرد (unique identifier)، محل آن فایل در استوریج مشخص میشود.
بیشتر بدانید:
یکی از مزایای اصلی آبجکت استوریجها همین اتصال متادیتاها به فایل اصلی هستند. متادیتا میتواند بصورت اتوماتیک یا بوسیله شما ساخته شوند و در نتیجه آن رنج وسیعی از تجزیه و تحلیلها را از طریق آنها انجام داد.
هر Object از سه جزء اصلی تشکیل شده است که شامل دادهی اصلی، متادیتا (metadata) و یک ID یکتاست.
از Object Storage بدلیل توانایی نگهداری دریایی از متادیتا در خود، برای ذخیره سازی Unstructured data استفاده میشود که در نتیجه آن سرعت جستجوی فایلها بسیار بالا میرود.
نحوه دسترسی به Object Storage
برخلاف استوریجهای قدیمی که از طریق سیستمعامل میتوان به آنها دسترسی داشت، در مورد Object Storage، اپلیکیشنها میتوانند از آن به عنوان یک سرویس و از طریق HTTP API استفاده کنند. این دقیقا همان الگوی دسترسی بهتری است که کمک میکند تا در هر جایی بتوان بهراحتی به دادهها دسترسی داشت و همچنین امکان ارائه کردن استوریج را به عنوان یک سرویس فراهم کرد.
در جدول زیر میتوانید دستورات مختلفی را که از طریق آنها میتوان بر روی objectها، عملیاتهای مختلفی را انجام داد مشاهده نمایید:
مزایای Object Storage
- ظرفیت Object Storage بهراحتی قابل افزایش است و در عمل هیچ محدودیتی به جز داشتن تجهیزات ذخیرهسازی وجود ندارد. شاید بتوان گفت مهمترین مزیت Object Storage مقیاسپذیری آن است.
- در این سیستم ذخیرهسازی، بهینه سازی static data به بیشترین حالت خود میرسد. با استفاده از متادیتای موجود، تحلیل و بررسی داده به راحتی انجام میشود و بهوسیلهی قابلیت بالا در شخصیسازی، استفادهی بهینهتر از منابع ممکنتر میشود.
- در Object Storage با استفاده از روش Erasure Coding که جایگزینی برای RAID میباشد، از اطلاعات موجود، چندین نسخه تهیه و ذخیره میشود تا اگر خطایی رخ داد، با از دست دادن یکی از آنها از دیگری بتوان استفاده کرد.
- از آنجایی که هیچگونه دایرکتوریای وجود ندارد، دسترسی به داده، سریعتر اتفاق میافتد. همچنین چون فایلها فشرده و رمزگذاری نمیشوند، میتوانند با سرعت بالاتری در دسترس کاربر قرار بگیرند.
- با http request میتوان به سادگی هرچه تمامتر با آن کار کرد.
- با توجه به طبیعت مقیاسپذیر Object Storage، ذخیرهسازی همهی دادهها هزینهی کمتری خواهد داشت. همچنین این نوع از استوریجها از لحاظ قیمتی بسیار پایینتر از استوریجهای مبتنی بر Block و File هستند.
- با استفاده از قابلیت versioning میتوانید نسخههای قدیمیتر Objectها را بازیابی نمایید.
کاربرد Object Storage
کاربرد Object storage بیشتر در مواردی است که نیاز است ذخیره سازی اطلاعات را تا حجم بالایی افزایش داد و این افزایش حجم در حالی باشد که همچنان بتوان دسترسی و عملکرد خوبی دریافت کرد. عموماً برای دادههای زیر از این نوع استوریج استفاده میگردد:
- دادههای ساختارنیافته مانند تصویر، آهنگ و فیلم
- فایلهای پشتیبانی و log
- فایلهای آرشیو
توجه شود که Object Storage برای اطلاعات ثابت مناسب است، چون هرگونه تغییری در فایل ذخیره شده، سبب میشود تا نسخهای جدید از کل فایل ایجاد و ذخیره شود. برای نرم افزارها و دیتابیسهایی که نیاز به low-latency دارند و همچنین تغییرات مداومی در آنها وجود دارد، از استوریجهای مبتنی بر Block استفاده میشود.
نمونه هایی از Object Storage
- Amazon S3
- Azure Blob Storage
- Rackspace Cloud Files
- Google Cloud Storage
تیر ۹۹