انتشار نمودار سحابی DBMS گراف گرا 3.2

انتشار نمودار باز DBMS Nebula Graph 3.2 منتشر شده است که برای ذخیره سازی کارآمد مجموعه های بزرگی از داده های به هم پیوسته طراحی شده است که نموداری را تشکیل می دهد که می تواند میلیاردها گره و تریلیون ها اتصال را تشکیل دهد. این پروژه به زبان C++ نوشته شده و تحت مجوز Apache 2.0 توزیع شده است. کتابخانه های مشتری برای دسترسی به DBMS برای زبان های Go، Python و Java آماده شده اند.

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

ویژگی های اصلی Nebula Graph:

  • تضمین امنیت با محدود کردن دسترسی فقط به کاربران تأیید شده که مجوزهای آنها از طریق یک سیستم کنترل دسترسی مبتنی بر نقش (RBAC) تنظیم شده است.
  • قابلیت اتصال انواع موتورهای ذخیره سازی. پشتیبانی از گسترش زبان پرس و جو با الگوریتم های جدید.
  • تضمین حداقل تأخیر هنگام خواندن یا نوشتن داده ها و حفظ توان عملیاتی بالا. هنگامی که در خوشه ای از یک گره نمودار و سه گره ذخیره شده، یک پایگاه داده 632 گیگابایتی، شامل نموداری از 1.2 میلیارد رأس و 8.4 میلیارد یال، آزمایش شد، تأخیرها چند میلی ثانیه بود و توان عملیاتی تا 140 هزار درخواست در ثانیه بود.
  • مقیاس پذیری خطی
  • یک زبان پرس و جو مانند SQL که قدرتمند و قابل درک است. عملیات پشتیبانی شده عبارتند از GO (پیمایش دو طرفه رئوس نمودار)، GROUP BY، ORDER BY، LIMIT، UNION، UNION DISTINCT، INTERSECT، MINUS، PIPE (با استفاده از نتیجه جستجوی قبلی). شاخص ها و متغیرهای تعریف شده توسط کاربر پشتیبانی می شوند.
  • اطمینان از در دسترس بودن بالا و انعطاف پذیری در برابر شکست.
  • پشتیبانی از ایجاد عکس های فوری با تکه ای از وضعیت پایگاه داده برای ساده سازی ایجاد نسخه های پشتیبان.
  • آماده برای استفاده صنعتی (از قبل در زیرساخت های JD، Meituan و Xiaohongshu استفاده شده است).
  • امکان تغییر طرح ذخیره سازی داده ها و به روز رسانی آن بدون توقف یا تأثیر بر عملیات در حال انجام.
  • پشتیبانی از TTL برای محدود کردن طول عمر داده ها.
  • دستورات برای مدیریت تنظیمات و میزبان های ذخیره سازی.
  • ابزارهایی برای مدیریت کار و برنامه ریزی راه اندازی کار (از کارهایی که در حال حاضر پشتیبانی می شوند COMPACT و FLUSH هستند).
  • عملیات یافتن مسیر کامل و کوتاه ترین مسیر بین رئوس داده شده.
  • رابط OLAP برای ادغام با سیستم عامل های تجزیه و تحلیل شخص ثالث.
  • ابزارهای کمکی برای وارد کردن داده ها از فایل های CSV یا از Spark.
  • معیارهای صادرات برای نظارت با استفاده از Prometheus و Grafana.
  • رابط وب Nebula Graph Studio برای تجسم عملیات نمودار، ناوبری نمودار، طراحی ذخیره سازی داده ها و طرح های بارگذاری.

در نسخه جدید:

  • پشتیبانی از تابع extract() برای استخراج زیر رشته ای که با یک عبارت داده شده مطابقت دارد، اضافه شد.
  • تنظیمات بهینه شده در فایل پیکربندی
  • قوانین بهینه سازی برای حذف عملگر بی فایده AppendVertices و غیرفعال کردن استفاده از فیلترهای لبه و راس اضافه شده است.
  • مقدار داده های کپی شده برای عملیات JOIN و همچنین برای اپراتورهای Traverse و AppendVertices کاهش یافته است.
  • عملکرد بهینه شده از SHORTEST PATH و SUBGRAPH
  • تخصیص حافظه بهبود یافته (Arena Allocator فعال است).

منبع: opennet.ru

اضافه کردن نظر