آشنایی با دیتابیس گرافی Dgraph
در سری مطالب کار با دیتایس Dgraph قراره از ابتدا یعنی نصب و راه اندازی تا کوئری گرفتن و موضوعات مختلف و مقدماتی رو با هم بررسی کنیم و در بخش اول توضیحاتی کلی رو در مورد این دیتابیس گرافی با هم بررسی میکنیم. ابتدا برای انجام کار ها از رابط کاربری خود Dgraph استفاده میکنیم و در مطالب بعدی سراغ انجام کار ها با پایتون میریم .
دیتابیس گرافی چیست ؟
به طور کلی، دیتابیس گرافی نوعی از پایگاههای داده است که برای کوئری زدن از ساختار گرافهای مختلف استفاده میکند. اکثر این نوع دیتابیسها ماهیت NoSQL دارند و دیتا را برای ذخیرهسازی به صورت یک جفت Key-Value ذخیره میکنند (برای آشنایی بیشتر با این نوع دیتابیسها، به مقالهٔ دیتابیس NoSQL چیست؟ مراجعه نمایید.) برخلاف دیتابیسهای سنتی همچون MySQL، در دیتابیسهای گرافی مقادیر ذخیره شده در دیتابیس به شکلی کاملاً آزاد میتوانند به یکدیگر مرتبط شوند و همین میشود که در دیتابیسهای مبتنی بر گراف قادر خواهیم بود تا دیتای مختلف را خیلی سریع در ساختارهای پیچیده بیابیم.
منبع : سکان آکادمی
دیتابیس گرافی Dgraph چیست ؟
دی گرف (dgraph) طبق توضیح وب سایت رسمی dgraph یک دیتابیس گرافی اوپن سورس ، مقیاس پذیر ، توزیع شده و بسیار قابل دسترس و سریع است . وب سایت زسمی Dgraph وب سایت زسمی Dgraph
ویژگی های دیتابیس گرافی Dgraph چیست ؟
توزیع شده : Dgraph اطلاعات را به صورت horizontally (افقی) به صدها سرور اختصاص میدهد. به این شکل طراحی شده است برای به حداقل رساندن تماس های شبکه(network calls).
سریع : Dgraph مانند یک موتور جستجو ساخته شده است. پرس و جو ها (Queries) به زیر پرسش ها (Sub-Queries) شکسته میشوند، برای رسیدن به زمان کم و سرعت بالا هم زمان اجرا میشوند.
تراکنش* : با استفاده از *ACID می توانید بر روی منطق برنامه خود تمرکز کنید، به جای نگرانی در مورد تمامیت داده ها.
تراکنش در پایگاه داده ها : در واقع یک مجموعه ای از عملیات (مانند SELECT, UPDATE و…) است که مانند یک واحد منطقی عمل میکنند.
خاصیت ACID : تراکنش ها در یک پایگاه داده بایستی از خاصیتی به اسم ACID پشتیبانی کنند. اگر تراکنشی در پایگاه از ACID پشتیبانی کند، منجر به دقت و جامعیت در پایگاه داده می شود. ACID مخفف سه کلمه Atomicity، Consistency، Isolation و Durability میباشد.
بسیار قابل دسترس : Dgraph به طور خودکار تکرار همزمان را اجرا می کند، بنابراین از دست دادن یک هارد دیسک یا سرور بر روی سرویس های شما تاثیر نمیگذارد.
متن باز : دی گرف به طور کامل در Go نوشته شده است، Dgraph تحت مجوز Apache 2.0 در دسترس است. صفحه گیت هاب دی گرف ویژگی Shard Rebalancing : دی گرف تضمین میکند که داده ها به طور یکنواخت در سرورها به صورت خودکار حرکت می کنند، بهبود بهره وری منابع برای عملکرد بالا.
اسکیما (Schema) انعطاف پذیر
رابط کاربری (UI) : دی گرف یک رابط کاربری را فراهم میکند، بنابراین شما می توانید اطلاعات خود را مرور و مدیریت کنید.
طراحی شده برای SSD : ویژگی Badger برای کاهش مصرف RAM و تکیه بر عملکرد SSD طراحی شده است. این سریع و ارزان است. زبان کوئری Dgraph چیست ؟
زبان کوئری دی گرف (Dgraph graph QL) بر پایه Graph QL فیسبوک است . GraphQL برای پایگاه داده های گرافی توسعه داده نشده است اما نحوه سینتکس کوئری ها ، اسکیما و … آن را به انتخابی عالی برای زبان کوئری دی گرف تبدیل میکند ، به همین دلیل زبان کوئری dgraph بسیار شبیه به graph Ql است اما به همراه اضافه شدن ویژگی ها و تغییراتی که آن را برای یک دیتابیس گرافی مناسب میکند. از چه زبان هایی میتوان برای Dgraph استفاده کرد ؟
در زیر لیست زبان های برنامه نویسی که میتونید با استفاده از اون ها از dgraph استفاده کنید اومده به دو بخش رسمی و غیر رسمی تبدیل میشن که طبیعتا غیر رسمی ها توسط dgraph پشتیبانی نمیشه ! که ما در این سری مطلب از پایتون استفاده میکنیم. برای رفتن به صفحه توضیحات هر زبان کلیک کنید.
رسمی :
- Java
- JavaScript
- Python
- Go
غیر رسمی :
- #C
- Dart
- Elixir
تا اینجای کار به طور کلی با دیتابیس Dgraph آشنا شدیم توی پست های بعدی به سراغ نصب و راه اندازی و بقیه کار های میریم … این سری مطلب و مطالب دیگه رو از طریق وب سایت شخصی من هم میتونید دنبال کنید :) موفق و پیروز باشید