سلام و درود...
استفاده از پایگاهدادههای گراف برای کار با دادههایی که حجم گستردهی اتصال دارند میتواند در کاربرد و عملکرد فوقالعاده باشد. اولین قدم در مهاجرت به این سمت قطعاً آشنایی با مفاهیم و کانسپت موضوع است. با توجه به حجم کم محتوای فارسی دراین خصوص بد ندیدم چند کلمهای در مجموعه مقالاتی با عنوان پایگاه داده گراف نگارش کنم تا هم دانش (هرچند کمم) رو به اشتراک بزارم و هم شاید در کاربرد به برخی دوستان بتونم کمک کنم.
به عنوان یک برنامه نویس یا مهندس نرم افزار در هر نقشی و هر سابقه کاری باشید حدس میزنم با مدلهای پایگاه داده رابطهای روبرو شده باشید. در این پایگاه دادهها کوئری زدن و نمایش اطلاعات یک موجودیت آسان است، اما اگر تمام جزئیات اون موجودیت و روابطش رو بخواهیم چی؟ در این جور مواقع مجبور هستیم یک کوئری طولانی، و قطعاً بسیار کند بنویسیم. میدونید چرا؟ چون به قول یکی از اساتید این حوزه، روابط در پایگاه داده relational به نوعی شهروندان درجه یک محسوب نمیشوند.
حالا اگر دیتابیسی وجود داشته باشد که از گراف پشتیبانی کنه که در اون روابط جز اجزای اصلی سیستم محسوب میشوند قطعا فرایند متفاوتی رو تجربه خواهیم کرد. در واقع پایگاه داده های گراف در مسائل که روابط نقش تعیین کننده ای دارند در مقایسه با سایر فناوری های ذخیره داده بسیار کاربرپسند هستند.
اگر با SQL قبلا کار کردید ( که قطعا برای درک مطالب دیتابیس های گراف باید با پایگاه داده های عمومی و پایگاه های رابطه ای آشنا باشید) neo4j قطعا براتون جالب خواهد بود و پس از کار با اون بدون شک به علاقه مندی هاتون اضافه خواهد شد. به شخصه از آشنایی با این فناوری هیجان زده ام و امیدوارم شما هم در انتها همچین حسی داشته باشید.
من سعی میکنم در این سلسله مقالات مفاهیم و کلیات پایگاه دادههای گراف از جمله Neo4j مرور کلی داشته باشم در واقع این مقالات بیشتر مباحث آشنایی بر پایگاه داده های گراف Neo4j ، و همچنین زبان Cypher و موضوعات مرتبط را شامل خواهد شد.