انواع دیتابیس (تفاوت Neo4j در noSql و sql و تفاوت آن)

فناوری روز

..انواع دیتابیس (تفاوت Neo4j در noSql و sql و تفاوت آن)..
فناوری روز

انواع دیتابیس (تفاوت Neo4j در noSql و sql و تفاوت آن)

دیتابیس چیست؟

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

انواع مدل پایگاه داده:

• پایگاه داده ها برا اساس مدل و چیدمان اطلاعاتی که استفاده میکنند به انواع مختلفی تقسیم می شوند:

پایگاه داده رابطه‌ای

پایگاه داده شی‌گرا

پایگاه داده توزیع‌شده

پایگاه داده NoSQL

پایگاه داده نمودار

پایگاه داده ابر

پایگاه داده مرکزی

پایگاه داده عملیاتی


دراین مقاله به قصد داریم به تشریح دو مدل رابطه ای (sql) و nosql و تفاوت های آنها بپردازیم.

دیتابیس رابطه ای:

رایج ترین دسته دیتابیس ها امروزه بر مبنای SQL میباشند و به دلیل اینکه در اینگونه دیتابیس ها جدول را به جدول دیگری ارتباط می دهیم و جداول مرتبط با هم می سازیم. دیتابیس “ارتباطی” یا “relational” نامیده میشوند.

پایگاه‌های داده رابطه ای ساده هستند و کار کردن با آن‌ها معمولا بی دردسر و راحت است. اما این نوع از پایگاه‌های داده یک مشکل بزرگ دارند. این مشکل زمانی خود را نشان داد که غول‌های نرم افزاری دنیا مثل گوگل، آمازون و فیسبوک احتیاج به تحلیلِ داده‌های با حجم و تعداد بالایی از داده‌های بی ساختار (Non-structured Data) یا همان Big Data پیدا کردند.

دیتابیس های SQL نحوه عملکرد سازمان یافته و سفت و سخت تری در ذخیره سازی و دریافت اطلاعات دارند. اگر تاکنون با SQL کار کرده باشید میدانید که اطلاعات درون جداول (Tables) – ستون ها (Columns) – سطرها (Rows) ذخیره میشوند.

تمام این مشخصات پایگاه داده در SQL با ساختاری به نام Schema (بخوانید اسکیما) ذخیره می‌شود. Schema یک ساختار ثابت است و مانند اسکلت یک ساختمان عمل می‌کند. همه چیز روی آن سوار و بر پایه آن تکمیل می‌شود. شاید تا الان فهمیده باشید که مشکل بعدی این نوع از پایگاه داده در ذخیره سازی داده‌های بی ساختار می باشد.در ذخیره سازی این گونه داده ها، خصوصیات هر داده همواره ثابت نیست و این باعث ناکارایی و همینطورغیر قابل استفاده شدن SQL برای آن‌ها می‌شود.

ساختار و عملکرد NoSQL
خلاء ایجاد شده توسط نقاط ضعف SQL در کار با داده های حجیم باعث ایجاد و توسعه NoSQL شد.

NoSQL قابلیت مدیریت کردن و کار با حجم بسیار عظیمی از داده ها را داراست. مشخصا در آن برای کار با داده ها از زبان SQL استفاده نمیشود. بلکه به صورت بسیار ساده و روان از XML یا JSON برای این منظور استفاده میگردد.

از آنجایی که NoSQL باید بتواند انواع مختلف داده های بدون ساختار مشخص را ذخیره کند, در ساختار داخلی آن از “Schema پویا و قابل تغییر” یا “Dynamic Schema” استفاده شده است. این خصوصیت امکان تغییر در ساختار ذخیره سازی داده ها را فراهم کرده و انعطاف فراوانی به دیتابیس در کار با داده های گوناگون و حجیم میدهد.

نقاط ضعف Nosql

با این حال از نقاط ضعف NoSQL میتوان به عدم امکان کار با کوئری های پیچیده اشاره کرد.

همچنین به نسبت دقت بالای SQL در NoSQL امکان بروز خطاهایی با احتمال بسیار پایین در موقع ثبت و تغییر داده ها وجود دارد.

(ریسک پیش آمدن حالت های پیش بینی نشده توسط مدیر دیتابیس, هر چند اندک وجود دارد. مدیر دیتابیس باید با شناخت کامل خصوصیات دیتابیس خود, آن را جهت حفط یکپارچگی داده ها به صورت صحیح مدیریت کند.)

انوع مختلف NoSQL

 

دیتابیس های NoSQL کلید و مقدار (Key-value NoSQL):
ر این نوع از پایگاه داده اطلاعات در قالب جفت‌های کلید-مقدار یا Key-Value ذخیره می‌شود. کلیدها نقش شناسه هر داده را بازی می‌کند. یعنی می‌توانیم با استفاده از آن‌ها مقادیر مختلف داده را ذخیره یا پیدا کنیم. پایگاه‌های داده کلید-مقدار به دلیل ساده بودن در کارکرد، پرکاربرد‌ترین نوع پایگاه‌های داده NoSQL هستند.

 

به طور کلی، موارد استفادهٔ دیتابیس‌های مبتنی‌ بر Key-Value عبارتند از:

- برای ذخیرهٔ داده‌های مرتبط با سِشِن کاربران لاگین‌شده در سیستم
- مدیریت پروفایل‌های بدون ساختار کاربران
- ذخیرهٔ تنظیمات حساب کاربری
- ذخیرهٔ داده‌های سبد خرید در فروشگاه‌های آنلاین

البته دیتابیس‌های Key-Value برای همهٔ موارد استفاده هم ایده‌آل نیستند؛ برای مثال، در موارد زیر بهتر است که از این نوع دیتابیس‌ها استفاده نکنیم:

- وقتی باید یک کوئری بر اساس مقداری مشخص به دیتابیس بزنیم
- نیاز به وجود رابطه‌ای معنادار میان مقادیر ذخیره‌شده داریم
- باید عملیاتی را روی چندین کلید منحصربه‌فرد انجام دهیم
- کسب‌وکار ما نیاز دارد تا مرتباً بخشی از داده‌ها را به‌روزرسانی کنیم

از جملهٔ این نوع دیتابیس‌ها می‌توان به Redis ،MemcacheDB و Riak اشاره کرد. 

دیتابیس های NoSQL اسناد (Document NoSQL):

اینگونه دیتابیس ها به منظور ذخیره سازی و کار با اسنادی با فرمت های XML, JSON , … به کار میروند. از دیتابیس های اسنادی NoSQL به منظور ذخیره سازی داده های بدون ساختار مشخص با پراکندگی بالا استفاده میشود. 

از جمله دیتابیس‌های NoSQL از جنس داکیومنت می‌توان MongoDB ،Apache CouchDB و Elasticsearch را نام برد که موارد استفادهٔ آن‌ها به شرح زیر است:

- فروشگاه‌های آنلاین
- سیستم‌های مدیرت محتوا
- پلتفرم‌های تجزیه و تحلیل دیتا
- پلتفرم‌های وبلاگی

به یاد هم داشته باشیم که دیتابیس‌های مبتنی‌ بر داکیومنت (سند) انتخاب مناسبی برای مواردی که می‌خواهید کوئری‌های پیچیده‌ای به پایگاه‌داده بزنید و یا اپلیکیشن شما نیاز به محاسبات پیچیده‌ای روی دیتا دارد نیست.

دیتابیس های NoSQL چند ستونه (Wide-column NoSQL):

دیتابیس های چند ستونه در نگاه اول همانند دیتابیس های SQL از جدول و ستون و سطر استفاده میکنند. اما عملکرد آن های ارتباطی به جداول SQL ندارد! فقط ظاهر جداول آن ها تا حدی شبیه ساختار جداول SQL میباشد. بر خلاف SQL هر ستون میتواند شامل داده هایی با فرمت و ساختار متفاوت باشد. به عبارتی دیگر نوع تعریف و فرمت یک ستون میتواند در هر سطر متفاوت باشد. این دیتابیس ها انعطاف بسیار بالایی در ثبت و کار با داده های بسیار عظیم و متفاوت دارند.

دیتابیس‌های مبتنی‌ بر Column عبارتند از:

- سیستم‌های مدیریت محتوا
- پلتفرم‌های وبلاگی
- سرویس‌هایی که داده‌هایی با تاریخ انقضا را در خود ذخیره می‌کنند
- سیستم‌هایی که نیاز به ریکوئست‌های بسیار سنگین ثبت داده (مانند ثبت لاگ‌های سیستم) دارند.

از جمله از دیتابیس‌های NoSQL مبتنی‌ بر ستون می‌توان Cassandra و Apache Hadoop Hbase را نام برد. به طور کلی، چنانچه نیاز به انجام کوئری‌های پیچیده دارید و یا روش کوئری زدن شما به دیتابیس مرتباً تغییر می‌کند، نباید از دیتابیس‌های NoSQL مبتنی‌ بر Column استفاده کنید. مورد دیگری که نباید از این نوع دیتابیس استفاده کنید، زمانی است که تعریف مشخصی از سازوکار دیتابیس ندارید

دیتابیس های NoSQL گرافی (Graph NoSQL):

دیتابیس های گرافی به منظور ذخیره سازی حجم زیادی از داده های ارتباطی (Relational data) طراحی شده اند. به زبان ساده میتوان اینگونه دیتابیس ها را مانند گرافی شامل “داده ها -> راس ها” و “ارتباط ها -> یال ها” در یک گراف هندسی در نظر گرفت. از این دسته دیتابیس ها در ذخیره سازی انواع معماری های داده های شبکه ای نیز استفاده میشود

از جمله دیتابیس‌های NoSQL مبتنی‌ بر گراف می‌توان به Neo4j ،ArangoDB و OrientDB اشاره کرد به طوری که موارد استفادهٔ آن‌ها شامل موقعیت‌های زیر می‌شود:

- سیستم‌های شناسایی کلاه‌برداری آنلاین
- جستجوی مبتنی‌ بر گراف
- انجام تَسک‌های مختلف در حوزه‌های شبکه و فناوری
- شبکه‌های اجتماعی و ...

دیتابیس های NoSQL متغیر یا چند مدله (MultiModel NoSQL):

دیتابیس های چند مدله امکان ذخیره سازی و کار با داده ها را در چندین حالت متفاوت فراهم میکنند. اینگونه دیتابیس ها میتوانند تلفیقی از انوع دیگر دیتابیس های NoSQL باشند. (مانند Key-value و گرافی)

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

پیشنهاد میشود مطلب زیر را هم مطالعه فرمایید : 

بهترین دیتابیس های NoSQL 

102
18 دی 1399
..نظرات..
..مقالات پربازدید..
طراحی سایت

آموزش قرعه کشی در اینستاگرام

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

22279
24 فروردین 1398
سئو

چگونه ویدیو کلاس های آنلاین (وبینار) را ضبط کنیم؟| آموزش ۳ روش

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

7636
08 اردیبهشت 1399
طراحی سایت

bit.ly چیست ؟

بیتلی یا bitly یکی از شناخته‌شده‌ترین سرویس‌های کوتاه کننده لینک است. این سایت با نشانی https://bit.ly در سال ۲۰۰۸ تاسیس شد. یک کوتاه کننده‌ی لینک وظیفه دارد تا لینک‌های مورد نظر کاربران را به شکل کوتاه و قابل خواندن و نوشتن تبدیل کند. این سرویس در هر ماه حدود ۶۰۰ میلیون لینک کاربران را کوتاه می‌کند. علت استفاده از...

6531
27 آذر 1398