پایگاهداده یک جزء نرم افزاری است که تقریباً حضورش در هر برنامه مدرنی حیاتی است. در حال حاضر در دنیا پایگاهدادههای بیشماری در حال استفاده هستند و تعداد آنها مدام در حال افزایش است. شناخت انواع اصلی پایگاهداده به شما کمک میکنه تا پایگاه داده مناسب هر نوع پروژه را انتخاب کنید.
پایگاهداده چیست؟
سیستم مدیریت پایگاهداده(DBMS)، نرمافزاری برای ذخیره، سازماندهی، مدیریت و بازیابی دادهها است. به آن مانند دستهای از جداول عظیم فکر کنید که اطلاعات را سازماندهی میکند. سیستمهای مدیریت پایگاهداده در اشکال و اندازههای مختلفی وجود دارند که هر کدام برای انجام کارهای متفاوت با انواع مختلفی از دادهها طراحی شدهاند.
چه نوع اطلاعاتی در پایگاهداده ذخیره میشود؟
پایگاهداده در اکثر برنامههای مدرن استفاده میشود، چه پایگاهداده در تلفن شخصی، رایانه یا اینترنت شما باشد. یک سیستم پایگاهداده عملیاتی بسیاری از دادههایی را که یک برنامه برای عملکرد نیاز دارد ذخیره میکند، دادهها را سازماندهی میکند و به کاربران امکان دسترسی به دادهها را میدهد.
برای مثال اگر در حال ساختن یک برنامه ایکامرس هستید، برخی از دادههایی که ممکن است به آنها دسترسی داشته باشید و در سیستم پایگاهداده خود ذخیره کنید شامل موارد زیر است:
- دادههای مشتری: مانند نام کاربری، آدرس ایمیل و تنظیمات پیشفرض هر کاربر.
- دادههای کسبوکار: مانند رنگهای محصول، قیمتها و رتبهبندیها.
- دادههای رابطهای: مانند موقعیتهای مکانی فروشگاهها با یک محصول خاص در انبار.
چند نوع پایگاهداده وجود دارد؟
نزدیک به دوازده نوع پایگاهداده وجود دارد. برخی از دسته بندی های رایج پایگاهداده عبارتند از:
پایگاهداده سلسله مراتبی
پایگاهداده سلسله مراتبی که در ۱۹۶۰ توسعه یافت، شبیه به یک شجرهنامه است. یک شی واحد مانند والد، یک یا چند شی مانند فرزند در زیر خود دارد. هیچ فرزندی نمیتواند بیش از یک والد داشته باشد. پایگاهداده سلسله مراتبی عملکرد بالایی را ارائه میدهد، زیرا در این مدل پایگاهداده دسترسی آسان و زمان جستجوی سریع وجود دارد. رجیستری ویندوز یکی از نمونه های این سیستم است.(بیشتر بخوانید.)
پایگاهداده رابطهای
پایگاهداده رابطهای سیستمی است که در ۱۹۷۰ طراحی شدهاست. این پایگاهداده معمولاً از زبان SQL برای عملیاتهایی مانند ایجاد، خواندن، بهروزرسانی و حذف دادهها استفاده میکند. این مدل از پایگاهدادهها، داده را در جداول مجزا ذخیره میکند که میتوانند توسط فیلدهایی به نام کلیدهای خارجی به یکدیگر متصل شوند. برای مثال، ممکن است یک جدول کاربر داشته باشید که حاوی دادههای مربوط به کاربران است، و جدولی دیگر که حاوی دادههایی درباره خریدهایی است که کاربران انجام دادهاند. MySQL، Microsoft SQL Server و Oracle نمونههایی از این مدل هستند.
پایگاهداده غیر رابطهای
سیستمهای مدیریت غیر رابطهای معمولا به عنوان NoSQL شناخته میشوند. این نوع پایگاهداده به دلیل استفادهی آن در برنامههای کاربردی مدرنتر و پیچیدهتر به بلوغ رسید. انواع این پایگاههای اطلاعاتی در دهه گذشته افزایش یافته است. به عنوان مثال می توان به MongoDB و Redis اشاره کرد.
NoSQL یک اصطلاح کلی برای هر سیستم جایگزینی برای پایگاهداده های سنتی SQL است. گاهی اوقات، وقتی می گوییم پایگاهداده NoSQL، منظور هر پایگاهدادهای است که از مدل رابطهای استفاده نمیکند. پایگاهدادههای NoSQL از مدل دادهای استفاده میکنند که ساختار متفاوتی نسبت به ساختار جدولی در پایگاهدادههای رابطهای دارد.
پایگاهداده شیگرا
یک پایگاهداده شیگرا بر اساس اصول برنامه نویسی شیگرا (OOP) ساخته شده است. در یک پایگاهداده شیگرا، دادهها به عنوان اشیا سازماندهی و ذخیره میشوند. اشیا واحدهای مستقلی هستند که هم شامل دادهها و هم عملیاتهایی هستند که میتوان روی آن دادهها انجام داد. این به نمایش و مدیریت کارآمد ساختارهای داده و روابط پیچیده آنها کمک میکند. پایگاهدادههای شی گرا اغلب در برنامه هایی استفاده میشوند که نیاز به مدیریت کارآمد ساختارهایداده و روابط پیچیده دارند، مانند سیستم های CAD/CAM، سیستم های اطلاعات جغرافیایی و سیستم های مدیریت اسناد.
پایگاهداده رابطهای در مقابل غیر رابطهای
چه زمانی باید از پایگاهداده NoSQL استفاده کرد؟ انواع مختلف پایگاهداده دارای نقاط قوت و ضعف متفاوتی هستند. از آنجایی که سیستمهای مدیریت داده رابطه محور محبوب هستند، ارزش این را دارد که بررسی کنیم که یک پایگاهداده غیررابطهای مانند پایگاهداده NoSQL نسبت به آنها چه مزایایی دارد.
نقاط مثبت پایگاهداده رابطهای:
- اکثریت سیستمهایی که از ۱۹۷۰ تا کنون ساخته شدهاند از این مدل استفاده میکنند.
- برای کار با مجموعهدادههای ساختاریافته بهینه شدهاست.
- این مدل از پایگاهداده، پشتیبانی بهتری برای نرمالسازی دادهها ارائه می دهد.
- اصلیترین و مهمترین دلیل، از زبان SQL استفاده میکند.
شبکه پایگاهداده غیررابطهای به عنوان یک جایگزین قانع کننده ظاهر شده است زیرا دارای مزایای زیر است:
- یک پایگاهداده رابطهای انعطاف پذیرتر و مدیریت آن آسان تر است. بسیاری از سیستمهای مدیریت پایگاهداده رابطهای نمی توانند به راحتی با دادههای نیمه ساختاریافته کار کنند. برای مثال در یک برنامه در حال توسعه، تبعیت سیستمهای مدیریت پایگاهداده رابطهای از یک طرح دقیق، آنها رو انعطاف ناپذیر میکند.
- پایگاهداده تحمل خطا دارد و دادهها در نهایت دادهها با یکدیگر سازگار میشوند (اگرچه می تواند بر اساس تنظیمات پیکربندی هر پایگاهداده متفاوت باشد).
- یک پایگاهداده NoSQL برای مجموعههای بزرگی از دادهها کارایی بالایی دارد و در مقیاسبندی برای برآورده کردن نیازها بهتر است. سیستمهای مدیریت پایگاهداده رابطهای معمولاً برای مقیاس افقی طراحی نشدهاند و ممکن است تحت حجم عظیمی از دادهها آسیب ببینند. حجم دادهها در برنامهها را نمیتوان به همان اندازه که در پایگاهدادههای NoSQL می توان، ارائه کرد.
on انواع پایگاهداده