برنامه ریزی تا کنکور ارشد و دکتری: مشاوره خصوصیت با استاد رضوی رو رزرو کن!
ویس توضیحات مشاوره رزرو مشاوره
کنکور کامپیوتر
0
ورود | ثبت نام
نظرات
اشتراک
بالا
علاقه‌مندی

اشتراک
 

انواع پایگاه داده های غیر رابطه ای (NoSQL)

این صفحه عالی به معرفی انواع پایگاه داده های غیر رابطه ای یا همان NoSQL پرداخته و کاربردهای آن و دلایل استفاده از پایگاه داده غیر رابطه ای را بررسی کرده

امروزه بسیاری از وب‌سایت‌ها و محیط‌های نرم‌افزاری از پایگاه‌ داده‌ های غیر رابطه ای یا Non-relational database به‌جای پایگاه داده های رابطه ای یا Relational database استفاده می‌کنند. به این پایگاه داده‌ها به‌اصطلاح NoSQL یا Not only SQL نیز گفته می‌شود.

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

انواع پایگاه داده های NoSQL

پایگاه داده های NoSQL به آن دسته از پایگاه داده‌ها گفته می‌شود که از فرم‌های غیر جدولی برای ذخیره داده‌ها استفاده می‌کنند. نحوه ذخیره داده‌ها در پایگاه داده های NoSQL یکسان نیستند و می‌توانند خیلی متفاوت باشند. در لیست زیر 4 تا از مهم‌ترین پایگاه داده های غیر رابطه ای معرفی شده‌اند. در ادامه به بررسی هرکدام از این نوع‌ها می‌پردازیم.

حتما بخوانید :
انواع پایگاه‌ داده

انواع پایگاه داده های غیر رابطه ای

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

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

پایگاه داده‌ های کلید مقدار یکی از ساده‌ترین انواع پایگاه داده های غیر رابطه ای محسوب می‌شود. هر عنصر درون این پایگاه داده به‌صورت یک جفت کلید مقدار ذخیره شده است. تمامی عناصر دارای یک کلید منحصربه‌فرد هستند که بر اساس آنها می‌توان از این پایگاه داده، عناصر را دریافت کرد. داده‌ها یا همان مقادیر (Values) می‌توانند تایپ‌های ساده مانند رشتهرشته یا String چیست ⚡️ نحوه کار با استرینگ در برنامه نویسیرشته یا String چیست ⚡️ نحوه کار با استرینگ در برنامه نویسیاین مقاله به معرفی رشته (String) یا استرینگ در برنامه نویسی، رشته در پایتون، رشته در C++ و همین طور الگوریتم‌های معروف مربوط به رشته ها در برنامه نویسی پرداخته ها (Strings) و اعداد (Numbers) باشند و یا مقادیر پیچیده‌تر مثل آرایهآموزش آرایه در ساختمان داده به زبان ساده و از 0 تا 100آموزش آرایه در ساختمان داده به زبان ساده و از 0 تا 100در این مقاله موارد زیر بررسی شده است : 1- آرایه چیست 2- انواع اندیس گذاری در آرایه 3- انواع آرایه 4- محاسبه آدرس در آرایه 5- محاسبه شماره در آرایه 6- آرایه در برنامه نویسی 7- مزایای استفاده از آرایه و یا ساختمان دادهآموزش ساختمان داده و الگوریتمآموزش ساختمان داده و الگوریتمهر ساختمان داده یک نوع فرمت ذخیره‌سازی و مدیریت داده‌ها در کامپیوتر است، که امکان دسترسی و اصلاح کارآمد آن داده‌ها را برای یکسری از الگوریتم‌ها و کاربردها فراهم می‌کند، در این صفحه به بررسی و آموزش ساختمان داده و الگوریتم پرداخته شده است های دیگری باشند. پایگاه داده‌های کلید مقدار را می‌توان همانند پایگاه داده های رابطه ای (SQL) مانند MySQLmysql چیست؟ بررسی تفاوت مای اس کی یو ال با اس کی یو ال-sqlmysql چیست؟ بررسی تفاوت مای اس کی یو ال با اس کی یو ال-sqlاین مقاله عالی به معرفی mysql می‌پردازد، همچنین ویژگی های MySQL، تفاوت MySQL با SQL و سازگاری این پایگاه داده به سایر سرویس ها را مورد بررسی قرار می‌دهد دید با این تفاوت که تنها از دو ستون کلید و مقدار تشکیل شده‌اند. از ویژگی‌های این پایگاه داده می‌توان به موارد زیر اشاره کرد:

از محبوب‌ترین پایگاه داده‌ های کلید مقدار می‌توان به Redis، Riak و Dynamo اشاره کرد.

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

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

یکی از انواع‌ بسیار محبوب پایگاه داده های NoSQL که بسیاری از برنامه‌ نویسان جاوا اسکریپتجاوا اسکریپت چیست؟ معرفی زبان برنامه نویسی java scriptجاوا اسکریپت چیست؟ معرفی زبان برنامه نویسی java scriptزبان برنامه نویسی جاوا اسکریپت چیست و چه کاربردی دارد؟ این صفحه عالی به بررسی مزایای JavaScript پرداخته و مبانی برنامه نویسی جاوا اسکریپت را آموزش داده از آن استفاده می‌کنند، پایگاه داده‌های مبتنی بر سند یا مبتنی بر داکیومنت هستند. در این نوع پایگاه داده‌ ها، داده‌ها به‌جای ذخیره‌شدن در ستون‌ها (درون جدول) از Documentها استفاده می‌کنند. یک سند می‌تواند JSON باشد، می‌تواند BSON و یا XMLXML یا زبان نشانه گذاری توسعه پذیر چیست؟ فایل xml چیست؟XML یا زبان نشانه گذاری توسعه پذیر چیست؟ فایل xml چیست؟XML مخفف Extensible Markup Language به معنای زبان نشانه گذاری توسعه پذیر است، در این مقاله عالی سولاتی نظیر فایل xml چیست و کاربرد فایل xml چیست پاسخ داده شده و... باشد. انتخاب داکیومنت‌ها می‌تواند به نحوی صورت بگیرد که دریافت داده‌ها متناسب با نوع اپلیکیشن باشد. این کار باعث می‌شود که تبدیلات کمتری صورت بپذیرد. به‌عنوان‌مثال اگر سند دریافتی از وب‌ها مبتنی بر JSON باشد، استفاده از داکیومنت JSON مناسب‌ترین گزینه خواهد بود.

در پایگاه داده های مبتنی بر سند، گروه‌هایی از سندهای مشابه، درون یک کلکسیون یا Collection قرار می‌گیرند؛ درست شبیه به جدول‌ها داخل پایگاه داده‌های رابطه‌ای؛ بااین‌حال که این نوع پایگاه داده‌ها از اسکیما یا شما (Schema) برای ذخیره داده‌ها استفاده می‌کنند، اما باتوجه‌به ماهیت بدون ساختار بودن پایگاه داده های NoSQL، نیازی نیست که حتماً داده‌ها را بر طبق اسکیمای ایجاد شده وارد پایگاه کنیم. ویژگی‌های پایگاه داده مبتنی بر سند:

پایگاه داده‌ های زیادی وجود دارند که مبتنی بر سند هستند. از محبوب‌ترین آنها می‌توان به MongoDB، OrintDB، Apache CouchDB و... اشاره کرد.

پایگاه داده های مبتنی بر جدول

پایگاه داده های مبتنی بر جدول

پایگاه داده‌ های مبتنی بر جدول یا Column-oriented، از جمله پایگاه داده های غیر رابطه ای هستند که داده‌ها را درون جدول ذخیره می‌کنند؛ منتها رکوردها به‌جای ذخیره در سطرها، در ستون‌ها ذخیره می‌شوند؛ بنابراین برای تحلیل تعداد کوچکی از ستون‌ها می‌توانید مستقیماً به ستون‌ها دسترسی داشته باشید تا حافظهحافظه در کامپیوتر، همه چیز در مورد حافظه در معماری کامپیوترحافظه در کامپیوتر، همه چیز در مورد حافظه در معماری کامپیوتردر این مقاله به بررسی کامل حافظه در کامپیوتر، انواع حافظه در کامپیوتر، کش، روش‌های آدرس دهی کش، نگاشت آدرس و موارد دیگر می‌پردازیم زیادی بر روی داده‌های ناخواسته صرف نشود. پایگاه داده‌ های مبتنی بر ستون برای این امر ایجاد شده‌اند که داده‌ها را به‌صورت کارآمد و با سرعت بالا دریافت کنند؛همچنین از پایگاه داده‌ های Column-oriented معمولاً برای ذخیره داده‌های حجیم استفاده می‌شود. از ویژگی‌های این نوع پایگاه داده NoSQL می‌توان به موارد زیر اشاره کرد:

از محبوب‌ترین پایگاه داده‌ ها در این نوع می‌توان به Apache Cassandra، HBase، ScyllaDB، Amazon EMR و CookroachDB اشاره کرد.

پایگاه داده های مبتنی بر گراف

پایگاه داده های مبتنی بر گراف

معمولاً از پایگاه داده‌ های مبتنی بر گرافگراف چیست، آموزش گراف از 0 تا 100 توسط دانشجو ارشد صنعتی شریفگراف چیست، آموزش گراف از 0 تا 100 توسط دانشجو ارشد صنعتی شریفدر این مقاله تمامی مطالب مربوط به گراف از 0 تا 100 تدریس شده است. مواردی همچون : گراف چیست؟ انواع گراف، گراف همبند، مکمل گراف،‌ گراف کامل، گراف جهت دار، گراف بدون جهت،‌ گراف ساده و ... برای منظورهای خاصی استفاده می‌شود و جنبه استفاده همه منظوره ندارد. این پایگاه داده‌ ها بر روابط بین عناصر ذخیره شده درون پایگاه داده تمرکز دارد و داده‌ها را به صورت گره (Nodes) درون پایگاه داده ذخیره می‌کند؛ همچنین به ارتباط‌های بین گره‌ها، Link یا Relationships گفته می‌شود که به صورت یال یا Edge ترسیم می‌شوند. باتوجه‌به ماهیت گراف بودن داده‌ها، از پایگاه داده های NoSQL مبتنی بر گراف برای مسائل بسیار گوناگونی استفاده می‌کنند. به‌عنوان‌مثال:

از ویژگی‌های پایگاه داده‌ های مبتنی بر گراف می‌توان به موارد زیر اشاره کرد:

OrientDB، Neo4J، AllegroGraph و Stardog از جمله پایگاه داده‌ های معروف مبتنی بر گراف محسوب می‌شوند.

چرا از پایگاه داده غیر رابطه ای استفاده کنیم؟

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

خلاصه

موارد گفته شده تا اینجا برای 4 نوع مختلف پایگاه داده های NoSQL را به‌صورت خلاصه در جدول زیر می‌توانید مشاهده کنید:

انواع پایگاه دادهمدل داده ایموارد استفادهقالب ذخیره‌سازیمثال پایگاه داده
کلید مقدار جفت‌های کلید مقدار سیستم کشینگ، مدیریت نشست‌ها (Session)، مدل‌های داده‌ای ساده جفت‌های کلید مقدار Redis، DynamoDB، Riak
مبتنی بر سند سندهای مختلف شبیه به JSON مدیریت محتوا، ایجاد کاتالوگ، ذخیره پروفایل کاربر و... JSON یا BSON MongoDB, Couchbase, RevenDB
مبتنی بر جدول قالب‌های جدولی داده های Time-series، ورک لودهای تحلیلی قالب‌های جدولی Cassandra، HBase
مبتنی بر گراف گراف (به‌صورت گره‌ها و یال‌ها) شبکه‌های اجتماعی، ارتباطات پیچیده، تشخیص کلاه برداری گره‌ها و یال‌ها Neo4j، Amazon Neptune

جمع‌بندی

بااین‌حال که پایگاه داده های NoSQL در طی 10 سال اخیر خیلی بر سرزبان‌ها آمدند؛ اما استفاده از آنها بسیار زیاد شده است و بسیاری از شرکت‌ها این پایگاه داده‌ ها را جایگزین پایگاه داده‌های رابطه‌ای کرده‌اند. پایگاه داده های NoSQL انواع مختلفی دارد که بسته به نوع سازمان و یا هدف از ذخیره داده آنها را انتخاب می‌کنیم. در این مقاله به بررسی مهم‌ترین نوع‌های مقاله پرداخته شد و ویژگی‌های هرکدام را بررسی کردیم.

انواع مختلف پایگاه داده های غیر رابطه ای کدام‌اند؟

معماری پایگاه داده‌ ای NoSQL دارای 4 نوع اصلی است که در لیست زیر آنها را مشاهده می‌کنید:

مخزن‌های کلید مقدار (Key-value stores) - پایگاه داده‌ های مبتنی بر سند (Document-based databases) - پایگاه داده‌ های مبتنی بر جدول (Column-oriented databases) - پایگاه داده‌ های مبنی بر گراف (Graph-Based databases)

آیا می‌توان از پایگاه داده های غیر رابطه ای به‌جای پایگاه داده های رابطه ای استفاده کرد؟

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

امتیازدهی5 1 1 1 1 1 1 1 1 1 15.00 امتیاز (2 رای)
اشتراک
بارگذاری نظرات
تلگرام اینستاگرام تماس با پشتیبانی: 09378555200 تماس با پشتیبانی: 09378555200