مقایسه OrientDB با Neo4j

مقدمه ای بر گراف دیتابیس

یک نوع از این پایگاه داده های NOSQL، پایگاه داده های گراف محور یا Graph Based هستند. در مطالب گذشته انواع پایگاه داده های NOSQL را بررسی کردیم. در این مبحث به مقایسه OrientDB با Neo4j می پردازیم. از معروف ترین این دیتابیس ها میشه به NEO4j و OrientDB اشاره کرد. البته OrientDB که هم از حالت گراف پشتیبانی میکند و هم از سند-گرا که یکی دیگر از ساختار های NoSQL است. سایت رسمی آن هم به آدرس Orientdb.org است. برای مقایسه OrientDB با Neo4j  در دو عکس زیر عملکرد و کارایی این دو پایگاه داده ها را بررسی کنید:

مقایسه OrientDB با Neo4j
مقایسه OrientDB با Neo4j
مقایسه OrientDB با Neo4j
مقایسه OrientDB با Neo4j

در پست های قبل،  بانک اطلاعاتی Neo4j را بررسی نمودیم در اینجا بررسی OrientDB میپردازیم و خصوصیات آن را بررس میکنیم. در صورت علاقه به مقایسه OrientDB با Titan به این مبحث مراجعه کنید.

مزایای مهم OrientDB:

  • از ویژگی ACID به طور کامل پشتیبانی می کند. به طوری که در مواقع کراش سیستم سند های در حال تراکنش بازیابی می شوند.
  • امکان GraphDB که می توان مدیریت گراف ها رو انجام داد.
  • پشتیبانی کامل از زبان پرس و جوی SQL
  • امکان استفاده از HTTP و RESTful بدون واسطه.

OrientDB می شود گفت که پایگاه داده ای همه فن حریف در بین خانواده NoSQL است. OrientDB که در سال 2010 توسط Luca Garulli تحت لیسانس آپاچی 2 منتشر شد، با استفاده از زبان برنامه نویسی جاوا پیاده سازی شده است. با اینکه این پایگاه داده سندگرا هست ولی ارتباطات با استفاده از گراف مدیریت می شود. OrientDB را هم می توان بدون اسکیما به کار برد و هم با اسکیما و حتی نیمه اسکیما و ترکیبی از این ها. شاید از این تکته تعجب کنید که حتی در این پایگاه داده از زبان پرس و جو SQL هم می توانید استفاده کنید. OrientDB از الگوریتم جدید شاخص گذاری به اسم MVRB-Tree استفاده میکند که ترکیبی از Red-Black Tree و B+Tree است. با این پایگاه داده می توان داده های گرافی را ذخیره کرد و کاملا از گراف پشتیبانی شده است.

مقایسه OrientDB با Neo4j
Compare NOSQL

مولفه های مورد استفاده برای مقایسه:

  • در کدام یک از 4 دسته NoSQL هستند
  • متن باز بودن
  • بر روی چه سرور هایی قابل اجرا می باشند
  • Transactional بودن
  • با چه زبانی نوشته شده اند
  • آیا از زبان برنامه نویسی C و C++ پشتیبانی می کنند؟
  • پشتیبانی از اسکریپت های سمت سرور از قبیل جاوا اسکریپت، php و …
  • پشتیبانی از تریگر

تریگر چیست؟

تریگر رویه ای ذخیر شده است که به هنگام درج یا بروز رسانی جدولی، آن نیز انجام میشود و مقدار برگشتی ندارد.

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

  • Replication (یکی از کارهای Replication این است که به عنوان مثال پایگاه داده شما بر روی یک سرور دیگر نیز وجود دارد و هر اطلاعاتی که داخل سرور اصلی دارید بر روی سرورهای دیگر نیز موجود می باشد)
  • MapReduce ( به معنای نوشتن کدی است، با دو تابع. اولین تابع اصطلاحاً Map step یا مرحله نگاشت نام دارد. در این مرحله کوئری به قسمت‌های کوچکتری خرد شده و بر روی سیستم‌های توزیع شده به صورت موازی اجرا می‌شود. مرحله بعد Reduce step نام دارد که در آن، نتیجه دریافتی حاصل از کوئری‌های اجرا شده بر روی سیستم‌های مختلف، با هم یکی خواهند شد.)
  • Foreign key یا کلید خارجی
  • In – Memory (اینکه داده ها را می توانند در حافظه رم به صورت کش داشته باشند تا سرعت خواندن اطلاعات افزایش یابد و موارد دیگر)
  • Embed (قابلیت سفارشی سازی و کنترل پایگاه داده توسط برنامه نویس و اضافه کردن به عنوان جزئی از نرم افزار)
  • Query (زبان تغییرات  و خواندن اطلاعات پایگاه داده)
  • Partitioning (یعنی بتوان بر روی سرورهای دیگر پایگاه داده را داشته باشیم و و از نظر جغرافیایی هیچ محدودیتی نداشته باشیم و بار کاری بر روی همه سرورها پخش شود)
  • Configuration (پیاده سازی و تنظیمات برای نصب و استفاده از پایگاه داده)
  • Dependency (برای استفاده از پایگاه داده با توجه به زبان برنامه نویسی و یا پیاده سازی آن وابسته به چه پیش نیازهایی می باشد؟)
  • Performance (سرعت و قدرت نوشتن و خواندن، پایائی، بازدهی )
  • Online Backup (توانایی گرفتن پشتیبان به صورت خودکار در حین فعال بودن و ارائه سرویس به کاربران)

آدرس کانال تلگرام سایت بیگ دیتا:

t.me/bigdata_channel

آدرس کانال سروش ما:
https://sapp.ir/bigdata_channel

جهت دیدن سرفصل های دوره های آموزشی بر روی اینجا کلیک کنید.

 

Visits: 1909

همچنین ببینید

پايگاه داده کاساندرا

پايگاه داده کاساندرا، روش نصب و بررسی نقاط ضعف و قوت

پايگاه داده کاساندرا یک سیستم انبار‌ه داده ی توزیع‌شده و کاملاً متن باز و رایگان …

کلان داده

خصوصیات بیگ دیتا یا کلان داده چیست؟ و جایگاه هدوپ کجاست

کلان‌داده (Big Data) اصطلاحی است که برای تعریف داده‌ها در حجم انبوه استفاده می‌شود: حجم …

دیدگاهتان را بنویسید