هل تبحث عن قاعدة بيانات بسيطة وجديرة بالثقة لتخزين بياناتك؟ إذا كانت الإجابة بنعم ، فهذه المقالة لك. العديد من قواعد البيانات الشائعة والمتاحة في السوق تدعي أكثر بكثير مما تستحق. إذن ، بمن تثق؟ حسنًا ، Redis هي واحدة من أكثر قواعد البيانات شيوعًا وجديرة بالثقة مع ذاكرة مدمجة ، وقدرتها السريعة والفعالة من حيث التكلفة على البيانات الجغرافية المكانية على نطاق أوسع ، وفي الوقت الفعلي ، وسرعة معززة. يقدم Redis خادمًا لهياكل البيانات ، يستخدم كقاعدة بيانات ذات قيمة رئيسية وفعال في إدارة ذاكرة التخزين المؤقت والعمل كوسيط للرسائل. جميع أنواع إدارة البيانات ليست مشكلة بالنسبة لـ Redis. دعنا نتعرف على معلومات متعمقة حول قاعدة بيانات القيمة الأساسية Redis.
ما هي قاعدة بيانات مفتاح القيمة؟
تسمى قاعدة بيانات NoSQL المحددة بقاعدة بيانات قيمة المفتاح ، والتي يشار إليها عادةً باسم مخزن القيمة الرئيسية. تستخدم قاعدة بيانات القيمة الرئيسية أو مخزن القيمة الرئيسية سلسلة بسيطة أو مفتاحًا واحدًا أو مجموعة من المفاتيح / مفاتيح الحذف / مفاتيح متعددة للوصول إلى القيم المرتبطة ، على عكس قواعد بيانات NoSQL العلائقية السابقة التي احتفظت بهياكل البيانات في جداول وأعمدة محددة مسبقًا. يشار إليها مجتمعة بأزواج مفتاح القيمة. يمكن أن تتراوح هذه القيم من كائنات محددة مع عدة قيم متداخلة إلى أنواع بيانات سلسلة بسيطة مثل النصوص أو الأعداد الصحيحة. كل مفتاح سلسلة بسيط هو رقم تعيين معين ينسق مع صفقة أو موقع حيث يتم الاحتفاظ بالبيانات.
متى تستخدم قاعدة بيانات ذات قيمة مفتاح
قد يكون التطبيق الخاص بك متقلبًا إذا كان يجب عليه إدارة عدد كبير من عمليات القراءة والكتابة المستمرة. الوصول إلى قواعد البيانات ذات القيمة الأساسية سريع وداخل الذاكرة. تخزين صفحات الويب باستخدام عنوان URL باعتباره المفتاح وصفحة الويب كقيمة ؛ تخزين البيانات الأساسية ، مثل معلومات العميل ؛ الحفاظ على محتويات عربات التسوق ، وفئات المنتجات ، ومعلومات منتجات التجارة الإلكترونية. للبرامج التي لا تحتاج إلى تحديثات متكررة أو دعم للاستعلامات المعقدة.
حالات الاستخدام لقواعد بيانات القيمة الرئيسية
عربة التسوق
إنه بمثابة موقع ويب للتجارة الإلكترونية أو متجر ذي قيمة رئيسية عبر الإنترنت قد يحصل على مليارات الطلبات في جزء من الثانية ، خاصة عندما يكون موسم العطلات قاب قوسين أو أدنى ، وهو أمر ممتاز للتسوق. من خلال المعالجة والتخزين الموزعين ، يمكن أن تتسع قواعد البيانات ذات القيمة الأساسية لدعم ملايين المستخدمين المتزامنين وكميات كبيرة للغاية من تغييرات الحالة. التكرار الموجود بالفعل في قواعد بيانات القيمة الرئيسية يمكن أن يعالج فقدان عقد التخزين.
متجر الجلسة
عندما يقوم المستخدم بتسجيل الدخول ، يتم بدء الجلسة بواسطة برنامج موجه للجلسة ، مثل تطبيق ويب ، والذي يستمر حتى يقوم المستخدم بتسجيل الخروج من مخزن القيمة الرئيسية أو قواعد بيانات القيمة الرئيسية حتى يتم تمديد وقت تسجيل الدخول حتى الجلسة تنتهي. خلال هذا الوقت ، يحتفظ البرنامج بجميع المعلومات المتعلقة بالجلسة في قاعدة بيانات NoSQL أو الذاكرة الرئيسية. تتضمن بعض الأمثلة على أنواع بيانات الجلسات تفاصيل ملف تعريف المستخدم ، والرسائل ، والبيانات الشخصية والموضوعات ، والتوصيات ، والعروض الترويجية المستهدفة ، والخصومات. هناك معرف محدد لكل جلسة مستخدم. تعد مخازن قيمة المفاتيح السريعة مناسبة بشكل أفضل لأنواع بيانات الجلسة لأنه لا يتم الاستعلام عنها أبدًا بأي شيء آخر غير المفتاح الأساسي / مفاتيح الحذف / مفاتيح متعددة أو سلسلة بسيطة. بشكل عام ، قد تحتوي قواعد بيانات القيمة الرئيسية على حمل أقل لكل صفحة من قواعد البيانات العلائقية .
ما هو Redis ؟
يعد Remote Dictionary Server ، أو Redis ، عبارة عن قاعدة بيانات ذات قيمة مفتاح سريعة ويسهل الوصول إليها وداخل الذاكرة. سعى سالفاتور سانفيليبو ، مبتكر خادم Redis ، إلى زيادة قابلية التوسع في شركته الإيطالية ، وهي الطريقة التي بدأ بها المشروع. من هناك ، قام بإنشاء مثيل Redis وقاعدة بيانات NoSQL وذاكرة التخزين المؤقت ووسيط الرسائل ومفاتيح الحذف ومفاتيح متعددة وقائمة الانتظار قيد الاستخدام الآن.
يحتوي مثيل Redis على معدلات استجابة أقل من ميلي ثانية واحدة ، مما يتيح ملايين الاستعلامات في الثانية للتطبيقات في الوقت الفعلي في قطاعات تشمل الألعاب وتقنية الإعلانات والخدمات المالية والرعاية الصحية وإنترنت الأشياء. تم تصنيف قواعد بيانات Redis ذات القيمة الرئيسية كواحدة من أكثر قواعد البيانات المحبوبة وفقًا لـ Stack Overflow لأكثر من خمس سنوات ، مما يجعلها واحدة من أكثر المحركات مفتوحة المصدر شعبية اليوم. يعد خادم Redis خيارًا ممتازًا للتخزين المؤقت ، والألعاب ، وجمع التحليلات ، وإدارة الجلسة ، ولوحات المتصدرين ، والدردشة / مكالمات الفيديو ، والجغرافيا المكانية ، وتطبيقات النقل ، وتدفق الفيديو ، وتطبيقات الحانة نظرًا لتفعيلها الفوري والفوري.
لتشغيل مثيل Redis ، توفر AWS بالكامل. قواعد بيانات Redis ذات القيمة الرئيسية أو مخازن القيمة الرئيسية متوافقة ، ويمكن الاعتماد عليها ، وخدمات قواعد البيانات في الذاكرة مع أداء فائق السرعة هي Amazon MemoryDB Redis مع زمن انتقال ميكرو ثانية ، تعمل خدمة التخزين المؤقت المُدارة بالكامل Amazon ElastiCache for Redis على تسريع الوصول إلى البيانات من قواعد البيانات الأساسية ومخازن البيانات. بالإضافة إلى ذلك ، يدعم ElastiCache Memcached ، وهو محرك تخزين مؤقت مفتوح المصدر آخر محبوب.
هل Redis جيد كقاعدة بيانات؟
تم تصميم قاعدة بيانات Redis أو مخزن القيمة الرئيسية في البداية كقاعدة بيانات ذاكرة التخزين المؤقت ولكن تم تحويلها لاحقًا إلى قاعدة البيانات المركزية. خادم Redis هو قاعدة بيانات أساسية شائعة تستخدم في التطبيقات الحديثة. يدعم معظم مزودي خدمة Redis Redis كحافظ بيانات ومشرف ذاكرة التخزين المؤقت ولكن ليس كقاعدة بيانات رئيسية. بالإضافة إلى استخدام خادم Redis ، فأنت بحاجة أيضًا إلى قاعدة بيانات مختلفة ، مثل DynamoDB. يؤدي ذلك إلى زيادة التعقيد وتقليل وقت الاستجابة ومنعك من استخدام مثيل Redis بشكل كامل.
خادم Redis هو قاعدة بيانات لأحجام بيانات مختلفة ، من ميغابايت - MB إلى تيرابايت - TB من البيانات ، يمكن معالجتها وتخزينها. من خلال الجمع بين إمكانات Redis كقاعدة البيانات الرئيسية وذاكرة التخزين المؤقت في الذاكرة في نظام واحد مع Redis Enterprise ، يمكنك التخلص من التعقيدات ووقت الاستجابة لتشغيل نهجين مختلفين. بالإضافة إلى ذلك ، يمكن استخدام Redis كقاعدة بيانات أساسية تدعم العديد من الطرز ، مما يسمح لك بإنشاء تطبيقات معاصرة وإنشاءات تعتمد على الخدمة المصغرة بفاصل زمني منخفض في ذروتها.
استخدم وظائف Redis Enterprise الأصلية (الوحدات النمطية) لاستبدال الحاجة إلى خيارات وقواعد بيانات مختلفة لذاكرة التخزين المؤقت ، مثل:
- Redis مثيل JSON ، لتخزين مستندات JSON والتدفق لجمع البيانات ونشرها
- للحصول على فهارس إضافية ، استخدم RediSearch
- تعقيد العلاقة مع RedisGraph
- RedisTimeSeries لمراقبة التطبيقات
- RedisBloom المتصدرين والألعاب واكتشاف الاحتيال
- RedisAI للاستدلال والتخزين الفوري لميزات الذكاء الاصطناعي
- استخدم مجموعات الشركات ، والتوسيع التلقائي ، Geo-Distribution Active-Active للاستفادة من تلك المذكورة أعلاه
ما هي سرعة Redis ؟
Redis هي أداة تقييم سريعة جدًا وسيكون من الرائع امتلاكها. لمعرفة مدى سرعة تحرك مثيل Redis. ثانيًا ، يتطلب Redis بعض أنواع بيانات تجربة النظام الأساسي التي يمكن استخدامها لقياس حجم أداء Redis. لحسن الحظ ، يقدم Redis مثل هذه الأداة وبعض معلومات الخبرة لأنظمة الأجهزة المستخدمة على نطاق واسع.
يمكن تقييم أداء Redis باستخدام معيار Redis. يمكن لسطر الأوامر تحديد مدى جودة عمل أوامر Redis المحددة في وضع خط الأنابيب ، والوضع العادي ، وتحت ضغوط مختلفة.
يعمل Redis بشكل جيد للغاية. الحد الأقصى لمستوى التحميل وتعيين مستويات استهلاك الوقت والحصول عليها لنظام قاعدة بيانات ذات قيمة رئيسية هي عادةً أقل من ميلي ثانية. يمكن زيادة فعالية عمليات Redis باستخدام خطوط الأنابيب.
تحقق من العوامل التالية التي جعلت مثيل Redis سريعًا:
ذاكرة
Redis هي قاعدة بيانات NoSQL في الذاكرة. ومن ثم هناك قيود على RAM. لذلك ، يستخدم Redis سياسة إخلاء محددة للتسبب في نفاد الذاكرة أو إخلاء البيانات عند استنفاد بيانات تخزين الذاكرة.
روابط
يحدث كل إجراء يرسله تطبيق العميل إلى Redis في سياق اتصال. سواء كان ذلك بسبب نظام التشغيل الخاص بك ، أو إعداد Redis ، أو خطة مزود الخدمة ، فإن الحد الأقصى لعدد الاتصالات بخادم Redis يكون دائمًا مقيدًا. يجب أن يكون عميل التطبيق الجديد أو الجلسة التنفيذية قادرًا دائمًا على الاتصال إذا كانت هناك موارد مجانية كافية متاحة.
مخبأ
يجب أن يصل البرنامج إلى المحتويات المحفوظة حتى تعمل ذاكرة التخزين المؤقت في أفضل حالاتها.
الإخلاء
إذا كانت نسبة عدد مرات الدخول إلى ذاكرة التخزين المؤقت أقل من حد معين ، فقد يشير ذلك إلى أنه تم تشغيل الإخلاء ، مما يؤدي إلى إزالة البيانات من Redis ويؤدي إلى فقد ذاكرة التخزين المؤقت.
كائنات منتهية الصلاحية
ربما لا تنتهي صلاحية كائنات ذاكرة التخزين المؤقت منذ أن بدأ الإخلاء عندما كانت ذاكرة Redis منخفضة.
هل Redis أفضل من MongoDB ؟
دعنا نحاول الرد على نقاش Redis مقابل MongoDB. لا يوجد حل واحد ينطبق على جميع المواقف. وبالتالي ، يجب أن يتم الاختيار في ضوء احتياجات العمل والقيود المالية والعوامل الأخرى الموضحة أدناه. المعايير الرئيسية المستخدمة في مقارنة Redis مقابل MongoDB هي كما يلي:
سمات
- يتضمن Redis إمكانات مثل المتانة والتخزين المؤقت وإصلاحات الأعطال الخالية من المتاعب ، بينما يتمتع MongoDB بتقليل الخرائط وتجميع ميزات البيانات.
- التحكم في المحاسبة باستخدام الأدوار متاح مع MongoDB. ومع ذلك ، فهو ليس مع Redis.
أداء
- بالمقارنة مع MongoDB ، فإن مثيل Redis أفضل في التعامل مع أعباء العمل الثقيلة. يستخدم Redis سلسلة بسيطة ، وحيدة النواة ، وخيط واحد.
- لذلك ، يتفوق Redis على MongoDB بشكل هامشي من حيث الأداء. بمجرد أن تقيدها CPU ، تشتهر MongoDB أيضًا بالاستجابة البطيئة.
قابلية التوسع
- بالمقارنة مع Redis ، تقدم MongoDB دعمًا فائقًا لعامل قابلية التوسع. MongoDB بتحسين وظائف RAM على الأنظمة الأساسية المادية ، لكن Redis يقيد استهلاك ذاكرة الوصول العشوائي.
- على الرغم من أن Redis يحتوي على العديد من الوظائف المحيطية ، إلا أن القياس يكون أسهل مع MongoDB.
دعم المنصة
- خادم هياكل البيانات في الذاكرة هو Redis. ؛ يعمل مع وسطاء الرسائل ويسمح بالتخزين المؤقت. بمساعدة عملاء Java ، فإنه يوفر دعمًا لذاكرة التخزين المؤقت الربيعية.
- قاعدة بيانات NoSQL المستقلة عن النظام الأساسي تحتوي MongoDB على موصلات BI للتحليلات ، ودعم بيانات الربيع ، وواجهة استعلام تفاعلية لأوامر Redis باستخدام سطر أوامر.
هندسة قاعدة البيانات
- يعد كل من Redis Server و Redis Client مكونين في بنية قاعدة بيانات Redis. يتم الاحتفاظ بالبيانات في الذاكرة بواسطة Redis Server.
- تركز قاعدة بيانات NoSQL للوثائق على MongoDB. أدوات جلب وإخراج البيانات الثنائية ، ومقاربة البيانات الأمنية والمميزة ، وبناء الأنظمة الموزعة ، GridFS ، و MongoDB Compass كلها أجزاء من بناء قاعدة بيانات NoSQL.
دعم لغة البرمجة
- C, C#, Objective-C, Crystal, Clojure, Fancy, Haxe, Java, JavaScript (Node.js), Python, Lisp, MatLab, Lua, Elixir, OCaml, Pure Data, Swift , Dart, Pascal, Rebol, Ruby, Scheme, Tcl, Visual Basic يدعم مثيل Redis C, C#, Objective-C, Crystal, Clojure, Fancy, Haxe, Java, JavaScript (Node.js), Python, Lisp, MatLab, Lua, Elixir, OCaml, Pure Data, Swift , Dart, Pascal, Rebol, Ruby, Scheme, Tcl, Visual Basic ولغات البرمجة الأخرى.
- C, Clojure, Java, C++, Groovy, Scala, Dart, Erlang, Haskell, Perl, Lua, Rust, Powershell, Python, PHP, R, Haskell, Prolog, Swift, Smalltalk وما إلى ذلك ، ليست سوى عدد قليل من البرمجة اللغات التي يدعمها MongoDB.
دعم النسخ المتماثل
- يدعم Redis كلاً من النسخ المتماثل Master-Master و Master-Slave.
- يدعم MongoDB النسخ المتماثل Master-Slave.
حماية
- قبل تنفيذ أوامر Redis ، التزم ببروتوكولات المصادقة القوية. ومع ذلك ، لا يتطلب الأمر سوى مصادقة مباشرة قائمة على كلمة المرور لمنح المستخدمين الوصول ، مما قد يعرض الأمان للخطر.
- الأمن شيء يأخذه MongoDB على محمل الجد. يستخدم أنواع بيانات Redis المشفرة وإجراءات المصادقة للتحقق من المستخدم. تتيح القدرة على تحديد الوصول والقيادة في MongoDB للمستخدمين تخصيص حسابات بناءً على مسؤوليات الأدوار ، وتعزيز الأمن.
دعم التوثيق
- قد تحصل على المستندات الفنية والإرشادات ودعم البرمجة لقواعد بيانات Redis ذات القيمة الرئيسية.
- قد تجد المستندات الفنية والكتيب الموسع لـ MongoDB.
سعر
- تغير سعر Enterprise Cloud من Redis اعتمادًا على كمية أنواع بيانات Redis التي يجب تخزينها. يعتمد ترخيصها على نظام الاشتراك - خيار السعر الأساسي المجاني من Redis. يبدأ تسعير الإصدارات الأعلى برسوم شهرية قدرها 7 دولارات .
- الخطة الأساسية لـ MongoDB مجانية بالمثل. تكلفة إضافة رخصة تجارية أخرى ستكلف شهريا 57 دولارا .
شيء صغير
بعد مناقشة Redis - قواعد بيانات القيمة الرئيسية ، تعمل جميع أنواع بيانات Redis الأساسية في قواعد بيانات Redis ذات القيمة الرئيسية وأوامر Redis القياسية المستخدمة لإدارتها. يجب أن يكون لديك معرفة كافية نسبيًا بقواعد بيانات Redis ذات القيمة الرئيسية ويمكنك البدء في استخدام Redis للاستخدام الشخصي والتجاري. في الخلاصة ، تساهم قواعد بيانات Redis الرئيسية بشكل إيجابي في التحسينات الموثوقة والمنهجية بميزاتها الأساسية والمستخدمين العامين لهياكل البيانات وتخزين الخادم وأغراض التخزين المؤقت. يمكنك متابعة الوثائق عبر الإنترنت المتوفرة على موقع Redis والتي ستوضح مزيدًا من المعلومات حول النظام الأساسي.
وبالمثل ، بمجرد البدء في استخدامه ، يمكنك استكشافه بمزيد من المكونات المتقدمة الإضافية مثل المعاملات وخطوط الأنابيب وما إلى ذلك وغير ذلك الكثير. ومع ذلك ، لا تُستخدم هذه الخصائص المتقدمة عادةً في واجهة سطر الأوامر لمستهلكي قاعدة بيانات Redis ذات القيمة الرئيسية ، ولكنها تُستخدم بشكل عام في التطبيقات المختلفة التي تم إنشاؤها مع الترميز من خلال لغات البرمجة المختلفة.
ليس فقط للتطبيقات التي تم إنشاؤها باستخدام الترميز ولكن أيضًا مفيد للتطبيقات التي تم تطويرها باستخدام نظام أساسي no-code مثل AppMaster. AppMaster عبارة عن نظام أساسي لتطوير التطبيقات no-code يسمح لك ببناء تطبيقات الويب والجوال باستخدام واجهة drag-and-drop سهلة.
يحتوي AppMaster على وحدة Redis. يمكن للمطورين استخدام اتصال بقيمة مفتاح لأي قاعدة بيانات Redis للمزامنة بين الخدمات المصغرة وفي الحالات التي يتم فيها استخدام موازنة Websocket .