
متن فیلم
بعد از پایگاه های داده رابطه ای میایم سراغ پایگاه های داده غیر رابطه ای و در مورد ویژگی ها و تمایز اونها با پایگاه های داده رابطه ای صحبت می کنیم و اینکه این پایگاه های داده امکان ذخیره و بازیابی کدوم دسته از داده ها رو فراهم میکنند. NoSQL که مخفف «not only SQL» یا گاهی اوقات «non SQL» است، یک طراحی پایگاه داده غیر رابطهای است که طرحوارههای انعطافپذیری را برای ذخیرهسازی و بازیابی دادهها فراهم میکند. پایگاههای داده NoSQL سالهاست که وجود دارند، اما اخیراً در عصر ابر، کلانداده و برنامههای کاربردی وب و موبایل با حجم بالا محبوبیت بیشتری پیدا کردهاند. امروزه آنها به دلیل ویژگیهایشان در مورد مقیاسپذیری، کارایی و سهولت استفاده انتخاب میشوند. تأکید بر این نکته مهم است که «No» در «NoSQL» مخفف «not only» است و نه خود کلمه «No». پایگاههای داده NoSQL برای مدلهای داده خاص ساخته شدهاند و طرحوارههای انعطافپذیری دارند که به برنامهنویسان امکان ایجاد و مدیریت برنامههای مدرن را میدهد. آنها از طراحی سنتی پایگاه داده سطر/ستون/جدول با طرحوارههای ثابت استفاده نمیکنند و معمولاً از زبان پرسوجوی ساختاریافته (یا SQL) برای پرسوجوی دادهها استفاده نمیکنند، اگرچه برخی ممکن است از رابطهای SQL یا SQL مانند پشتیبانی کنند. NoSQL اجازه میدهد دادهها به صورت بدون طرحواره یا فرم آزاد ذخیره شوند. هر دادهای، چه ساختاریافته، چه نیمهساختاریافته یا بدون ساختار، میتواند در هر رکوردی ذخیره شود. بر اساس مدلی که برای ذخیره دادهها استفاده میشود، چهار نوع رایج پایگاه داده NoSQL وجود دارد. ذخیره کلید-مقدار، مبتنی بر سند، مبتنی بر ستون و مبتنی بر گراف. پایگاه داده کلید-مقدار. دادهها در یک پایگاه داده کلید-مقدار به صورت مجموعهای از جفتهای کلید-مقدار ذخیره میشوند. کلید نشاندهنده یک ویژگی از دادهها است و یک شناسه منحصر به فرد است. کلید و مقدار میتوانند هر چیزی از اعداد صحیح یا رشتههای ساده گرفته تا اسناد پیچیده JSON باشند. پایگاههای داده کلید-مقدار برای ذخیره دادههای جلسه کاربر، تنظیمات کاربر، ارائه توصیههای بلادرنگ، تبلیغات هدفمند و کش کردن دادههای درون حافظه عالی هستند. با این حال، اگر میخواهید بتوانید دادهها را بر اساس مقدار خاصی جستجو کنید، به روابط بین مقادیر داده نیاز دارید یا به چندین کلید منحصر به فرد نیاز دارید، یک پایگاه داده کلید-مقدار ممکن است بهترین گزینه نباشد. Redis، Memcached و DynamoDB نمونههای شناخته شدهای در این دسته هستند. مبتنی بر سند: پایگاههای داده سند، هر رکورد و دادههای مرتبط با آن را در یک سند واحد ذخیره میکنند. آنها امکان شاخص گذاری انعطافپذیر، پرسوجوهای موقت قدرتمند و تحلیل را نسبت به مجموعه اسناد فراهم میکنند. پایگاههای داده سند برای پلتفرمهای تجارت الکترونیک، ذخیرهسازی سوابق پزشکی، پلتفرمهای CRM و پلتفرمهای تحلیل ترجیح داده میشوند. با این حال، اگر به دنبال اجرای پرسوجوهای جستجوی پیچیده و تراکنشهای چند عملیاتی هستید، یک پایگاه داده مبتنی بر سند ممکن است بهترین گزینه برای شما نباشد. MongoDB، DocumentDB، CouchDB و Cloudant برخی از پایگاههای داده مبتنی بر سند محبوب هستند. مبتنی بر ستون: مدلهای مبتنی بر ستون، دادهها را در سلولهایی که به عنوان ستونهای داده گروهبندی شدهاند، به جای ردیفها، ذخیره میکنند. یک گروهبندی منطقی از ستونها، یعنی ستونهایی که معمولاً با هم قابل دسترسی هستند، خانواده ستون نامیده میشود. به عنوان مثال، نام و اطلاعات پروفایل یک مشتری به احتمال زیاد با هم قابل دسترسی خواهند بود اما سابقه خرید آنها قابل دسترسی نیست. بنابراین، دادههای نام و اطلاعات پروفایل مشتری را میتوان در یک خانواده ستون گروهبندی کرد. از آنجایی که پایگاههای داده ستونی، تمام سلولهای مربوط به یک ستون را به عنوان یک ورودی دیسک پیوسته ذخیره میکنند، دسترسی و جستجوی دادهها بسیار سریع میشود. پایگاههای داده ستونی میتوانند برای سیستمهایی که نیاز به درخواستهای نوشتن سنگین، ذخیره دادههای سری زمانی، دادههای آب و هوا، و دادههای اینترنت اشیا دارند، عالی باشند. اما اگر نیاز به استفاده از پرسوجوهای پیچیده یا تغییر مکرر الگوهای پرسوجو دارید، این ممکن است بهترین گزینه برای شما نباشد. محبوبترین پایگاههای داده ستونی Cassandra و HBase هستند. مبتنی بر گراف: پایگاههای داده مبتنی بر گراف از یک مدل گرافیکی برای نمایش و ذخیره دادهها استفاده میکنند. آنها به ویژه برای مصورسازی، تحلیل و یافتن ارتباط بین تکه های مختلف داده مفید هستند. دایرهها گرهها و حاوی دادهها هستند. فلشها روابط را نشان میدهند. پایگاههای داده گرافی انتخاب عالی برای کار با دادههای متصل هستند، یعنی دادههایی که شامل بسیاری از روابط به هم پیوسته هستند. پایگاههای داده گرافی برای شبکههای اجتماعی، توصیههای محصول در زمان واقعی، نمودارهای شبکه، تشخیص کلاهبرداری و مدیریت دسترسی عالی هستند. اما اگر میخواهید حجم بالایی از تراکنشها را پردازش کنید، ممکن است بهترین انتخاب برای شما نباشد، زیرا پایگاههای داده گرافی برای پرسوجوهای تحلیلی با حجم زیاد بهینه نشدهاند. Neo4J و CosmosDB از جمله پایگاههای داده گرافی محبوبتر هستند. NoSQL در پاسخ به محدودیتهای فناوری پایگاه داده رابطهای سنتی ایجاد شد. مزیت اصلی NoSQL توانایی آن در مدیریت حجم زیادی از دادههای ساختاریافته، نیمهساختاریافته و بدون ساختار است. برخی از مزایای دیگر آن عبارتند از: قابلیت اجرا به عنوان سیستمهای توزیعشده مقیاسپذیر در چندین مرکز داده، که آنها را قادر میسازد از زیرساخت محاسبات ابری بهرهمند شوند؛ معماری مقیاسپذیر کارآمد و مقرونبهصرفه که با افزودن گرههای جدید، ظرفیت و کارایی بیشتری را فراهم میکند؛ طراحی سادهتر، کنترل بهتر بر قابلیت دسترسی و مقیاسپذیری بهبود یافته که آن را چابکتر و انعطافپذیرتر کرده و از تکرارهای سریع پشتیبانی میکند. خلاصه تفاوتهای کلیدی بین پایگاههای داده رابطهای و غیررابطهای: طرحوارههای RDBMS به طور دقیق نحوه تایپ و ترکیب تمام دادههای وارد شده به پایگاه داده را تعریف میکنند، در حالی که پایگاههای داده NoSQL میتوانند بدون الگو باشند و امکان ذخیره و دستکاری دادههای بدون ساختار و نیمه ساختار یافته را فراهم کنند. نگهداری سیستمهای مدیریت پایگاه داده رابطهای تجاری و سطح بالا گران است، در حالی که پایگاههای داده NoSQL به طور خاص برای سختافزارهای کم هزینه طراحی شدهاند. پایگاههای داده رابطهای، برخلاف اکثر NoSQL، از انطباق با ACID پشتیبانی میکنند که قابلیت اطمینان تراکنشها و بازیابی خرابی را تضمین میکند. RDBMS یک فناوری بالغ و مستندسازیشده است، به این معنی که خطرات آن در مقایسه با NoSQL که یک فناوری نسبتاً جدیدتر است، کم و بیش قابل درک هستند. با این وجود، پایگاههای داده NoSQL آمدهاند که بمانند و به طور فزایندهای برای برنامههای حیاتی مورد استفاده قرار میگیرند.
NoSQL
توضیحات
پایگاه های داده غیر رابطه ای، ویژگیها و تمایز آنها با پایگاههای داده رابطهای