پایگاه داده Nebula Graph برای گراف های بزرگ

پایگاه داده Nebula Graph یک دیتا بیس مبتنی بر گراف است که میتواندصدها میلیارد رأس و تریلیون ها یال را میزبانی کند و پرس و جوهایی را با تأخیر میلی ثانیه ارائه دهد. با این فناوری امکان پردازش گراف به صورت ابری فراهم است. دیتا بیس Nebula Graph یک پایگاه داده گراف منبع باز، توزیع شده، به راحتی مقیاس پذیر و native است. شرکت Vesoft، سازنده Nebula Graph، در رتبه هشتم، قبل از Bytedance مادر TikTok، و تنها یک جایگاه پس از هواوی قرار دارد.

عناوين مطالب: ‘

هسته پایگاه داده Nebula Graph

شکل بالا اکوسیستم ساخته شده در اطراف Nebula Graph را نشان می دهد. بخش با پس‌زمینه قرمز، هسته Nebula Graphاست که از سه بخش متا، نمودار و ذخیره‌سازی تشکیل شده است.

زبان پرس و جو Nebula Graph

زبان پرس و جو nGQL است که با openCypher نیز سازگار است. ما همچنین کلاینت هایی را به زبان هایی از جمله جاوا، C++، Python و Go توسعه داده ایم. سپس در بالا تعدادی SDK داریم که می توانند با فریم ورک هایی مانند Spark، Flink، GraphX، Tencent Plato کار کنند.

پایگاه داده Nebula Graph چیست
پایگاه داده Nebula Graph

معماری Nebula Graph

🔅پایگاه داده Nebula Graph از سه سرویس تشکیل شده است:
سرویس های Graph Service، Storage Service و Meta Service. این جداسازی معماری ذخیره سازی و محاسباتی را اعمال می کند.

🔅هر سرویس دارای فایل باینری اجرایی خاص خود است. این فایل باجرایی می‌توانند بر روی یک مجموعه میزبان یا بر روی میزبان‌های مختلف مستقر شوند.
شکل بالا معماری یک خوشه Nebula Graph معمولی را نشان می دهد.

🔅سرویس Meta با ابرداده سروکار دارد، در حالی که سرویس Storage، داده ها را ذخیره می کند و سرویس Graph وظیفه پرس و جو را بر عهده دارد.

🔅این سه ماژول بر روی فرآیندهای مستقل خود اجرا می شوند و از جداسازی محاسبات و ذخیره سازی اطمینان حاصل می کنند.

معماری Nebula Graph

معماری Nebula Graph

انواع روش های ورود داده پایگاه داده Nebula Graph

🔅دیتابس Nebula Graph از ElasticSearch برای نمایه متن کامل استفاده می کند. از Nebula Graph v2.x، عملکرد نوشتن قابلیت نمایه سازی Nebula را بهینه کرده است.

از نسخه 2.5.0، Nebula Graph شروع به پشتیبانی از ترکیب TTL انقضای داده و نمایه سازی کرده است. و از نسخه 2.6.0، Nebula Graph شروع به پشتیبانی از عملکرد TOSS (Transaction on Storage) برای دستیابی به سازگاری نهایی لبه ها کرد.

به این معنا که لبه ها یا با موفقیت نوشته می شوند یا در همان زمان با درج یا اصلاح شکست می خورند.

انواع روش های ورود داده Nebula Graph
انواع روش های ورود داده Nebula Graph

مدل داده در Nebula Graph

🔅پایگاه داده Nebula Graph می‌تواند داده‌هایی را با تریلیون‌ها راس و یال مدیریت کند. این بدان معنی است که سیستم باید داده ها را در ذخیره سازی و مدیریت تقسیم بندی کند. Nebula Graph از تقسیم بندی لبه ها استفاده می کند و رئوس را در پارتیشن ها ذخیره می کند. هر پارتیشن ممکن است چند کپی داشته باشد و بر روی ماشین های مختلف اجرا شود.

🔅موتور پرس و جو بدون حالت است، به این معنی که تمام داده های پرس و جو باید یا از سرویس متا یا سرویس ذخیره سازی بازیابی شوند و هیچ ارتباطی بین سرویس های پرس و جو وجود ندارد.

🔅موارد فوق در مورد جدایی محاسبات و ذخیره سازی توسط Nebula Graph است. حالا بیایید در مورد ویژگی های داده صحبت کنیم. اشاره کردیم که Nebula Graph یک پایگاه داده بدون طرحواره نیست و تمام داده های ذخیره شده توسط زبان های تعریف داده (DDL) از پیش تعریف شده است.

رئوس با استفاده از یک 2 تایی متشکل از vid و تگ تعریف می شوند. یال ها با استفاده از یک 4 تایی متشکل از نقاط پایانی، EdgeType و رتبه تعریف می شوند.

مدل داده در Nebula Graph
مدل داده در Nebula Graph

مقایسه Nebula Graph درحجم های میلیاردی

🔸از نظر ورود داده، Nebula Graph کمی کندتر از Neo4j است که اندازه داده کوچک است. با این حال، زمانی که اندازه داده بزرگ است، Nebula Graph بسیار سریعتر از دو مورد دیگر است. برای سه جستار نمودار، Nebula Graph عملکرد بهتری را در مقایسه با Neo4j و HugeGraph نشان می دهد.

در تصویر بالا یک نمودار کلی برای مقایسه آورده شده است:👆

مقایسه Nebula Graph درحجم های میلیاردی
مقایسه Nebula Graph درحجم های میلیاردی

 

مدیریت سرور، پشتیبانی و کانفیگ سرور – آفاق هاستینگ

نوشته های مشابه