سیستمهای ذخیرهسازی مقیاسپذیر
سیستمهای ذخیرهسازی مقیاسپذیر دادهها را در چندین ماشین توزیع میکنند تا ظرفیت، توان عملیاتی و دسترسی فراتر از یک سرور واحد را فراهم آورند، در حالی که خرابیهای گرههای منفرد را پنهان میکنند.
Definition
یک سیستم ذخیرهسازی مقیاسپذیر دادهها را در یک خوشه از ماشینها ذخیره میکند، آن را برای ظرفیت و توان عملیاتی تقسیمبندی میکند و برای دوام و دسترسی تکثیر میکند، به طوری که سیستم کلی با تعداد گرهها مقیاسپذیر باشد و در عین حال خرابیهای گرههای منفرد را تحمل کند.
Scope
این موضوع شامل سیستمهای فایل توزیعشده طراحیشده برای خوشههای کالایی، ذخیرهسازهای کلید-مقدار توزیعشده و ستون-گسترده، و تکنیکهای پوشش ساختاریافته—هشینگ سازگار و جداول هش توزیعشده—است که برای تقسیمبندی و مکانیابی دادهها در مقیاس بزرگ استفاده میشوند. این موضوع تقسیمبندی دادهها (شاردینگ)، تکثیر برای دوام، و مبادلات سازگاری و دسترسی را پوشش میدهد که ذخیرهسازهای با سازگاری قوی را از ذخیرهسازهای با دسترسی بالا متمایز میکند.
Core questions
- چگونه دادهها در مجموعهای بزرگ و در حال تغییر از گرهها تقسیمبندی و مکانیابی میشوند؟
- چگونه دوام و دسترسی با وجود خرابیهای مکرر گرهها حاصل میشود؟
- یک ذخیرهساز مقیاسپذیر چه تضمینهای سازگاری میتواند ارائه دهد و با چه هزینهای؟
Key theories
- سیستمهای فایل خوشهای
- سیستمهایی مانند سیستم فایل گوگل، فایلهای عظیم را به صورت قطعاتی که در سرورهای کالایی تکثیر شدهاند، ذخیره میکنند و برای دسترسی ترتیبی بزرگ بهینه شدهاند و خرابیها را به جای استثنا، به عنوان یک قاعده در نظر میگیرند.
- ذخیرهسازهای ساختاریافته توزیعشده
- ذخیرهسازهای ستون-گسترده و کلید-مقدار مانند Bigtable و Dynamo دادهها را بر اساس کلید در گرهها تقسیمبندی و تکثیر میکنند، و قابلیت بیان پرسوجو و سازگاری را با مقیاسپذیری افقی و دسترسی مبادله میکنند.
- هشینگ سازگار و جداول هش توزیعشده
- هشینگ سازگار، کلیدها و گرهها را بر روی یک حلقه نگاشت میکند به طوری که افزودن یا حذف یک گره تنها بخش کوچکی از کلیدها را جابجا میکند، و جداول هش توزیعشده مانند Chord، جستجوی کلید مقیاسپذیر و غیرمتمرکز را با مسیریابی لگاریتمی فراهم میکنند.
Clinical relevance
ذخیرهسازی مقیاسپذیر، پایه و اساس بادوام پلتفرمهای ابری و خدمات وب بزرگ است: ذخیرهسازهای شیء، پایگاههای داده، و خطوط لوله تحلیل همگی بر سیستمهای فایل توزیعشده و ذخیرهسازهای کلید-مقدار استوار هستند که انتخابهای تقسیمبندی و تکثیر آنها، تضمینهای دوام و سازگاری سیستم را تعیین میکند.
History
جداول هش توزیعشده همتا به همتا مانند Chord (2001) جستجوی غیرمتمرکز مقیاسپذیر را نشان دادند؛ سیستم فایل گوگل (2003) و Bigtable (2006-2008) ذخیرهسازی در مقیاس خوشه برای دادههای ساختاریافته را به نمایش گذاشتند؛ و Dynamo آمازون (2007) ذخیرهسازی کلید-مقدار با دسترسی بالا را محبوب کرد، که همگی بنیانگذار چشمانداز مدرن ذخیرهسازی مقیاسپذیر و NoSQL هستند.
Debates
- سازگاری قوی در مقابل دسترسی بالا در ذخیرهسازی
- ذخیرهسازهای با سازگاری قوی منطق برنامه را ساده میکنند اما باید در شرایط تقسیمبندی، دسترسی را فدا کنند، در حالی که ذخیرهسازهای با دسترسی بالا مانند Dynamo واگرایی موقت را میپذیرند و حل تعارض را به برنامه واگذار میکنند؛ انتخاب صحیح بستگی به تحمل دادهها در برابر کهنگی دارد.
Key figures
- Sanjay Ghemawat
- Werner Vogels
- Ion Stoica
- Hari Balakrishnan
Related topics
Seminal works
- ghemawat2003
- decandia2007
- stoica2001
Frequently asked questions
- هشینگ سازگار چه مشکلی را حل میکند؟
- هنگامی که دادهها با هش کردن کلیدها در گرهها تقسیمبندی میشوند، هشینگ ساده تقریباً همه چیز را هنگام افزودن یا حذف یک گره بازآرایی میکند. هشینگ سازگار، کلیدها و گرهها را بر روی یک حلقه مرتب میکند به طوری که چنین تغییری تنها بخش کوچک و محدودی از کلیدها را جابجا میکند، که برای خوشههای الاستیک و در حال تغییر ضروری است.