پایگاه داده گراف در 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
این مشکل هنگام پرس و جو برای سطوح عمیق تر (دوستان دوستان دوستان) بوجود می آید. نه تنها هرچه عمیق تر می شوید پرس و جو طولانی تر یا پیچیده تر می شود ، بلکه عملکرد نیز کاهش می یابد.
این جایی است که بانک های اطلاعاتی گراف از مزیت خوبی برخوردار هستند.
به عبارت دیگر ، هرچه پیچیدگی رابطه افزایش می یابد ، توانایی مدل داده های رابطه ای کاهش می یابد ، در حالی که توانایی مدل داده گراف رشد می کند.
تفاوت های قابل توجه دیگر موارد زیر است:
مدل رابطه ای
- هنگام پیوستن جداول ، روابط در زمان پرسش ارزیابی می شوند
- مدل مفهومی متفاوت از مدل فیزیکی به نظر می رسد
مدل گراف
- روابط از طریق لبه ها در پایگاه داده ذخیره می شوند
- مدل مفهومی همان مدل فیزیکی است
برای سازگاری با یک پایگاه داده گراف و تغییر مکان از یک پایگاه داده رابطه ای ، باید ذهنیت مدل رابطه ای را کنار بگذارید. بعداً وقتی کوئری خود را ایجاد کردید ، به آن احتیاج زیادی پیدا خواهید کرد.
توضیحات خود را بنویسید