ArangoDB و OrientDB

ArangoDB

AragonDB چیست؟

AragonDB یک سیستم پایگاه داده multi-model است که رایگان و open-source است و توسط AragonDB ساخته شده است. این سیستم پایگاه داده با یک مرکز database و یک زبان query یکپارچه AQL (ArangoDB Query Language) از سه مدل داده پشتیبانی می کنند (key/value, documents, graphs). زبان query از نوع declarative است و امکان ترکیب الگوهای دسترسی داده های مختلف را در یک query فراهم می کند. ArangoDB یک سیستم پایگاه داده NoSQL است اما AQL از بسیاری جهات شبیه SQL است.

به ArangoDB به عنوان یک پایگاه داده جهانی اشاره می شود هرچند خالقان آن برای اینکه نشان دهند این پایگاه داده علاوه بر امکان جستجو با یک زبان مشترک، برای ایجاد امکان ذخیره سازی یکجای key/value، document و داده های graph طراحی شده است، از آن به عنوان “Native multi-model” یاد می کنند.

ویژگی های AragonDB

AragonDB امکان ایجاد query های مقیاس پذیر هنگام کار با داده های graph را فراهم می کند. این پایگاه داده از JSON به عنوان فرمت ذخیره سازی پیش فرض استفاده می کند. هرچند، این پایگاه داده به صورت داخلی از VelocyPack که یک فرمت binary سریع و فشرده برای مرتب و ذخیره سازی است، استفاده می کند.

ArangoDB می تواند به صورت native یک JSON object تو در تو را به عنوان ورودی داده در مجموعه ذخیره کند. بنابراین، نیازی به مجزا کردن JSON object های منتج شده نیست. در نهایت، داده های ذخیره شده به طور ساده ساختار درختی داده های XML را به خود می گیرند.

علاوه بر این؛

ArangoDB در یک distributed cluster کار می کند و اولین DBMS گواهی شده برای سیستم عملیاتی مرکز داده است (Datacenter Operating System (DC/OS)). DC/OS امکان استفاده از ArangoDB را در بیشتر اکوسیستم های موجود فراهم می کند: Amazon Web Services (AWS)، Google Compute Engine و Microsoft Azure.
علاوه بر این، این پایگاه داده اجازه single-click deployment را به کاربران cluster می دهد.

ArangoDB امکان ادغام با مایکروسرویس های JavaScript به طور مستقیم بر روی DBMS با استفاده از framework های Foxx را فراهم می کند که مشابه Node.js چند رشته ای (multithreaded) است. این پایگاه داده AQL خود را دارد (زبان ArangoDB Query) و برای نوشتن native web service های منعطف مستقیماً بر روی DBMS، GraphQL ارائه می دهد.

در آخر اینکه؛

ArangoDB یک ویژگی جدید موتور جستجو در نسخه 3.4 است. موتور جستجو قابلیت های بازیابی Boolean را با عناصر طبقه بندی شده رایج که امکان بازیابی داده ها را براساس یک مدل دقیق فضایی vector می دهد، ترکیب می شود.

زبان Query

AQL (ArangoDB Query Language) یک زبان query مشابه SQL است که در ArangoDB استفاده می شود. این زبان از عملیات های CRUD در document ها (nodes) و edge ها پشتیبانی می کند. هرچند که یک زبان تعریف داده (data definition language (DDL)) نیست. AQL از query های geospatial پشتیبانی می کند.

OrientDB چیست؟

OrientDB یک سیستم مدیریت پایگاه داده NoSQL است که با Java نوشته شده است. در حقیقت یک پایگاه داده multimode است که از graph، document، key/value و مدل های object پشتیبانی می کند. هر چند روابط مانند پایگاه داده graph با روابط مستقیم بین record ها مدیریت می شوند.

این پایگاه داده از مدل های schema-less، schema-full و schema-mixed پشتیبانی می کند. این پایگاه داده یک سیستم قوی profiling برمبنای کاربران و نقش ها و پشتیبانی از quering با Gremlin در کنار SQL است که برای پیمایش graph توسعه یافته است.

بعلاوه؛

OrientDB از چندین مکانیسم indexing بر مبنای B-tree و Extendible hashing استفاده می کند. مورد آخر به عنوان “hash index” شناخته می شود. چندین برنامه برای اجرای LSM-tree و Fractal tree index برمبنای index ها وجود دارد.

هر record یک کلید Surrogate دارد که جایگاه record در داخل لیست Array، روابط بین record ها یا به عنوان single value از جایگاه record ذخیره شده در داخل referrer یا به عنوان B-tree جایگاه های record، را نشان می دهد (به اصطلاح شناسه های record یا RIDs) که امکان پیمایش سریع روابط یک به چند و حذف/افزودن سریع link های جدید را می دهد.

همچنین؛

OrientDB سومین رتبه از نظر محبوبیت پایگاه داده graph را براساس رتبه بندی DB-Engines داراست.

ساخت و توسعه OrientDB هنوز به انجمن open source متکی است که توسط شرکت OrientDB LTD هدایت می شود. پروژه از GitHub برای مدیریت منابع، مشارکت کنندگان و نسخه سازی و از Google Group و Stack Overflow برای ارائه پشتیبانی رایگان به کاربران جهانی استفاده می کند.

OrientDB همچنین یک دوره رایگان Udemy برای کسانی که امید به یادگیری مبانی و شروع کار با OrientDB دارند را فراهم می کند.

ArangoDB vs OrientDB

ویژگی های OrientDB

ویژگی های OrientDB عبارتند از:

– نصب سریع. OrientDB می تواند در کمتر از 60 ثانیه نصب و اجرا شود.

– به طور کامل تراکنشی: از مبادلات و تراکنش های ACID با تضمین اینکه تمامی مبادلات پایگاه داده با قابلیت اطمینان مورد پردازش قرار می گیرند و در صورت crash تمامی document های در حال pending بازیابی و committed می شوند، پشتیبانی می شود.

– مدل های داده با ساختار graph: مدیریت native نمودارها. کاملاً با چارچوب open source محاسباتی graph که با نام Apache TinkerPop Gremline (Blueprints) شناخته می شود، سازگار است.

– SQL: از query های SQL با extention ها پشتیبانی می کند تا روابط را بدون SQL join اداره کند، tree ها و graph های document های متصل را مدیریت کند.

– تکنولوژی های وب: به صورت native از پروتکل های HTTP و RESTful و عناصر و library های اضافی JSON پشتیبانی می کند.

دیگر ویژگی ها عبارتند از:

– Distributed: پشتیبانی کامل از رونوشت multi-master شامل cluster های geographically distributed.

– قابلیت اجرا در هر جایی: با استفاده از Java امکان اجرای آن بر Linux، OS X، windows یا هر سیستمی که با JVM سازگار است، اجرا می شود.

– قابلیت جاسازی (Embeddable): حالت local برای استفاده از پایگاه داده در bypassing سرور. برای مواردی که پایگاه داده جاسازی شده است، مناسب است.

– گواهی Apache 2: همیشه برای هر استفاده ای رایگان است. به هیچ هزینه یا امتیازی برای استفاده از آن نیاز نیست.

– سرور کامل اندازه ای حدود 512 MB دارد.

– پشتیبانی تجاری از OrientDB در دسترس است.

– انطباق الگو: بیانیه انطباق، که در نسخه 2.2 معرفی شد، پایگاه داده را با استفاده از انطباق الگو به شیوه ای اظهاری جستجو می کند.

– Teleporter: به پایگاه داده relational امکان می دهد تا سریع به OrientDB با چند گام ساده import شود.

– Cloud آماده: OrientDB می تواند در cloud استفاده شود و تأمین کننده های زیر را پشتیبانی کند:
Amazon Web Services، Microsoft Azure، CenturyLink Cloud، Jelastic، DigitalOcean

 

منابع: ا2

نوشته های مرتبط

ارسال یک دیدگاه

شما برای وارد شوید. ارسال دیدگاه باید