ویرگول
ورودثبت نام
ali.bayat
ali.bayatتوسعه دهنده ارشد وب
ali.bayat
ali.bayat
خواندن ۴ دقیقه·۵ سال پیش

بررسی ویژگی های آرانگو دی‌بی

بررسی ویژگی های آرانگو دی‌بی
بررسی ویژگی های آرانگو دی‌بی


ما به عنوان توسعه دهندگان نرم افزار، اغلب با پروژه هایی سروکار داریم که با سطح بالایی از عدم قطعیت مواجه هستند. به طور مثال یک شبکه مجازی را در نظر بگیرید; ما نمی‌توانیم به طور قطعی پیش بینی کنیم که تعداد کانکشن های هر شخص در آینده چقدر پیچیده خواهد بود. بنابراین انتخاب یک پشته (Stack) فناوری بهینه ممکن است سخت باشد. با این حال، ممکن است یک پایگاه داده کامل برای چنین مواردی وجود داشته باشد... این پایگاه داده آرانگو دی‌بی (ArangoDB) نام دارد.

آرانگو دی‌بی یک پایگاه داده متن باز و چند مدلی می‌باشد که با سی پلاس پلاس توسعه داده شده است. این پایگاه داده از سندها، چارت ها و مقادیر key value پشتیبانی می‌کند و به کاربران این امکان را می‌دهد تا آزادانه همه مدلهای داده را در یک پرس و جو (Query) واحد ترکیب کنند.

هر چقدر اپلیکیشن ها پیچیده تر می‌شوند، نیاز به استفاده از بیش از یک نوع پایگاه داده نو اس‌کیو‌ال بیشتر دیده می‌شود. استفاده از ویژگی چند مدلی آرانگو دی‌بی می‌تواند با ترکیب چند نوع از نو اس‌کیو‌ال در کنار هم اما در یک زیرساخت، تا حدی زیادی معماری را سهولت بخشد.



ویژگی ها

مقیاس پذیری در عملکرد

آرانگو دی‌بی به شما امکان می دهد با مقیاس پذیری عمودی و افقی به سرعت با شرایط مورد نیاز برای بهبود عملکرد و ذخیره سازی داده های مورد نظرتان سازگار شوید. همچنین از مقیاس پذیری مستقل مدل های مختلف داده پشتیبانی می کند و به شما امکان می دهد تا منابع سخت افزاری دیتابیس خود را به سرعت کاهش دهید و در هزینه های عملیاتی صرفه جویی کنید.

کاهش پیچیدگی عملیاتی

پایگاه های داده چند مدلی به شما امکان می دهند از فناوری های مختلف ذخیره سازی استفاده کنید که با نحوه استفاده از داده های شما توسط اجزای مختلف در برنامه شما بهتر مطابقت دارند.

زبان کوئری ArangoDB Query Language یا AQL

آرانگو دی‌بی به شما امکان می دهد با استفاده از یک زبان پرس و جو اعلانی به هر داده ای (صرف نظر از نوع مدل آن) دسترسی پیدا کنید. این زبان بسیار شبیه به زبان استاندارد SQL است اما با برخی تفاوت های جزئی


پشتیبانی از مولفه های ACID

در مقایسه با سایر دیتابیس های نو اس‌کیو‌ال، یکی از مزایای بسیار مهم آرانگو دی‌بی همین مورد است.. آرانگو دی‌بی از تراکنش های قابل تعریف توسط کاربر پشتیبانی می کند. تراکنش های در آرانگو دی‌بی Atomic, Isolated, Consistent و Durable هستند.. به این ترتیب موارد زیر تضمین می‌شوند:

  • مولفه Atomicity باعث می شود که تراکنش ها یا به طور کامل انجام شوند یا هیچ تاثیری نداشته باشد.
  • مولفه Consistency تضمین می کند که هیچ constraint ی در حین یا بعد از هرگونه تراکنش نقض نشود. در نتیجه یک تراکنش هرگز پایگاه داده را خراب نمی کند (یکپارچگی حفظ می‌شود).
  • مولفه Isolation تا پایان تراکنش، تغییرات تراکنش را از سایر تراکنش ها مخفی می‌کند.
  • مولفه Durability اطمینان می دهد که عملیات حاصل از تراکنش های انجام شده دائمی خواهند بود.

برای برسی بیشتر محدودیت ها در تراکنش ها، مستندات را بررسی کنید.


مدل قدرتمند Graph

در ریاضیات گسسته ، نمودار به عنوان مجموعه ای از رأس و لبه ها تعریف می شود. در محاسبات یک نوع داده انتزاعی در نظر گرفته می شود که در نمایش ارتباطات (Relations) واقعاً خوب عمل کند; برخلاف ساختار داده های جداول در سیستم های دیتابیس های رابطه ای ، که از قضا در بیان روابط بسیار محدود هستند.

یک نمودار را می توان بصورت مستقیم در رابط کاربری وب آرانگو دی‌بی Visualize و دستکاری کرد. در این رابط کاربری تنظیمات زیادی برای نمایش لبه ها و راس ها قرار دارد.

در تصویر زیر دیتا سِتی از اطلاعات IMDB را با درجه عمق ۴ و نتایج محدود به ۳۰۰ آیتم رو می‌بینیم.. که نوع لبه Visualize شده به صورت منحنی و با برچسب های راس و لبه سفارشی تنظیم شده است. این یک نمای سریع از ژانرها ، فیلم های آن ژانرها و بازیگرانی است که در آن فیلم ها بازی کرده اند.

همانطور که برنامه شما رشد می کند ، به احتمال زیاد اندازه نمودار های شما همراه با آن رشد می‌کند. آرانگو دی‌بی برای اطمینان از پرفرمنس راه حلی را به نام SmartGraphs ارائه می دهد.

مشکل اصلی پرفرمنس از Latency شبکه ناشی می شود. مخصوصا زمانی که نمودار های روی کلاستر های مختلف هستند..

که نهایتا با اسمارت گراف نتایج زیر حاصل میشه:



پرفرمنس بالا در قیاس با سایر نو اس‌کیو‌ال ها

تصاویر زیر نتایج بنچ مارک آرانگو دی‌بی با سایر دیتابیس های مطرح هست:


برای بررسی کامل بنچ مارکها میتوانید این مقاله را دنبال کنید



نتیجه گیری

نتایجی که من از تست این دیتابیس به دست آوردم، همه بیان کننده پرفرمنس بالای این دیتابیس هست.. آرانگو دی‌بی با بهره گرفتن از متد های مدرن Deployment به راحتی قابل استفاده است. (استفاده از Kubernetes, Docker و کلاستر کردن نود ها به راحتی امکان پذیر است)

همچنین با پشتیبانی از چند مدل داده ها، آرانگو دی‌بی تعداد کامپوننت هایی که باید نگهداری شوند را کاهش داده و باعث کاهش پیچیدگی در معماری می‌شود.

این دیتابیس نسبتا جوان است (۲۰۱۱) اما به خوبی توانسته درایور های زبان های مطرح را ارائه کند.. و برای برخی فریم‌ورک ها نیز پکیج هایی جهت Integration وجود دارد.

چنانچه در پروژه های پیش رو به خواصی که بررسی کردیم نیاز داشتید، حتما این دیتابیس را بیشتر مورد بررسی قرار دهید.


نسخه انگلیسی مقاله در مِدیوم:

ArangoDB Features Review

https://medium.com/@ali.bayat/arangodb-features-review-7db4d72824b3

databasenosql
۱۰
۴
ali.bayat
ali.bayat
توسعه دهنده ارشد وب
شاید از این پست‌ها خوشتان بیاید