• Category
      No categories were found that matched your criteria.
      • Manufacturer
        No manufacturers were found that matched your criteria.
      • Products
        No products were found that matched your criteria.
          • Blog
            No blog posts were found that matched your criteria.

          پایگاه داده گراف در Sql Server - قسمت اول معرفی

          پایگاه داده گراف

          آیا ویژگی های پایگاه داده گراف SQL Server با پروژه بعدی شما متناسب است؟ گرچه ممکن است در حال حاضر جواب قطعی را ندانید ، اما ممکن است این سوال را داشته باشید که "چه مشکلاتی را حل می کند؟"

          به طور کلی ، این پست به موضوعاتی می پردازد که یک پایگاه داده گراف چیست ، چه کاربردهایی دارد و چه مزایای شما و ذینفعان شما می تواند از قابلیت پایگاه داده گراف SQL Server داشته  باشند  و خودتان ببینید که چرا این بهانه دیگری برای استفاده از چیز جدید برای پروژه جدید شما نیست. بنابراین ، اگر هنوز این "ویژگی" را بررسی نکرده اید ، وقت آن است که نگاهی به این جذابیت بیندازیم.

          چه کسی می داند؟ این می تواند یک راه حل عالی برای پروژه بعدی شما باشد.

          بنابراین ، بیایید بررسی کنیم .

          گراف دیتابیس چیست؟

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

          در همین حال ، گره ها می توانند خصوصیاتی داشته باشند و لبه ها رابطه بین گره ها را تعریف می کنند.

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

          SELECT
          c.Name
          FROM Person a
          INNER JOIN FriendOf b on a.personId = b.PersonId
          INNER JOIN Person c on b.friendId = c.personid
          WHERE a.Name = 'Barry

          این مشکل هنگام پرس و جو برای سطوح عمیق تر (دوستان دوستان دوستان) بوجود می آید. نه تنها هرچه عمیق تر می شوید پرس و جو طولانی تر یا پیچیده تر می شود ، بلکه عملکرد نیز کاهش می یابد.

          این جایی است که بانک های اطلاعاتی گراف از مزیت خوبی برخوردار هستند.

          به عبارت دیگر ، هرچه پیچیدگی رابطه افزایش می یابد ، توانایی مدل داده های رابطه ای کاهش می یابد ، در حالی که توانایی مدل داده گراف رشد می کند.

          تفاوت های قابل توجه دیگر موارد زیر است:

          مدل رابطه ای

          • هنگام پیوستن جداول ، روابط در زمان پرسش ارزیابی می شوند
          • مدل مفهومی متفاوت از مدل فیزیکی به نظر می رسد

          مدل گراف

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

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

           

          Leave your comment

          back to top
          Filters