کانال تلگرام

انواع مختلف پایگاه داده : چیزهایی که باید بدانید!!

تاریخ : ۱۶ دی ۱۳۹۸
نویسنده : امیر حسین نصر
دسته بندی ها : پایگاه داده

طبق رتبه بندی DB-Engines، محبوب ترین سیستم های مدیریت پایگاه داده از نوع رابطه ای هستند. آنها سهم بزرگی از بازار را به خود اختصاص داده اند، از این رو، این نوع سیستم ها تنها پایگاه های داده ای هستند که افراد مبتدی بیشتر از آنها آگاه هستند.

database1

با این حال انواع مختلفی از بانکهای اطلاعاتی وجود دارد که هر یک روشی متفاوت را برای دستیابی و ذخیره سازی داده ها دنبال میکنند. دانستن تفاوت های این نوع بانک های اطلاعاتی برای استفاده صحیح و به جا از آنها امری ضروری است. در این مقاله راهنمای مفصلی در مورد انواع بانک های اطلاعاتی آماده کرده ایم تا به شما در انتخاب صحیح آنها کمک کند.

قبل از پایگاه های داده ای مدرن چه چیز هایی وجود داشت؟

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

از آنجایی که در این حالت هیچ ارتباطی بین این فیلد ها وجود نداشت، جستجو و پیمایش در یک پایگاه داده مسطح بسیار دشوار بود. با این حال پایگاه های داده ای مسطح برای مقدار کمی از داده ها که فقط باید خوانده میشد و نیازی به دستکاری نداشت مناسب بودند. برای مشاهده نمونه های ساده ای از این نوع پایگاه داده، به فایل های CSV (که مقادیر داخل آن با کاما از هم جدا شده اند) نگاهی بیندازید.

در دهه 1960 شرکت IBM بانکهای اطلاعاتی سلسله مراتبی را معرفی کرد. همانطور که از نام این نوع پایگاه داده پیداست، رکورد ها از طریق یک ساختار درختی و بر اساس روابط پدر و فرزندی به یکدیگر مرتبط می شوند. یک آیتم فقط یک والد می تواند داشته باشد، در حالی که یک والد می تواند چندین فرزند داشته باشند. این اولین قدم برای حرکت به سوی پایگاه های داده ای رابطه ای بود.

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

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

پایگاه های داده ای رابطه ای در مقابل پایگاه های داده ای غیر رابطه ای

هنگامی که به انواع بانکهای اطلاعاتی مدرن می پردازیم انواع رابطه ای به وضوح از پرکاربرد های این عرسه هستند. ادگار اف این اصطلاح را در سال 1962 هنگام کار در IBM ابداع کرد. MySQL ، PostgreSQL یا SQL Server همه نمونه های عالی از پایگاه های داده ای رابطه ای هستند.

نام آنها همچنین حاوی یک نشانه است: برای دسترسی و دستکاری داده ها، باید SQL (ساختار پرس وجوی ساختار یافته) را بدانید. SQL دارای استانداردهایی است که به خوبی تثبیت شده و اجازه می دهد تا داده های شما به راحتی قابل حمل باشند.

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

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

در حال حاضر داده ها میتواند به معنای تصاویر، فیلم ها و حتی پست هایی که در رسانه های اجتماعی قرار میگیرد باشد. برای کار با داده های که نمیتوان آنها را در غالب جدول ذخیره سازی کرد، به یک پایگاه داده غیر رابطه ای نیاز دارید. توسعه دهندگان گاهی اوقات آنها را به عنوان پایگاه های داده ه ای NoSQL میشناسند: این نوع از پایگاه های داده برخلاف پایگاه های رابطه ای ، از پرس و جوهای Sql پشتیبانی نمیکنند.

بانک های اطلاعاتی مبتنی بر اسناد

در یک پایگاه داده ای سند محور(که اغلب با نام محل ذخیره اسناد نیز شناخته میشود)، داده ها در مجموعه های اسناد نگهداری می شوند، این داده ها معمولاً با استفاده از قالب های JSON ، XML یا BSON ذخیره سازی میشوند. یک رکورد می تواند به اندازه نیاز شما داده ی مد نظر شما را در خود ذخیره کند، هیچ محدودیتی وجود ندارد. یک ساختار داخلی خاص در یک سند واحد وجود دارد ، با این حال این ساختار می تواند از یک سند به سند دیگر متفاوت باشد. میتوانید از آنها به صورت تودرتو نیز استفاده کنید.

در بین پایگاه های داده ای غیر رابطه ای، بانک های اطلاعاتی مبتنی بر اسناد محبوب ترین هستند. بهترین نمونه می تواند MongoDB باشد که در حال حاضر بیش از 400 میلیون بار در سطح جهان دانلود شده است. این پایگاه داده در ابتدا در سال 2008 معرفی شد و اکنون توسط غول های صنعت مانند Barclays و Bosch استفاده می شود.

توسعه دهندگان این بانک اطلاعاتی را به خاطر منحنی یادگیری ساده و چابکی فوق العاده آن بسیار دوست دارند. میتوانید برای استفاده از MongoDB از نسخه های رایگان Community و یا نسخه پولی Enterprise استفاده کنید.  هر دوی آنها در ویندوز، Linux و MacOS اجرا می شوند.

پایگاه های داده ای کلید-مقدار

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

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

پایگاه های داده ای کلید-مقدار در مقایسه با پایگاه های داده ای رابطه ای، بسیار سبک تر هستند. این ویژگی باعث شده است، این نوع پایگاه های داده ای به یکی از بهترین انواع بانک اطلاعاتی برای تعبیه شدن، تبدیل شوند. در سال 2019، محبوب ترین بانک اطلاعاتی کلید-مقدار Redis بود. این پایگاه داده همچنین سه سال متوالی به عنوان محبوب ترین پایگاه داده ای در میان پایگاه های غیر رابطه ای شناخته شده است.

پایگاه های داده ای گراف

با استفاده از یک پایگاه داده ای گراف، دو نوع داده برای مدیریت دارید. Node ها مخفف آیتم های موجود در پایگاه داده هستند و edge ها روابط میان آنها را تعریف می کنند، که به آنها گراف نیز می گویند. در نگاه اول، به نظر می رسد پایگاه داده های گراف شبیه به بانک های اطلاعاتی شبکه ای قدیمی هستند، اما تفاوت هایی با آنها دارند.

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

بانک های اطلاعاتی ستونی

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

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

با این حال یک تفاوت آشکار وجود دارد: در این حالت، یک ستون در تمام سطرها استفاده نمیشود. به این معنا که ردیف های مختلف می توانند ستون های مختلفی داشته باشند. جدای از ستون ها، هر سطر دارای یک شناسه نیز می باشد که به آن کلید گفته می شود و هر ستون دارای یک نام، یک مقدار و یک timestamp است. نمونه های خوب بانک های اطلاعاتی ستونی عبارت اند از : Cassandra ، Vertica و Druid.

انواع بانک های اطلاعاتی : بانک های اطلاعاتی بعدی کدامند؟

در سال 2011 ، متیو اصلت اولین کسی بود که از اصطلاح NewSQL استفاده کرد. آنچه به آن اشاره می شود ، جدیدترین نسل از راه حل های ذخیره داده است: مواردی که مقیاس پذیری NoSQL را با قابلیت های ACID از پایگاه های داده ای رابطه ای ترکیب میکند. امیدوارم این مقاله توانسته باشد به اطلاعات شما در زمینه بانک های اطلاعاتی بیفزاید.
 

اطلاعات مقاله


تاریخ انتشار : ۱۶ دی ۱۳۹۸
نویسنده : امیر حسین نصر
اشتراک گذاری در :

مقالات پیشنهادی

مشاهده همه مقالات
ثبت دیدگاه

برای ارسال دیدگاه لازم است ابتدا وارد سایت شوید