چگونه پایگاه داده مناسب برای پروژه را انتخاب کنیم؟

انتخاب پایگاه داده مناسب برای پروژه اغلب می تواند نقش حیاتی در موفقیت آن پروژه داشته باشد. بهتر است قبل از انتخاب ناآگاهانه پایگه داده خود، اطلاعاتی در مورد داده های پروژه و هدف و الزامات پروژه جمع آوری و بررسی نمایید.

در قسمت زیر بهترین سوالاتی که می توانید هنگام انتخاب پایگاه داده مطرح کنید، آورده شده است:

  • وقتی پروژه کامل شود، چه مقدار داده انتظار دارید که ذخیره شده باشد؟
  • در برنامه های تحت وب، چه تعداد کاربر را می توانید به صورت همزمان مدیریت کنید؟
  • برنامه شما به چه میزان دسترسی، مقیاس پذیری، تأخیر، توان عملیاتی و داده نیاز دارد؟
  • چند بار طرح و برنامه پایگاه داده قرار است تغییر کند؟
  • شکل و نوع طبیعی داده های شما چگونه است1؟
  • آیا برنامه شما به پردازش معاملات آنلاین (OLTP)، پرس و جو های تحلیلی (OLAP) یا هر دو نیاز دارد؟
  • چه نسبتی از خواندن به نوشتن را تولید نیاز دارید؟
  • زبان های برنامه نویسی مورد نظر شما کدام ها هستند؟
  • بودجه شما در چه اندازه است؟
انتخاب پایگاه داده مناسب برای پروژه

انتخاب پایگاه داده مناسب برای پروژه

چه مقدار داده ذخیره می کنید؟

اگر تخمین شما در حدود گیگابایت و با کمتر است، تقریبا هر نوع بانک اطلاعاتی می تواند نیاز شما را رفع می کند. همچنین پایگاه های داده in-memory نیز می تواند نیاز های شما را رفع کند. هنوز بسیاری از پایگاه های داده برای مدیریت داده ها در مقیاس ترابایت وجود دارد.

اگر مقدار داده شما بیشتر است ( در حدود پتابایت و …)، پس فقط چند دیتابیس می تواند کار شما را به خوبی راه بیاندازد و شما باید برای هزینه های قابل توجه ذخیره سازی و نگهداری داده ها و هزینه های عملیاتی آماده باشید. در این مقیاس ممکن است بخواهید فضای ذخیره سازی مرتبی داشته باشید که در این صورت داده های مورد نیاز و در حال پردازش (در اصطلاح live) می توانید به صورت in-memory (در حافظه RAM) یا در حافظه های محلی SSD اجرا کنید تا سرعت پردازش بالا رود. دیگر داده های نیز می توانند بر روی هارد دیسک ها قرار گیرند تا نوبت به پردازش آن ها برسد.

تعداد کاربر های همزمان

تخمین تعداد کاربرانی که به طور همزمان می توانند از سرور استفاده کنند، به عنوان یک تمرین اندازه سرور که دقیقا قبل از نصب پایگاه داده باید صورت بگیرد. متاسفانه بسیاری از دیتابیس ها نمی توانند کوئری های ترابایت ها داده های کاربران را به دلیل مشکلات مقیاس پذیری مدیریت کنند.

انتخاب پایگاه داده مناسب برای پروژه

انتخاب پایگاه داده مناسب برای پروژه

نیاز های شما چیست؟

نیاز ها در این بخش اشاره به دسترس پذیری، مقیاس پذیری، تأخیر، توان عملیاتی و سازگاری داده دارد.

در دسترس بودن اغلب معیار اصلی برای دیتابیس های تراکنشی است. تعدادی پایگاه داده ابری تا زمانی که آن ها را در مناطق دسترسی پذیر چندگانه اجرا کنید، دسترس پذیری 99.999% را ارائه می دهند. پایگاه های داده درون سازمانی (On-premises) معمولا می توانند برای دسترس پذیری بالا خارج از مدت زمان نگهداری برنامه ریزی شده، پیکربندی شوند.

مقیاس پذیری، به ویژه مقیاس پذیری افقی، از لحاظ تاریخی برای پایگاه های داده NoSQL بهتر از SQL بوده است، اما چندین پایگاه داده SQL در حال پیاده سازی آن هستند. انجام مقیاس پذیری پویا در فضای ابری به مراتب ساده تر است. پایگاه های داده با مقیاس پذیری بالا می توانند با استفاده از مقیاس پذیری عمودی یا افقی، تا زمانی که توان عملیاتی برای بار کاری کافی باشد، می توانند بسیاری از کاربران همزمان ار مدیریت کند.

تأخیر هم به زمان پاسخگویی پایگه داده و هم به زمان پاسخگویی اپلیکیشن اشاره دارد. در حالت ایده آل، هر اقدام کاربر کسیری از ثانیه زمان خواهد برد. غالبا این زمان برای پاسخگویی پایگاه داده برای هر تراکنش ساده، حدود 100 میلی ثانیه است. کوئری های تحلیلی و پیچیده می توانند چندین ثانیه یا دقیقه طول بکشند. اپلیکیشن ها می توانند با اجرای این کوئری ها در پس زمینه، زمان پاسخ را حفظ کنند.

بازده یا توان عملیاتی برای یک پایگاه داده OLTP معمولا در هر ثانیه محاسبه می شود. پایگاه های داده با توان بالا می توانند از بسیاری از کاربران همزمان پشتیبانی کنند.

انتخاب پایگاه داده مناسب برای پروژه

انتخاب پایگاه داده مناسب برای پروژه

آیا شمای پایگاه داده شما ثابت است؟

اگر تغییر شمای (Schema) پایگاه داده شما در گذر زمان بعید است، پایگاه های داده SQL گزینه بهتری بری شما است. در غیر این صورت، بانک های اطلاعاتی NoSQL، که بعضی از آن ها حتی از شما نیز پشتیبانی نمی کنند، برای شما بهتر است.

توزیع جغرافیایی کاربران

هنگامی که کاربران شما در سرتاسر جهان هستند، سرعت نور کمی محدودیت و نأخیر در سرعت پاسخگویی پایگاه داده برای کاربران راه دور ایجاد می کند. مگر اینکه سرور های دیگری نیز در منطقه زندگی آن ها مستقر کنید. بعضی از پایگاه های داده، سرور های توزیع شده خواندن-نوشتن را پشتیبانی می کنند. بعضی دیگر سرور های فقط خواندنی را پشتیبانی می کنند و نوشتن اطلاعات توسط یک سرور مستر واحد انجام می شود.

انتخاب پایگاه داده مناسب برای پروژه

انتخاب پایگاه داده مناسب برای پروژه

نسبت خواندن و نوشتن

بعضی پایگاه های داده در خواندن و کوئری ها و بعضی دیگر در نوشتن داده ها سریعتر هستند. ترکیبی از خواندن و نوشتنی که از برنامه خود انتظار دارید، روش مفیدی است که می توانید در معیار های انتخاب پایگاه داده خود قرار دهید. انتخاب بهینه نوع شاخص بین برنامه های با خواندن سنگین (معمولا درخت B) و نوشتن سنگین (درخت LSM) متفاوت است.

بودجه

قیمت دیتابیس ها از رایگان تا بسیار گران قیمت متفاوت هستند. بسیاری از دیتابیس ها دارای نسخه رایگان و پولی هستند که نسخه پولی امکانات بیشتری دارد. علاوه بر این ها، برخی دیتابیس ها در فصای ابری با شیوه های پرداختی متفاوت مانند pay-asyou-go در دسترس هستند.

اگر از یک پایگاه متن باز و رایگان استفاده می کنید، ممکن است مجبور شوید تا قید پشتیبانی را بزنید. تا زمانی که دیتابیس را می توانید به تنهایی روی سرور نصب کرده و از آن نگهداری کنید، این روش می تواند خوب باشد. اما بهتر است تا روی برنامه خود متمرکز شده و نگهداری دیتابیس ابری را برعهده فروشندگان آن بگذارید.

QR:  چگونه پایگاه داده مناسب برای پروژه را انتخاب کنیم؟
به اشتراک بگذارید