دیتابیس

redis چیست و چه مزایایی دارد

Redis چیست و چه مزایایی دارد ؟

 

در این مقاله ما به موارد زیر میپردازیم :

✅ redis چیست

✅ مزایای redis

✅ معایب redis

✅ زبان ها و سیستم عامل های پشتیبانی شده در redis

 

برای اینکه شروع کنیم و پایگاه داده redis رو بشناسیم بهتره که با مثال ها شروع کنیم

حتما شما هم اپلیکیشن های مختلف رو روی موبایلتون نصب کردید و تنوع و تعداد اپلیکیشن ها توی استورهای ایرانی و خارجی رو دیدید.

باید اینجا این نکته رو بگیم که طبق آمار سال 2019 حدود 70 درصد اپلیکیشن ها بر روی پایگاه داده redis بالا اومدن و حدود 7 درصد وبسایت ها هم از پایگاه داده redis استفاده کردن.

خب دلیل اینکار هم سرعت پاسخگویی بالای پایگاه داده redis هست.

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

redis چیست ؟

what is redis

redis توسط Salvatore Sanfilippo توسعه داده شد و در در سال 2019 یه اسپانسر به اسم Redis Labs پیدا کرد.

خود Redis Labs در سال 2011 توسط Ofer Bengal پایه گذاری شد.

طبق تعریف سایت redis.io که سایت مرجع Redis هست ، redis یه فناوری open source هست که به عنوان پایگاه داده

مقیم در حافظه اصلی in-memory و هم به عنوان cache دیتابیس و هم به عنوان message broker استفاده میشه.

این پایگاه داده انواع داده های زیر رو ساپورت میکنه :

(strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams)

خب تا اینجا گفتیم که Redis به عنوان پایگاه داده in-memory شناخته شده خب این یعنی چی ؟

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

redis داده های خودش رو با متد Key-value نگهداری میکنه که با این متد ، ارتباطات پیچیده دیتابیسی حذف شده و دیتاها خیلی سریعتر جستجو میشوند.

پایگاه داده Nosql

NoSQL database

redis از نوع پایگاه داده NoSql هست و به همین خاطر هم سرعت بالایی در پاسخگویی داره.

در پایگاه داده های که ما معمولا میشناسیم و باهاشون کار کردیم مثل mysql و sqlserver پایگاه داده ها از نوع SQL هستن و دیتاها بر اساس جداول و تیبل ها و رابطه ها جاگذاری و جستجو میشن و به اصلاح به این نوع پایگاه داده ها پایگاه داده رایطه ای میگن.

ولی در دیتابیس nosql خبری از ارتباطات و رابطه ها نیست و طراحی این نوع پایگاه داده ها ساده تر و جستجو هم بسیار سریعتر صورت میگیرد.

و خب redis هم از این نوع پایگاه داده هست و سرعت خیلی بالایی داره و طبق آمار وبسایت db-engines.com اگر بخواهیم نظر دهیم باید بگوییم که redis در حال حاضر به عنوان محبوب ترین پایگاه داده در بین فعالان حوزه آیتی شناخته شده.

مزایای redis

شاید بشه گفت اولین و مهمترین مزیت redis همین Open source بودن اون هست که شما علاوه بر اینکه نیاز به لایسنس ندارید ، میتونید به ارحتی اون رو customize کنید و دیتابیس دلخواه خودتون رو داشته باشید.

یکی دیگه از مزایای ردیس Simple to use یا همون سادگی در طراحی و استفاده هست.

مزیتی که خیلی ها بخاطر اون به سمتش اومدن persistence هست یا ماندگاری بالا که در صورت ریستارت شدن سرور هم دیتاهای شما از بین نمیرود.

redis چون از Replication ساپورت میکنه شما به راحتی میتونید دیتابیس خودتون رو به اصلاح scale کنید و نگرانی بابت حجم و در دسترس بودن دیتاهاتون نداشته باشید.

معایب redis

شاید بتوان گفت تنها و تنها هزینه بالاتر  هست که مهمترین عیب redis عنوان شده.

چون دیتابیس redis از نوع دیتابیس In-Memory یا همون مقیم در حافظه هست و دیتاها درون حافظه ی Ram قرار میگیرند ، باید Ram بیشتری به سرور اضافه کنیم.

و از اونجایی که فاکتور اصلی توی قیمت سرور مخصوصا در دیتاسنترها بر اساس Ram هست ، این قضیه میتونه هزینه اضافی برای شما در پی داشته باشه ، ولی اگر از لحاظ هزینه مشکل نداشته باشید redis میشه گفت بدون عیب هست.

زبان های پشتیبانی شده در redis

در پشتیبانی از بان های برنامه نویسی شما قطعا هیچ مشکلی نخواهید داشت ، چون redis تمام زبان های برنامه نویسی محبوب دنیا رو ساپورت میکنه.

در زیر چند نمونه از این زبان های برنامه نویسی رو برای شما آورده ایم :

( Bash,C,C#,C++,Go,java,Matlab,node.js,Perl,PHP,Ruby,Swift,Python,VB )

اگر میخواهید که لیست کامل زبان های برنامه نویسی که redis رو ساپورت رو میکنه رو ببینید میتونید به آدرس زیر برید :

https://redis.io/clients

سیستم عامل های قابل پشتیبانی 

redis رو با زبان برنامه نویسی c نوشتن به همین خاطر هم تمامی سیستم عامل های خانواده linux و unix رو ساپورت میکنه

از جمله این سیتم عامل هایی که خیلی در redis استفاده میشه OpenBSD و FreeBSD هستند.

همچنین به تازگی مایکروسافت هم در سیستم عامل های سروری خودش redis رو پشتیبانی میکنه.

 

نتیجه گیری

طبق تجربه تیم سازن هاست اگر شما اپلیکیشنی دارید که نیاز به سرعت بالا داره باید به سراغ دیتابیس های noSQL بروید

و در بین دیتابیس های nosql هم redis بیشترین استفاده رو در بین اپلیکیشن ها داشته و به قول معروف جواب خودشو پس داده.

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

منبع

منبع

برچسب ها
نمایش بیشتر

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن
بستن