Neo4j

دیتابیس Neo4j یک پایگاه‌داده گرافی (Graph Database) بسیار قدرتمند است که به جای استفاده از مدل‌های رابطه‌ای سنتی (جداول و سطرها)، داده‌ها را در ساختار گراف (شامل نودها و روابط) ذخیره می‌کند. این معماری امکان مدل‌سازی، جستجو و تحلیل بی‌درنگ و کارآمد روابط پیچیده بین داده‌ها را فراهم می‌سازد. Neo4j با بهره‌گیری از زبان جستجوی اختصاصی Cypher، انتخابی مناسب برای توسعه شبکه‌های اجتماعی، سیستم‌های توصیه‌گر (Recommendation Engines)، کشف تقلب و تحلیل‌های مبتنی بر ارتباط در سرویس‌های ابری است.

مراحل استقرار

برای مشاهده راهنمای گام‌به‌گام ساخت سرویس و پیکربندی‌های پایه، به مستندات «استقرار دیتابیس‌ها» مراجعه کنید. همچنین برای تنظیمات زیرساختی نیز به بخش مدیریت اپلیکیشن مراجعه کنید:

متغیرهای محیطی

کانتینر Neo4j برای بوت شدن در کلاستر، از ساختار امنیتی و پیکربندی زیر پیروی می‌کند:

  • نام کاربری پیش‌فرض: سیستم به صورت پیش‌فرض از نام کاربری neo4j جهت احراز هویت و اتصال به دیتابیس استفاده می‌کند.

  • پارامترهای اختیاری: امکان تنظیم نسخه ایمیج (Version of NEO4j Image) در این بخش فراهم است. همچنین فیلد Neo4j password حاوی رمز عبور تصادفی و قدرتمندی است که توسط سیستم جهت اتصال امن تولید می‌شود و در پنجره خلاصه اطلاعات نهایی نیز در دسترس خواهد بود.

نکته: برای آموزش گام‌به‌گام نحوه تعریف متغیرهای اختصاصی، ConfigMapها و Secretها در داشبورد، به مستندات متغیرهای محیطی مراجعه کنید.

اطلاعات اتصال و دسترسی

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

  • فضای ذخیره‌سازی: این دیتابیس جهت نگهداری پایدار گراف‌ها و نودها، نیازمند تخصیص دیسک اختصاصی (Volume) است.

  • سطح دسترسی سیستمی: کانتینر اپلیکیشن و ترمینال متصل به آن با سطح دسترسی کاربر عادی (Non-Root) اجرا می‌شوند؛ بنابراین شما امکان اعمال تغییرات سیستمی در هسته کانتینر یا استفاده از دسترسی ریشه را ندارید.

  • تخصیص منابع: دیتابیس گرافی نیازمند حفظ دائمی ارتباطات داده‌ها در حافظه است؛ پلن پایه از ۱ گیگابایت رم، ۱ هسته پردازنده و ۱ گیگابایت فضای ذخیره‌سازی شروع می‌شود. با توجه به پیچیدگی گراف و حجم کوئری‌های Cypher، امکان تنظیم دقیق مقادیر از طریق بخش «شخصی‌سازی منابع» وجود دارد. فعال‌سازی قابلیت بکاپ خودکار اکیدا توصیه می‌شود.

اتصال از طریق کلاینت‌های خارجی

شما از سه روش مختلف می‌توانید به این دیتابیس گرافی متصل شده و گراف‌های خود را مدیریت کنید:

۱. رابط کاربری تحت وب (Neo4j Browser)

اگر کلید «دسترسی عمومی» را در گام اول فعال کرده باشید، می‌توانید از طریق مرورگر به رابط گرافیکی قدرتمند Neo4j متصل شوید. کافیست آدرس ساب‌دامین اختصاصی خود را به همراه پورت خروجی وب (معمولا مپ شده به پورت داخلی ۷۴۷۴) در مرورگر وارد کرده و با نام کاربری neo4j و رمز عبور تولیدشده لاگین کنید: http://<SUB-DOMAIN>:<NodePort>

۲. اتصال از طریق خط فرمان (CLI)

جهت مدیریت ترمینالی، ابتدا ابزار رسمی cypher-shell را در سیستم‌عامل خود نصب کرده و سپس از طریق دستور زیر به کلاستر متصل شوید:

cypher-shell -a neo4j://<SUB-DOMAIN>:<NodePort> -u neo4j -p <PASSWORD>

(نکته: در قسمت <NodePort>، باید پورتی را وارد کنید که در داشبورد به عنوان پورت خروجی پروتکل Bolt مشخص شده است).

۳. اتصال از طریق درایورهای برنامه‌نویسی

می‌توانید با نصب درایورهای رسمی Neo4j (مانند پکیج neo4j در Python یا Node.js) کدهای تحلیلی خود را مستقیما به دیتابیس متصل کنید. در این روش نیز از همان پروتکل neo4j:// به همراه ساب‌دامین و پورت اختصاص‌یافته استفاده نمایید.