دوره آموزشی بانک اطلاعاتی Neo4j (دیتابیس غیر رابطه ای گرافی)

در برخی از اپلیکیشن ها و وب سایت ها، علاوه بر خود داده ها، ذخیره کردن ارتباط بین داده ها بسیار اهمیت دارد. مثلا در یک شبکه اجتماعی مثل Linkedin  لازمست مشخص کنیم یک فرد با چه اعضای دیگری مرتبط است. یا سایت خرید و فروشی مثل Ebay و یا موتور جستجویی مانند Google می بایست روابط بین اشیاء و صفحات را که به مرور تکامل می یابند ذخیره کنند. در این نوع اپلیکیشن ها، ارتباط بین داده ها حتی بیشتر از خود داده ها ارزشمند است (Relation-first Approach).

در صورتی که بخواهیم در اینگونه اپلیکیشن ها ارتباطات را توسط  بانک های اطلاعاتی رابطه ای ذخیره کنیم، با افزایش تعداد جداول برای بازیابی روابط مجبور به استفاده از تعداد زیادی دستور join بین جداول پایگاه داده هستیم. تعداد Join زیاد بین جداول علاوه بر پیچیدگی بسیار کدنویسی، موجب کند شدن فراخوانی داده ها میشود.

Neo4j یک بانک اطلاعاتی از نوع دیتابیس های نوین (NoSQL) است که برای ذخیره داده ها و ارتباط میان آنها از مدل داده ای گراف استفاده میکند. یعنی همه داده ها را در قالب گراف و بصورت مجموعه ای از node ها و Relation میان آنها ذخیره میکند. به همین خاطر در مقایسه با دیتابیس های رابطه ای دیگر نیازی به نوشتن join های پیچیده نیست و براحتی با پیمایش و حرکت در گراف میتوان انواع Query های متنوع را انجام داد.

استفاده از گراف ها بجای جداول در Neo4j علاوه بر کدنویسی کمتر و ساده تر سبب میشود سیستمی کاملا Agile و Flexible برای ذخیره انواع داده ها و روابط داشته باشیم. همچنین بخاطر استفاده از گراف ها، با داشتن یک دید شهودی از داده ها و ارتباط میان آنها، تحلیل و درک پروژه ها حتی برای افراد غیر متخصص ساده تر خواهد بود.

در این دوره آموزشی پس از تعریف دیتابیس های NoSQL و انواع آن، به آموزش بانک اطلاعاتی Neo4j میپردازیم که محبوبترین دیتابیس از نوع دیتابیس های مبتنی بر گراف است. این دیتابیس Open Source بوده و روی همه پلتفرم ها نصب میشود.

این دوره آموزشی میتواند برای کلیه دانشجویان رشته کامپیوتر و IT و علاقه مندان به مباحث بانک های اطلاعاتی نوین بویژه متخصصان علوم داده، دید مناسبی برای درک دیتابیس های گرافی ایجاد نماید.

مشاهده ویدیو معرفی دوره آموزشی دیتابیس گرافی Neo4j احسان جوانمرد

تهیه دوره آموزشی پایگاه داده غیر رابطه ای نیوفورجی Neo4j

دوره آموزشی بانک اطلاعاتی مدرن کلید-مقدار Redis

در هنگام تولید و توسعه اپلیکیشن ها و وب سایت ها، با افزایش روز به روز تعداد کاربران و نیاز به ذخیره حجم بسیار بالاتر داده هایی با ساختارهای متنوع و منعطف، متوجه این مسئله خواهیم شد که بانک های اطلاعاتی سنتی با ساختار مدل رابطه ای دیگر جوابگوی همه نیازهای ما نخواهند بود. به دلیل اهمیت Scalable بودن سیستم ها و تمایل به غیرمتمرکز کردن دیتابیس ها، نیازمند بکارگیری دیتابیس هایی توزیع شده روی سرورهای مختلف هستیم. با این کار بحث Availablity و Consistency مطرح میشود و همچنین موضوع Performance ذخیره و بازیابی داده ها بدون شک یک نیاز اساسی است.

امروزه این نیازمندی ها توسط بانک های اطلاعاتی نوین (NoSQL) پاسخ داده میشوند. کارکرد عالی آنها در بحث Performance، Replication و Partitioning (sharding) میتواند اطمینان بالاتری در توسعه محصولات نرم افزاری فراهم کند.

بانک اطلاعاتی ردیس، یک NoSQL Database از نوع کلید-مقدار Key-Value است که توانایی ذخیره هر نوع داده متنوع را فراهم میکند. انواع داده های قابل استفاده در Redis از جمله رشته String، هش Hash،لیست List، مجموعه Set، مجموعه مرتب Sorted Set و … امکان پیاده سازی هر نوع ساختمان داده ای را فراهم کرده است. به دلیل قابلیت آن در ذخیره داده درون حافظه از سرعت ذخیره و بازیابی استثنایی برخوردار است. برای مثال میتوان از آن به عنوان یک صف درخواست ها، ذخیره Log ها، سرور cache، Buffer، مدیریت Session ها، شمارنده های وب سایت ها و … استفاده کرد.

در این دوره آموزشی پس از توضیح بانک های اطلاعاتی Nosql، دلایل نیاز به آنها و بیان انواع آنها با کمک نظریه CAP Theorem مورد بحث قرار گرفته است. پس از آن معرفی مقدمات دیتابیس Redis به همراه توضیحات انواع داده های مورد استفاده در آن و همینطور Cluster ردیس بیان شده است. در ادامه به تفصیل انواع داده ها، کار با کلیدها، تراکنش ها، اسکریپت نویسی LUA Scripting، Pipeline توضیح داده شده است.

مباحث مربوط به Backup گیری و امنیت و Benchmark کردن سرور ها و همچنین تنظیمات سرورها و کلاینت ها مواردی است که در ادامه این دوره آمده است.

به عنوان مباحث تکمیلی اتصال زبان های برنامه نویسی Java، PHP و Python به ردیس توضیح داده شده و بصورت عملی اتصال پایتون به ردیس و درج و خواندن داده ها نشان داده میشود.

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

مشاهده و دانلود معرفی دیتابیس Redis و تهیه دوره آموزش بانک اطلاعاتی ردیس