تُعد قاعدة البيانات في الذاكرة هي قاعدة بيانات مبنية لغرض معين تعتمد بشكل رئيسي على الذاكرة الداخلية لتخزين البيانات. فهي تتيح الحد الأدنى من أوقات الاستجابة من خلال إلغاء الاحتياج للوصول إلى محركات الأقراص القياسية (SSD). تُعد قواعد البيانات في الذاكرة مثالية للتطبيقات التي تتطلب أوقات استجابة بالميكروثانية أو التي تشهد ارتفاعًا كبيرًا في حركة المرور، مثل قوائم المتصدرين للألعاب ومخازن الجلسات وتحليلات البيانات في الوقت الفعلي. تشير مصطلحات قاعدة البيانات الذاكرة الرئيسية (MMDB)، ونظام قاعدة البيانات في الذاكرة (IMDS)، ونظام قاعدة البيانات في الوقت الفعلي (RTDB) أيضًا إلى قواعد البيانات الموجودة في الذاكرة.

مزايا قواعد البيانات في الذاكرة

توفر قاعدة البيانات في الذاكرة العديد من المزايا التي نستكشفها بالتفصيل أدناه.

زمن استجابة منخفض، مما يوفر استجابات في الوقت الفعلي

زمن الاستجابة هو الفارق بين طلب الوصول إلى البيانات واستجابة التطبيق. توفر قواعد البيانات الموجودة في الذاكرة فترات استجابة منخفضة يمكن التنبؤ بها بغض النظر عن الحجم. فهي توفر زمن استجابة للقراءة بالميكروثانية وزمن استجابة للكتابة بالمللي ثانية المكون من رقم واحد ومعدل نقل مرتفع.

ونتيجة لذلك، يتيح التخزين داخل الذاكرة للمؤسسات اتخاذ قرارات تستند إلى البيانات في الوقت الفعلي. يمكنك تصميم تطبيقات تعالج البيانات وتستجيب للتغييرات قبل فوات الأوان. على سبيل المثال، يمكن أن توفر الحوسبة داخل الذاكرة لبيانات أجهزة الاستشعار من المركبات ذاتية القيادة وقت الاستجابة المطلوب في جزء من الثانية للكبح في حالات الطوارئ.

معدل نقل مرتفع

تُعرف قواعد البيانات الموجودة في الذاكرة بارتفاع معدل النقل. يشير معدل النقل إلى عدد عمليات القراءة (معدل نقل القراءة) أو الكتابة (معدل نقل الكتابة) خلال فترة زمنية معينة. تتضمن الأمثلة وحدات البايت/الدقيقة أو المعاملات في الثانية.

قابلية توسع عالية

يمكنك توسيع قاعدة البيانات الموجودة في الذاكرة لتلبية متطلبات التطبيقات المتغيرة. يمكن توسيع عمليات الكتابة والقراءة دون التأثير السلبي على الأداء. تظل قاعدة البيانات متصلة بالإنترنت وتدعم عمليات القراءة والكتابة أثناء تغيير الحجم.

ما هي حالات استخدام قواعد البيانات في الذاكرة

تعد قواعد البيانات الموجودة في الذاكرة خيارًا جيدًا للصناعات المصرفية والاتصالات والألعاب والإعلان عبر الهاتف المحمول. نقدم بعض الأمثلة لحالات استخدام قاعدة البيانات في الذاكرة أدناه.

التخزين المؤقت

ذاكرة التخزين المؤقت هي طبقة تخزين بيانات عالية السرعة تخزن مجموعة فرعية من البيانات العابرة عادةً. الغرض الأساسي من ذاكرة التخزين المؤقت هو زيادة أداء استرداد البيانات عن طريق تقليل الحاجة إلى الوصول إلى طبقة التخزين الأساسية الأبطأ. وهذا يعني أن الطلبات المستقبلية لهذه البيانات يتم تقديمها بشكل أسرع مما هو ممكن من خلال الوصول إلى موقع التخزين الأساسي للبيانات.

يتيح التخزين المؤقت لك إعادة استخدام البيانات المحسوبة أو البيانات التي سبق استردادها بكفاءة. يعمل تخزين البيانات في الذاكرة على نحو سليم للوصول بشكل أسرع إلى البيانات المخزنة مؤقتًا. في سبيل تحسين زمن الاستجابة، يتنازل التخزين المؤقت عن القدرة على الاحتفاظ بالبيانات لفترة طويلة. يكون وقت الاستجابة أسرع لأن البيانات يتم استردادها من الذاكرة، ولكن التخزين المؤقت لا يحمي من فقدان البيانات في الذاكرة. لهذا السبب، يتم استخدام التخزين المؤقت في كثير من الأحيان بالتزامن مع قاعدة بيانات دائمة مستندة إلى القرص.

عروض الأسعار في الوقت الفعلي

تشير عروض الأسعار في الوقت الفعلي إلى شراء وبيع مرات ظهور الإعلانات عبر الإنترنت. عادةً، يجب تقديم العرض أثناء قيام المستخدم بتحميل صفحة ويب خلال 100-120 مللي ثانية وأحيانًا تكون في حدود 50 مللي ثانية. خلال هذه الفترة، تطلب تطبيقات عروض الأسعار في الوقت الفعلي عروض أسعار من جميع المشترين لموقع الإعلان، وتحدد عرض السعر الفائز بناءً على معايير متعددة، وتعرض العرض، وتجمع معلومات بعد عرض الإعلان. تُعد قواعد البيانات في الذاكرة مثالية لاستيعاب البيانات في الوقت الفعلي، ومعالجتها وتحليلها بزمن استجابة أقل من مللي ثانية.

قوائم المتصدرين للألعاب

تُظهر قائمة المتصدرين النسبية للألعاب موقع اللاعب بالنسبة للاعبين الآخرين من نفس الرتبة. يمكن أن تساعد قوائم المتصدرين هذه في بناء التفاعل بين اللاعبين ومنع اللاعبين من الإحباط مقارنة بأفضل اللاعبين. يمكن لقواعد البيانات في الذاكرة تقديم نتائج الفرز بسرعة وتحديث قائمة المتصدرين في الوقت الفعلي للعبة تضم ملايين اللاعبين.

كيف يعمل التخزين المؤقت في الذاكرة

يعتمد التخزين المؤقت في الذاكرة على ذاكرة الوصول العشوائي (RAM) لتخزين البيانات. تقوم التقنية بتخزين جداول البيانات مباشرة في ذاكرة الوصول العشوائي (RAM) بدلاً من محركات الأقراص الخارجية. تسمح بنيات البيانات المتخصصة بفهرسة سجلات البيانات الخاصة بك. تعمل الفهارس كمؤشرات مباشرة لصفوف وأعمدة محددة. ومع ذلك، فإن البيانات المادية الفعلية مضغوطة وغير ارتباطية فيما يتعلق بالتنسيق. عند تقديم طلب وصول، تنتقل قاعدة البيانات إلى قيمة البيانات الدقيقة باستخدام الفهرس. تتوفر البيانات المخزنة دائمًا بتنسيق قابل للاستخدام المباشر.

جعلت أشياء مثل الحوسبة لإصدار 64 بت وأسعار ذاكرة الوصول العشوائية المنخفضة والخوادم متعددة النواة التخزين في الذاكرة أكثر شيوعًا. بالإضافة إلى ذلك، تسمح لك مخازن البيانات المستندة إلى السحابة بتوسيع موارد ذاكرة الوصول العشوائي الخاصة بك لأعلى أو لأسفل حسب الحاجة، مما يجعل تقنية الذاكرة الداخلية أكثر مرونة ويمكن الوصول إليها.

الفرق بين التخزين المؤقت في الذاكرة وقواعد البيانات التقليدية القائمة على القرص

تحتفظ قاعدة البيانات التقليدية بجميع البيانات إلى محركات الأقراص الخارجية أو محركات الأقراص ذات الحالة الصلبة. تتطلب كل عملية قراءة وكتابة واحدة الوصول إلى القرص. على العكس من ذلك، لا يعطي التخزين المؤقت في الذاكرة الأولوية لاستمرار البيانات. على سبيل المثال، قد تقوم ذاكرات التخزين المؤقت بحفظ البيانات بشكل دوري فقط إلى وسائط التخزين الخارجية. لقد قمنا بتلخيص الاختلافات بين التخزين المؤقت في الذاكرة وقواعد البيانات التقليدية أدناه.

ما الفرق بين التخزين المؤقت في الذاكرة وقاعدة البيانات في الذاكرة

يوفر التخزين المؤقت في الذاكرة أداءً أفضل نظرًا لعدم استمرار عمليات الكتابة، مما يؤدي إلى التخلص من الوقت الإضافي اللازم لاستمرار البيانات. تواصل قاعدة البيانات في الذاكرة الكتابة، مما يجعل تغييرات البيانات مستمرة. تأتي هذه الاستمرارية على حساب الأداء المنخفض للكتابة. ومع ذلك، لا تزال قواعد البيانات الموجودة في الذاكرة توفر أداءً أفضل من قاعدة البيانات المستندة إلى القرص. من ناحية الأداء، فإنها تقع بين التخزين المؤقت في الذاكرة وقاعدة البيانات المستندة إلى القرص.

ما هي قيود التخزين المؤقت في الذاكرة

نظرًا لأن جميع البيانات يتم تخزينها وإدارتها حصريًا في الذاكرة، فإن عمليات التخزين المؤقت في الذاكرة تخاطر بفقدان البيانات عند فشل العملية أو الخادم. لتحسين استمرارية البيانات، قد يحتفظ التخزين المؤقت في الذاكرة بالبيانات بشكل دوري على قواعد بيانات القرص. نحن نتطرق إلى بعض الطرق من أجل تحسين استمرارية الاحتفاظ بالبيانات أدناه.

ملفات اللقطات

تسجل ملفات اللقطات حالة قاعدة البيانات في لحظة زمنية معينة. يقوم التخزين المؤقت في الذاكرة بإنشاء لقطات بشكل دوري أو أثناء إيقاف التشغيل المُتحكم به. بينما تعمل اللقطات على تحسين استمرارية البيانات إلى حد ما، فقد يستمر فقدان البيانات بين اللقطات.

تسجيل المعاملات

تقوم تسجيلات المعاملات بتسجيل التغييرات التي يتم إجراؤها في قاعدة البيانات في ملف سجل خارجي. يعتبر التسجيل مستقل عن قراءة/كتابة البيانات ولا يؤثر على الأداء. يسهل ملف السجل الاسترداد التلقائي لعمليات التخزين المؤقت في الذاكرة.

النسخ المتماثل

تعتمد بعض عمليات التخزين المؤقت في الذاكرة على التكرار لتوفير درجة عالية من التوفر. إنها تحتفظ بنسخ متعددة من نفس البيانات في وحدات ذاكرة مختلفة. يؤدي عُطل الوحدة النمطية إلى تجاوز الفشل التلقائي للنسخة الاحتياطية المكررة. وهذا يخفف من مخاطر فقدان البيانات باستخدام ذاكرة التخزين المؤقت.

كيف يمكن لـ AWS دعم التخزين المؤقت في الذاكرة ومتطلبات قاعدة البيانات

توفر AWS العديد من خدمات التخزين المؤقت في الذاكرة وقواعد البيانات المُدارة بالكامل لتلبية احتياجاتك الخاصة.

قاعدة البيانات في الذاكرة

Amazon MemoryDB

Amazon MemoryDB هي خدمة قاعدة بيانات دائمة داخل الذاكرة توفر أداءً فائق السرعة. وتتوافق مع Redis، وهو متجر بيانات شائع ومفتوح المصدر. يتيح ذلك للعملاء إنشاء تطبيقات بسرعة باستخدام نفس بنيات بيانات Redis المرنة وسهلة الاستخدام وواجهات برمجة التطبيقات (API) والأوامر التي يستخدمونها بالفعل اليوم. تخزن MemoryDB أيضًا البيانات بشكل دائم عبر العديد من مناطق توافر الخدمات (AZ) باستخدام سجل معاملات متعدد مناطق التوافر (Multi-AZ) لتحقيق السرعة في تجاوز الفشل وتعافي قواعد البيانات وإعادة تشغيل العُقَد.

عمليات التخزين المؤقت في الذاكرة

Amazon ElastiCache مع التوافق مع Redis OSS

تعد Amazon Elasticache مع التوافق مع Redis OSS خدمة تخزين مؤقت فائقة السرعة في الذاكرة تتيح وقت استجابة ميكروثانية لتشغيل التطبيقات على نطاق الإنترنت في الوقت الفعلي. يمكن للمطورين استخدام ElastiCache for Redis كتخزين مؤقت في الذاكرة، أو استخدام الحالات التي لا تتطلب استمرارية عالية للبيانات. يدعم تكوين كتلة ElastiCache for Redis العملاء لتشغيل أعباء عمل Redis بسعة تصل إلى 6.1 تيرابايت في الذاكرة في كتلة واحدة. توفر خدمة ElastiCache for Redis أيضًا القدرة على إضافة وإزالة أجزاء البيانات من كتلة قيد التشغيل. يمكنك تكبير أو تقليل حجم أعباء عمل كتلة Redis ديناميكيًا للتكيف مع التغييرات المطلوبة.

Amazon ElastiCache for Memcached

Amazon ElastiCache for Memcached هي خدمة تخزين مؤقت ذات قيمة أساسية متوافقة مع MemCached وفي الذاكرة. إنها توفر نفس الأداء العالي وسهولة الاستخدام والبساطة التي يوفرها Memcached. تُعد ElastiCache for Memcached سريعة ومُدارة بالكامل وقابلة للتوسع وآمنة - مما يجعلها مرشحًا مثاليًا لحالات الاستخدام حيث يجب أن تكون البيانات التي يتم الوصول إليها باستمرار في الذاكرة.

ابدأ باستخدام التخزين المؤقت في الذاكرة أو قواعد البيانات على AWS من خلال إنشاء حساب مجاني اليوم!

مقدمة حول Amazon MemoryDB for Redis
مقدمة حول Amazon ElastiCache for Redis