گراف دیتابیس ها(graph database) این امکان را برای ما فراهم می کنند که ما داده ها و رابطه ها رو در قالب ساختار گراف ذخیره کنیم .
در پایگاه داده های رابطه ای بستگی به نوع سناریو که داریم بعضی اوقات نیاز هست که برای پیاده سازی روابط خیلی پیچیده ، داده ها را در قالب جداول متعدد ذخیره کنیم .. این جا ما مجبور به نوشتن Query ها و Join های زیادی بودیم که بتوانیم خروجی و گزارش دلخواه مان را بسازیم . هرچقدر کوئری های ما بزرگ و پیچیده بشود و روابط بین جداول زیاد (Join) ، هزینه اجرای دستور ما (Cost of Query) بالا میرود و سرعت اجرای دستورات پایین و پایین تر …
با استفاده از امکانات گراف دیتابیس می توانیم این پیچیدگی ها را ساده کنیم .
Neo4j, OrientDB , Amazon Neptune از معروف ترین پایگاه داده های مبتنی بر گراف هستند
مفاهیم اصلی Graph Database ها :
چه موقع از ساختار گراف بهتره استفاده کرد ؟
به عنوان مثال ، یک گره جدول (node table) Personهمه نود های Person متعلق به یک گراف را در خود نگه می دارد. به طور مشابه ، یال جدول (edge table) مجموعه ای از نوع مشابه لبه ها(یال ها) است. به عنوان مثال ، یک یال جدول Friends تمام یال هایی را که یک شخص را به شخص دیگری متصل می کند ، نگه می دارد. از آنجا که گره ها و یال ها در جداول ذخیره می شوند ، بیشتر عملیات پشتیبانی شده روی جداول معمولی بر روی جدول های گره یا یال پشتیبانی می شوند.