پایگاه داده گراف ، در واقع مجموعه ای موجودیت ها و ارتباط بین آن هاست، که به صورت منظم ذخیره سازی شده اند. احتمالاً با پایگاه داده ها آشنایی داشته باشید . معمولاً در پایگاه داده هایی که به صورت سطر و ستون ذخیره می شوند، سرعت دسترسی به اطلاعات خوب و منطقی به نظر میرسد (به خصوص زمانی که از Indexing استفاده شود)، این در حالی است که در بسیاری از مواقع (به دلیل نیاز به سرعت بالای دسترسی به اطلاعات)، سرعت واکشی و درج داده ها، در پایگاه داده های رابطه ای، مناسب به نظر نمی رسد. این اتفاق معمولاً زمانی رخ می دهد که میخواهید، یک یا چند Join مختلف، بر روی جداول مختلف یک پایگاه داده بزنید.
گراف دیتابیس ها(graph database) این امکان را برای ما فراهم می کنند که ما داده ها و رابطه ها رو در قالب ساختار گراف ذخیره کنیم .
اما در طرف دیگه ماجرا پایگاه داده ای رابطه ای هست!
در پایگاه داده های رابطه ای بستگی به نوع سناریو که داریم بعضی اوقات نیاز هست که برای پیاده سازی روابط خیلی پیچیده ، داده ها را در قالب جداول متعدد ذخیره کنیم .. این جا ما مجبور به نوشتن Query ها و Join های زیادی بودیم که بتوانیم خروجی و گزارش دلخواه مان را بسازیم . همینطور که در جریان هستید هرچقدر کوئری های ما بزرگ و پیچیده بشود و روابط بین جداول زیاد (Join) ، هزینه اجرای دستور ما (Cost of Query) بالا میرود و سرعت اجرای دستورات پایین و پایین تر ...
دوستی ها در شبکه های اجتماعی، like ها ، مدیریت follower ها و پیشنهاد دوستی های چند گانه مثالی از این روابط پیچیده برای ذخیره سازی و بازیابی در پایگاه داده های رابطه ای است .
با استفاده از امکانات گراف دیتابیس می توانیم این پیچیدگی ها را ساده کنیم .
مفاهیم اصلی Graph Database ها :
چه موقع از ساختار گراف بهتره استفاده کرد ؟
مزیت استفاده از پایگاه داده گراف:
معایب استفاده از پایگاه داده گراف: