این نوآوری قرار است مقیاسپذیری را برای وظایف حیاتی عملیاتی مانند کشف تقلب بازتعریف کرده و به طور قابل توجهی به تقویت بارکاریهای نوظهور مانند GraphRAG (تولید مبتنی بر بازیابی تقویتشده) کمک کند.
پایگاهدادههای گراف به این دلیل برتری دارند که دادهها را در گرههای متصل به هم ذخیره میکنند، که به آنها اجازه میدهد برخی از کوئریها را به طور تصاعدی سریعتر از پایگاهدادههای رابطهای سنتی اجرا کنند. به جای استفاده از joinهای پیچیده و سنگین از نظر محاسباتی برای یافتن ارتباطات، یک گراف ویژگی (property graph) مانند Neo4j میتواند روابط را مستقیماً پیمایش کند. این کار نه تنها پاسخهای سریعتری ارائه میدهد، بلکه باعث صرفهجویی قابل توجهی در چرخههای پردازنده، انرژی و هزینه میشود.

با این حال، اتکا به ذخیرهسازی درون-حافظه (in-memory) یک عامل محدودکننده بوده است. در حالی که Neo4j در ابتدا بر روی ماشینهای قدرتمند scale-up تمرکز داشت و بعداً وارد سیستمهای توزیعشده scale-out شد، موانع اساسی معماری گراف توزیعشده همچنان پابرجا بود. اینجا بود که Infinigraph وارد میدان شد. 💡
معرفی Infinigraph توسط Neo4j یک راهکار هوشمندانه را به نمایش میگذارد. به جای شاردینگ (sharding) یا تقسیم اجزای اصلی گراف (گرهها و روابط آنها) بین ماشینهای مختلف، Infinigraph تنها ویژگیهای (properties) مرتبط با آنها را شارد میکند. این بدان معناست که ساختار اصلی گراف – توپولوژی آن – دستنخورده و یکپارچه در یک فضای حافظه باقی میماند و سرعت پیمایش برقآسایی که گرافها به آن معروف هستند حفظ میشود.

دن مکگراث، معاون مدیریت محصول برای کلاد در Neo4j، توضیح میدهد که این رویکرد که «شاردینگ ویژگی» نامیده میشود، به گراف اجازه میدهد تا از نظر منطقی کامل باقی بماند. کوئریها همانطور که انتظار میرود رفتار میکنند و برنامهها بدون نیاز به تغییر کد یا راهحلهای پیچیده مقیاسپذیر میشوند. زمانی که یک کوئری به یک ویژگی نیاز دارد، سیستم به طور خودکار آن را از شارد ویژگی مربوطه واکشی میکند، در حالی که پیمایش در شارد اصلی توپولوژی به صورت محلی باقی میماند.
این طراحی نوآورانه مجموعهای از مزایای قدرتمند را ارائه میدهد:
- مقیاسپذیری عظیم: گراف خود را فراتر از ۱۰۰ ترابایت داده رشد دهید.
- هوش مصنوعی یکپارچه: میلیاردها بردار (vector) را مستقیماً در گراف جاسازی کنید که برای هوش مصنوعی و یادگیری ماشین ایدهآل است.
- خطوط لوله داده سادهشده: نیاز به فرآیندهای پیچیده ETL (استخراج، تبدیل، بارگذاری) را از بین ببرید.
- قابلیت اطمینان بیچونوچرا: انطباق کامل با اصول ACID (اتمی بودن، سازگاری، جداسازی، دوام) را برای یکپارچگی تراکنشها حفظ کنید.
بهتر از همه، توسعهدهندگان نیازی به تغییر هیچ چیزی ندارند. برنامههای موجود و کوئریهای Cypher به طور یکپارچه کار میکنند. پایگاهداده به طور هوشمند مدیریت میکند که دادهها را در کدام شارد ویژگی بنویسد و از کجا واکشی کند. این امر تیمها را قادر میسازد تا بارهای کاری عملیاتی و تحلیلی را به طور همزمان بر روی یک منبع حقیقت واحد اجرا کنند—از کشف حلقههای تقلب به صورت آنی گرفته تا تحلیل دههها رفتار مشتری برای توصیههای شخصیسازیشده.
اگرچه نسخه اولیه دارای محدودیتهایی مانند تعداد ثابت شاردها در زمان ایجاد و عدم تعادلبندی مجدد خودکار است، Infinigraph یک جهش بزرگ رو به جلو محسوب میشود. این معماری هماکنون در نسخههای خود-مدیریتی Neo4j در دسترس است و به زودی به پلتفرم ابری بومی این شرکت، Neo4j AuraDB، نیز اضافه خواهد شد. 🚀
برای کسب اطلاعات بیشتر در مورد این تحول معماری، مقاله منبع را مطالعه کنید.