امروزه بسیاری از دادهها ساختاری ندارند مانند ایمیل، فایلهای رسانهای – صوتی، صفحات وب، دادههای حسگر و انواع دیگر محتوای دیجیتال که بهراحتی در پایگاههای داده سنتی جا نمیشوند. بنابراین یافتن راههای کارآمد و مقرونبه صرفه برای ذخیره و مدیریت آن ها میتواند یک چالش اساسی برای سازمانها باشد. معماری object storage بهطور فزایندهای و بهروش ترجیحی برای ذخیرهسازی محتوای استاتیک، آرکهای داده و نسخههای پشتیبان تبدیل به یک راهحل عالی شده است. اما بهطوردقیق عملکرد object storage (ذخیره سازی اشیا) چیست؟ و چه تفاوتهایی با دیگر معماری های ذخیره سازی دارد؟
⏲ مدت زمان تخمینی مطالعه: 12 دقیقه
فهرست موضوعات
Object Storage Server چیست؟
Object Storage Server یا سرور ذخیرهسازی اشیا که با نام ذخیرهسازی مبتنی بر شی (object-based storage) نیز شناخته میشود، یک معماری ذخیرهسازی دادههای سرور است که برای مدیریت مقادیر زیادی از دادههای بدون ساختار طراحی شده است.
object storage (ذخیره سازی اشیا) برخلاف دیگر معماریها، دادهها را به عنوان واحدهای متمایز، همراه با فراداده (metadata) و یک شناسه منحصربهفرد مشخص میکند، که میتواند برای مکانیابی و دسترسی به هر واحد داده استفاده شود. اگرچه این واحدها یا اشیا را میتوانید در محل ذخیره کنید، اما بهطورمعمول در فضای ابری ذخیره میشوند و از هرکجا بهراحتی قابل دسترسی هستند.
با توجه به قابلیت کوچکسازی object storage، محدودیتهای کمی برای مقیاسپذیری آن وجود دارد. همچنین بهدلیل ذخیره حجم دادههای بزرگ نسبت به گزینههای دیگر، مانند ذخیرهسازی بلوک، هزینه آن نیز کاهش مییابد.
در یک تعریف کلی میتوانیم بگوییم object storage (ذخیره سازی اشیا) یک معماری ذخیرهسازی داده برای ذخیره دادههای بدون ساختار است که دادهها را به واحدهای مجاز به نام اشیا تقسیم میکند و آنها در یک محیط داده ساختاری مسطح و واحد (به جای اینکه بهعنوان فایل در پوشهها یا به صورت بلوک در سرورها نگهداری شوند) ذخیره میشوند. هر شی ذخیره شده از سه چیز تشکیل میشود که شامل دادهها، ابردادهها (فراداده) و یک شناسه منحصربهفرد جهانی است. در نتیجه برنامهها میتوانند برای دسترسی و بازیابی آسان از آن استفاده کنند.
خرید سرور hp
بهترین نرم افزار Object Storage
نرم افزار object storage (ذخیره سازی اشیا) برای ذخیره اطلاعات بدون ساختار و فایلهای شی طراحی شده است. فایلهای شی که پیشتر ذکر کردیم شامل دادهها، فرادادهها و شناسههای فردی هستند. این فایلها قابل تنظیم، بادوام و سرشار از داده هستند. بنابراین شرکتها از نرمافزار ذخیرهسازی اشیا برای نگهداری فایلهای مختلف مانند محتوای استاتیک، رسانهها و پشتیبانگیری دادهها در قالب اشیا استفاده میکنند. این سیستمهای ذخیرهسازی نسبت به نرمافزار ذخیرهسازی بلوک اگرچه از مقیاسپذیری کمتری برخوردار هستند، اما عملکرد عملیاتی را که نیاز به دسترسی به میزان قابل توجهی ابرداده دارد، را بسیار آسان میکنند. از بهترین نرمافزارهای ذخیرهسازی اشیا میتوان به موارد زیر اشاره کرد:
- نرمافزار Amazon Simple Storage Service (S3) (امتیاز 4.6 از 5)
نرمافزار آمازون aws s3 برای ذخیرهسازی اینترنت طراحی شده تا محاسبات در مقیاس وب را برای توسعهدهندگان آسانتر سازد. آمازون S3 یک رابط خدمات وب ساده در زمینهی object storage (ذخیره سازی اشیا) ارائه میدهد که برای ذخیره و بازیابی هر مقدار داده، در هر زمان و از هر نقطه از وب قابل استفاده است. این ویژگی باعث میشود تا هر توسعهدهندهای امکان دسترسی به همان زیرساخت بسیار مقیاس پذیر، قابل اعتماد، ایمن، سریع و ارزان را میدهد که آمازون برای اجرای شبکه جهانی وبسایتهای خود از آن استفاده میکند.
کاربران | صنایع | سهم بازار |
مهندس نرمافزار | فناوری اطلاعات و خدمات | 32% سازمانها و بنگاهها اقتصادی |
مهندس ارشد نرمافزار | نرمافزار سرور/کامپیوتر | 25% بازار میان رده |
- نرمافزار Google Cloud Storage (امتیاز 4.6 از 5)
دومین و بهترین نرمافزار object storage (ذخیره سازی اشیا) متعلق به کمپانی گوگل (https://www.google.com/) است. این نرمافزار بهترین عملکرد، بالاترین امنیت را همراه با یک قیمت مقرونبهصرفه برای تمام نیازهای ذخیرهسازی کاربران در اختیار آنان قرار میدهد. این نرمافزار یکپارچه برای توسعهدهندگان و سازمانها بهترین انتخاب است.
کاربران | صنایع | سهم بازار |
مهندس نرمافزار | فناوری اطلاعات و خدمات | 33% سازمانها و بنگاهها اقتصادی |
نرمافزار سرور/کامپیوتر | 45% کسبوکارهای کوچک |
پیشنهاد مطالعه بیشتر: Tri-mode controllers چیست؟ tri-mode controller اچ پی
- نرمافزار Azure Blob Storage (امتیاز 4.6 از 5)
نرمافزار دیگری که در میان کاربران در زمینهی object storage (ذخیره سازی اشیا) بسیار محبوبیت دارد، متعلق به کمپانی مایکروسافت است. Azure Blob سرویسی برای ذخیرهسازی مقادیر زیادی از دادههای شی بدون ساختار، مانند متن یا دادههای باینری است که میتوانید از هر کجای دنیا از طریق HTTP یا HTTPS به آنها دسترسی داشته باشید.
صنایع | سهم بازار | کاربران |
فناوری اطلاعات و خدمات | 24% سازمانها و بنگاهها اقتصادی | هیچ اطلاعاتی در دسترس نیست. |
نرمافزار سرور/کامپیوتر | 14% بازار میانرده | هیچ اطلاعاتی در دسترس نیست. |
- نرمافزار Digital Ocean Spaces (امتیاز 4.4 از 5)
نرمافزار Digital Ocean یکی از نرمافزارهای ساده و پرطرفدار برای کلیه عملکردها در زمینهی object storage (ذخیره سازی اشیا) است. این برنامه هر مقدار داده را بهصورت ایمن ذخیره میکند و کاربران نهایی و برنامهها میتوانند از آن استفاده کنند. فضای ذخیرهسازی مقرونبهصرفه، رابط کاربری آسان و API با قابلیت کشیدن و رها کردن برای ذخیرهسازی از جمله ویژگیهای این نرمافزار است.
کاربران | صنایع | سهم بازار |
مهندس نرمافزار | فناوری اطلاعات و خدمات | 68% کسبوکارهای کوچک |
نرمافزار سرور/کامپیوتر | 22% بازار میانرده |
خرید پاور ماینینگ
- نرمافزار IBM Cloud Object Storage (امتیاز 3.8 از 5)
ذخیرهسازی دادهها با نرمافزار IBM مقیاسپذیر، انعطافپذیر و ساده است. این برنامه یک پلتفرم یکپارچه در سراسر سازمانها است که پیادهسازی را در فضای ابری یا محل موردنظرتان انجام میدهد. IBM Cloud دارای قابلیت ابر اختصاصی یا خصوصی و ابر عمومی یا مشترک است که در یک منطقه یا در چندین منطقه قابل پیادهسازی است تا کاربران بتوانند بهراحتی از خدمات object storage (ذخیره سازی اشیا) استفاده کنند.
صنایع | سهم بازار | کاربران |
هیچ اطلاعاتی در دسترس نیست. | 41% کسبوکارهای کوچک | هیچ اطلاعاتی در دسترس نیست. |
هیچ اطلاعاتی در دسترس نیست. | 30% سازمانها و بنگاهها اقتصادی | هیچ اطلاعاتی در دسترس نیست. |
خرید ماژول سوئیچ
سرویس object storage
سرویس object storage یا ذخیرهسازی اشیا که بیشتر با نام اختصاری OSS شناخته میشود، یک سرویس ذخیرهسازی اشیا ایمن و مقرون بهصرفه است. این سرویس 99.9999999999 درصد (دوازده 9) دوام داده و 99.995 درصد در دسترس بودن دادهها را ارائه میدهد. بیشتر سرویس های object storage چندین کلاس ذخیرهسازی را برای کمک به مدیریت و کاهش هزینههای ذخیرهسازی ارائه میدهند.
همچنین OSS عملیات API مستقل از پلتفرم را ارائه میدهد که این ویژگی به کاربران اجازه میدهد تا دادههای خود را از هر برنامه و در هر زمان و هر مکان آپلود کرده و به آنها دسترسی داشته باشید.
برخی از سرویسها به غیر از عملیات API، ابزارهای انتقال و SDKs را نیز ارائه میدهند تا کاربران بتوانند حجم زیادی از دادهها را انتقال دهند.
در واقع سرویسهای متعدد OSS مجموعهای از کلاسهای object storage (ذخیره سازی اشیا) را ارائه میدهند که برای برآورده کردن الزامات برای موارد مختلف طراحی شدهاند. بهعنوان مثال، کاربران میتوانند تصاویر، صدا و ویدئوهای مورد استفاده در برنامهها و وبسایتهای خود را بهعنوان اشیا استاندارد برای دسترسی مکرر ذخیره کنند. همچنین با ذخیره دادههایی که بهندرت به آنها نیاز دارند و میخواهند برای مدت طولانی بهعنوان دسترسی نادر (IA) از آنها نگهداری شود، میتوانند در قسمت اشیا بایگانی یا Cold Archive ذخیرهسازی را انجام دهند. این ویژگی باعث میشود تا در هزینههای سرویس نیز صرفهجویی شود. از ارائهدهندگان پرقدرت سرویس OSS میتوان به سرویس Alibaba Cloud Object Storage اشاره کرد.
تفاوت object storage و block storage
سرویس ذخیرهسازی بلوک یا Block storage دسترسی شبکه را به دستگاههای مشابه بلوک خام فراهم میکند. در واقع این سرویس میتواند یک ماشین کلاینت را به یک حجم خاص در سرویس ذخیرهسازی متصل کند و آن را بهگونهای قالببندی سازد که انگار یک دستگاه بلوک محلی (local block) است.
بهطور معمول کلاینتهای متعدد حجم یکسانی را نصب نمیکنند، اما امکان پیکربندیهای با دسترسی بالا برای master/slave را ارائه می دهند. رایجترین روش انتقال سرویس Block storage از طریق کانال فیبر، Iscsi یا AoE(از طریق اترنت) است.
اما object storage (ذخیره سازی اشیا) یک نوع ذخیرهسازی جدید است که برای دادههای بدون ساختار مانند رسانهها، اسناد، گزارشها، پشتیبانگیری، باینریهای برنامه و تصاویر VM طراحی شده است. از نظر مفهومی، آنها مانند یک فروشگاه کلیدی پایدار هستند.
در این نوع ذخیرهسازی اشیا از طریق یک فراخوانی بهنام REST API ارسال میشوند و از یک شناسه برگردانده میشوند. اکثر سرویسهای ارائهدهنده شی اجازه میدهند ابردادهها را به اشیا متصل کنید و آنها را در یک مخزن ذخیره سازید. رابطهای ذخیره اشیا Ceph و Swift هستند.
خرید سوئیچ سیسکو
هارد سرور hp
Object storageدر مقابل file storage
سرویسهای ذخیرهسازی شبکهای براساس نحوهی مصرف و ارتباط برای مشتری طبقهبندی میشوند. سنتیترین نوع این سرویس سیستم فایل اشتراکی یا file storage است که به چندین مشتری امکان دسترسی به یک پوشه مشترک را ارائه میدهد. در این سرویس از دو پروتکل رایج سیستم فایل مشترک یعنی NFS و SMB/CIFS استفاده میشود. با اینکه object storage (ذخیره سازی اشیا) و file storage (ذخیرهسازی فایل) هر دو معماری برای ذخیرهسازی هستند اما دو تفاوت اصلی با هم دارند:
- ساختار
- مقیاسپذیری
ذخیرهسازی فایل در یک سلسله مراتب درخت مانند دایرکتوریها، زیرشاخهها و غیره سازماندهی شده است. بنابراین برای دسترسی به یک فایل ذخیره شده، باید مسیر خاصی را دنبال کنید. اما ذخیرهسازی اشیا در یک فضای آدرس «مسطح (flat)» ذخیره میشود که هر شی ذخیره شده دارای یک شناسه منحصربه فرد به همراه متا دیتای (metadata) دقیق است که یافتن آن را در بین میلیاردها شی دیگر آسان میسازد.
بهدلیل تفاوتهای ساختاری، ظرفیت مقیاسپذیری ذخیرهساز فایل و ذخیرهساز اشیا نیز بهمقدار قابل توجهی با همدیگر متفاوت هستند. سلسله مراتب و مسیریابی file storage با میلیونها فایل شروع و به حداکثر شدن میرسد، در حالیکه object storage (ذخیره سازی اشیا) مقیاس بینهایت و تا پتابایت و فراتر از آن را ارائه میدهد.
علاوه بر ساختار بسیار متفاوت و مقیاسپذیری این دو نوع ذخیرهساز، آنها در چندین حوزه کلیدی دیگر نیز تفاوتهایی با هم دارند که عبارتند از:
- تاخیر (Latency): زمانی که طول میکشد تا یک بسته داده در سراسر شبکه منتقل شود.
- کارآیی (Performance): توان عملیاتی یا مقدار داده ارسال یا دریافت شده در مدت زمان معین، معیار عملکرد یک سیستم ذخیرهساز است.
- هزینه (Cost): هزینه راهاندازی تا نگهداری و … تفاوتی که حتی با ارزانتر بودن File Storage بهدلیل مقیاسپذیر بودن object storage (ذخیره سازی اشیا) این ذخیرهساز بالاتر قرار میگیرد.
- پروتکل دسترسی (Access protocol): ذخیرهسازی فایل از سیستم فایل شبکه (NFS) و ذخیرهساز اشیا از HTTP برای دسترسی به داده ها استفاده میکنند.
سرور استوک
Object storage در مقابل database
object storage (ذخیره سازی اشیا) با تمام ویژگیهایی که در ارائه توان عملیاتی ارائه میدهد، در تامین IOPS چندان ماهر نیست. این امر باعث میشود تا استفاده از آن برای تجزیه و تحلیل Database یا پایگاه رد شود، بدون اینکه به یادگیری ماشینی و دیگر انواع برنامههای کاربردی I/O اشاره داشته باشد.
علاوه بر این ذخیرهسازی اشیا فقط برای دادههای بدون ساختار مورد استفاده قرار میگیرد، در حالیکه پایگاههای اطلاعاتی (database) در مورد ذخیره «فراداده قابل تغییر (mutable metadata)» عمل میکنند. همچنین در زمینهی مقیاس فضای ذخیرهسازی object storage میتواند حجم عظیمی از دادههای بدون ساختار را در فضای ابری ذخیره سازد اما حجم ذخیرهسازی پایگاه دادههای سازمانی بسیار کوچک است. این در حالی است که ذخیرهسازی دادهها در یک database سنتی با ردیفها و ستونها مطابقت ندارند یا بهراحتی قابل سازماندهی نیستند.