Neo4J یک پایگاهداده گرافیکی opensource است که در جاوا پیادهسازی شده است. توسعهدهندگان Neo4J را بهعنوان یک بانک اطلاعاتی کاملاً تراکنشی با یک موتور جاوا قوی توصیف میکنند که میتوانیم بهجای استفاده از جداول در آن، ساختارها را به شکل گراف ذخیره کنیم.
Neo4J محبوبترین و پرکاربردترین پایگاهداده گرافیکی در سراسر جهان بهحساب میآید که در صنایع مختلفی از قبیل بهداشت، دولت، تولید خودرو، منطقه نظامی و سایر مناطق مورداستفاده قرار میگیرد و مرجع اصلی در این زمینه محسوب میشود.
این نرمافزار در سال 2007 ایجاد شد و به سه نسخه گسترده تقسیم میشود: یک نسخه عمومی که یک نسخه رایگان است، یک Enterprise Edition ، که در آن امکان آزمایش یک نسخه کاملتر را به مدت ۳۰ روز فراهم میکند و نمونه سوم آن یک نسخه دولتی است که مانند یک نسخه بهروز شده از نسخ Enterprise است. این نسخه روی خدمات دولتی متمرکز است. تفاوتهای اصلی بین دو نسخه اصلی Neo4j عبارتاند از: وجود پشتیبانگیری آنلاین، عملکرد بهتر و بالاتر حافظه پنهان، نظارت سیستمی دقیق، مدیریت قوی قفلهای دیتابیس و قابلیت مقیاسپذیری بیشتر بانک اطلاعاتی از دیگر مزایای نسخه Enterprise محسوب میشود.
سناریوهای معمول استفاده از Neo4J عبارتاند از :
سیستمهای پیشنهاددهنده برخط، شناسایی و مدیریت دسترسی، عملیات شبکه و فناوری اطلاعات، کشف تقلب، پولشویی / فرار مالیاتی، نمودار دانش، تجزیهوتحلیل گرافیکی و الگوریتمها، هوش مصنوعی که دارای نمودار گرافیکی هستند، خانههای هوشمند و اینترنت اشیا
در حال حاضر بیشتر بانکهای اطلاعاتی از طریق یک سرور که از طریق یک کتابخانه محلی در دسترس قرار میگیرد، اجرا میشوند. Neo4j میتواند در حالت تعبیه شده و همچنین در حالت سرور اجرا شود. حالت Embedded مستقیماً با دیسک کار میکند و تمام اطلاعات را روی دیسک ذخیره میکند.
Neo4j تعبیه شده برای دستگاههای سختافزاری، برنامههای دسکتاپ و برنامههای جاسازی شده در سرورها ایدئال است. برای پیادهسازی پایگاهداده اجرای Neo4j در حالت سرور معمولترین و بهترین انتخاب است. باید به این نکته اشاره کرد که در هر سرور یک embedded instance از Neo4j وجود دارد.
Neo4J مزایای رقابتی زیادی دارد که این نرمافزار را به یکی از پرکاربردترین آنها در این زمینه تبدیل میکند. در زیر، ویژگیهای اصلی Neo4J را شرح میدهیم:
مزایا و ویژگیها
- شمای انعطافپذیر
- مدل داده گراف
- مقیاسپذیری و قابلیت اطمینان؛
- زبان پرسوجوی Cypher
- HTTP API برای مدیریت پایگاهداده؛
- پشتیبانی از indexها با استفاده از Apache Lucene
- پشتیانی از درایورهایی مانند Java ، Spring ، Scala ، JavaScript
- Online backups
- پشتیبانی از Cloud
- خروجی گرفتن از نتایج پرسوجو در قالب JSON و XLS؛
- فعالترین community گراف در جهان؛
- کارایی بالا به دلیل استفاده از حافظه گرافیکی محلی و پردازش محلی
- یادگیری و استفاده آسان
- بارگیری آسان دادهها در نرمافزار؛
- دیتا مدل دوستدار تخته برای سادهسازی چرخه توسعه
Neo4J از sharding پشتیبانی نمیکند و در نسخه Community که نسخه رایگان آن است محدودیتهایی در تعداد نودها، ارتباطات و خصوصیات وجود دارد.
برخی از مشتریهای Neo4J عبارتاند از :
- eBay
- Adob
- Microsoft
- IBM
- NBC News
- HP