آشنایی با مفهوم scaling horizontally وscaling vertically در دیتابیس ها

علی حسین شهابی

1395/8/14

نظر0

با سلام خدمت دوستان گرامی

می خواهم خیلی خلاصه درباره دو مفهوم scaling horizontally و scaling vertically صحبت کنم که این اواخر خیلی زیاد پرسیده شده .

Horizontal scaling یا بزرگ کردن افقی به معنی افزایش مقیاس دیتابیس با استفاده از افزایش سرور ها است . به این منظور که شما به راحتی با افزایش سرورها و کنار هم قرار دادن آنها می توانید به بزرگ کردن scale بپردازید که در دیتابیس های جهان اغلب به صورت پارتیشن بندی کردن دیتاها ( partitioning  ) انجام می شود که در این صورت هر node یا سرور تنها بخشی از کل دیتاها را نگهداری می کند .

Vertical scaling یا بزرگ کردن عمودی, بزرگ کردن و مقیاس دادن را با استفاده از افزایش resources های سرور یعنی تعداد cpu و ram در سرور جاری انجام می دهید . در Vertical scaling داده ها غالبا روی یک node یا سرور قرار دارند و شما می توانید در صورت نیاز به افزایش تعداد  cpu و ram آن بپردازید .

معمولا پیاده سازی Horizontal scaling ساده تر و داینامیک تر می باشد  و تغریبا بدون محدودیت می توانید سرورهای جدیدی را برای افزایش مقایس , اضافه کنیم اما در Vertical scaling نهایت دچار محدودیت ظرفیت cpu و ram می شویم.

مثال های خوبی که می توان برای Horizontal scaling زد :

  • Cassandra
  • MongoDB

مثالهایی که می توان برای Vertical scaling زد

برخی از دیتابیس های In-Memory نیز هستند که هر دو مدل Horizontal scaling و Vertical scaling را پشتیبانی می کنند:

که احتمالا دلیل این پشتیبانی این است که داده ها در دیسک ذخیره نمی شوند .

خوشحال میشوم تجربیات و نظرات خودتان را در مورد این دو مفهوم  به منظور افزایش جا افتادن قضیه در نظرات اعلام کنید .

اینستاگرام علی حسین شهابی لینکدین علی حسین شهابی

0 نظر

ارسال نظر جدید

 
Not signed in

کلیه حقوق مادی و معنوی , متعلق به سایت (Alihossein.ir)می باشد ,انتشار مطالب بدون ذکر منبع از نظر اخلاقی و شرعی صحیح نمی باشد.