إن تحسين أداء تخزين البيانات لتطبيق ويب يستند إلى المحتوى هي عملية تكرارية. من المهم مراعاة سرعة معالجة البيانات وحجم البيانات التي يحتاج التطبيق إلى دعمها، بالإضافة إلى بنية قاعدة بياناتها وتقنيات تخزين البيانات الخاصة بها. وهذه اعتبارات مهمة يجب إجراؤها أيضًا أثناء مرحلة التصميم الأولية.
ويمكن أن تساعد أساليب مثل التوسيع متعدد الأبعاد والتخزين المؤقت لتطبيقك في التوسع بشكل أكبر في دعم مزيد من المستخدمين والبيانات.
سرعة معالجة البيانات
يشير مصطلح معالجة بيانات المعالجة إلى معدل معالجة البيانات بين الأجهزة أو الأنظمة أو المكونات داخل بيئة حوسبة. وهو تقيس قدرة النظام على معالجة البيانات خلال فترة محددة. يتم التعبير عن سرعة المعالجة بوحدات البيانات لكل وحدة زمنية، مثل وحدات البايت في الثانية (B/s) أو الميغابت في الثانية أو المعاملات في الثانية (TPS).
تشير معالجة بيانات المعالجة إلى البيانات التي يمكن لقاعدة البيانات معالجتها في وقت معين. وهذا أمر مهم لتطبيقات الويب التي تعتمد على المحتوى، حيث إنها غالبًا ما تحتاج إلى معالجة كميات كبيرة من البيانات في الوقت الفعلي.
تشمل العوامل التي قد تؤثر في سرعة معالجة بيانات المعالجة ما يلي:
- نوع قاعدة البيانات. بعض قواعد البيانات أكثر كفاءة في معالجة البيانات من غيرها.
- تهيئة الجهاز. يجب أن يكون لخادم قاعدة البيانات وحدة معالجة مركزية وذاكرة ومساحة تخزين كافية للتعامل مع التحميل.
- مدى تعقيد الطلب يمكن أن تستغرق معالجة الاستعلامات المعقدة وقتًا أطول من الاستعلامات الأساسية.
في ما يتعلق بالتوسّع، تُعدّ سرعة البيانات مقياسًا مهمًا يقيس قدرة وكفاءة تطبيق الويب المستند إلى المحتوى للتعامل مع الطلبات ومعالجة البيانات. تعد السرعة العالية أمرًا ضروريًا لإدارة عدد الزيارات المتزايد والحفاظ على الأداء سريع الاستجابة.
تشمل الاعتبارات المتعلقة بسرعة معالجة البيانات عند توسيع نطاق تطبيق ويب ما يلي:
الاعتبارات | |
---|---|
موازنة الحمل | يعمل جهاز موازنة الحمل على توزيع الزيارات بالتساوي بين مثيلات خادم تطبيقك. ويضمن ذلك عدم حدوث أي تأثير سلبي لأي خادم، ويتيح لك الاستفادة من قدرات المعالجة المجمَّعة لخوادم متعددة. |
التوسعة الأفقي | يمكن استخدام التحجيم الأفقي لزيادة سرعة معالجة البيانات. ويتضمّن ذلك إضافة المزيد من مثيلات الخادم إلى البنية الأساسية لتطبيقك. يسمح الضبط الأفقي لتطبيقك بتوزيع الطلبات على عدة خوادم، ما يؤدي إلى زيادة سرعة معالجة البيانات. |
تحجيم قاعدة البيانات | ننصحك باستخدام أساليب ضبط حجم قاعدة البيانات، إن أمكن، لمعالجة عمليات القراءة والكتابة المتزايدة. ويمكن أن تشمل هذه الأساليب استخدام قاعدة بيانات موزّعة أو تحسين طلبات البحث في قاعدة البيانات وفهرستها. |
تغيير الحجم التلقائي لقاعدة البيانات | يمكن لآليات القياس التلقائي إضافة مثيلات الخادم أو إزالتها استنادًا إلى أنماط عدد الزيارات في الوقت الفعلي. غالبًا ما توفّر منصّات السحابة الإلكترونية ميزات تغيير الحجم التلقائي من أجل تعديل الموارد بما يتوافق مع الطلب. جرِّب ميزات التوسعة المتاحة لقاعدة البيانات والنظام الأساسي، على سبيل المثال، خدمة مثل Autoscaler for Spanner. |
تحسين الرموز أو الخوارزمية | مراجعة رمز التطبيق وخوارزمياته وتحسينه باستمرار لتحقيق كفاءته وقد يؤدي التقليل من استهلاك موارد الخادم إلى زيادة سرعة معالجة البيانات. |
إقليميًا/عالميًا | يشير تخزين البيانات على المستوى الإقليمي والعالمي إلى الطرق المختلفة لتخزين البيانات وإدارتها في مواقع جغرافية مختلفة. تتضمن مساحة تخزين البيانات الإقليمية تخزين البيانات محليًا في منطقة أو موقع جغرافي محدّد، بينما تتضمّن عملية تخزين البيانات العامة تخزين البيانات على خوادم تقع في أجزاء مختلفة من العالم. يعتمد الاختيار بين مساحة تخزين البيانات على المستوى الإقليمي والعالمي على عدة عوامل، مثل حجم البيانات ومستوى الأمان المطلوب وإمكانية وصول المستخدمين أو التطبيقات المختلفة إلى البيانات. |
التوزيع | ويشمل توزيع مساحة تخزين البيانات توزيع البيانات على عدة مواقع فعلية أو افتراضية لضمان توفُّرها وأدائها وأمانها. تشمل هذه الطرق أنظمة التخزين الموزّعة وحلول السحابة الإلكترونية التي يتم اختيارها استنادًا إلى عوامل مثل حجم البيانات ومدى تعقيدها والاحتياجات التنظيمية والتكنولوجيا المتوفّرة. وقد توفر الاستراتيجية المخطَّطة جيدًا التكرار وقابلية التوسّع ومزايا أخرى. |
يتضمن تحقيق معدل نقل بيانات عالٍ تحسين مجموعة من جوانب النظام، من الأجهزة والبرامج إلى البنية التحتية للشبكات وخوارزميات معالجة البيانات. تعتمد الأساليب والتحسينات المحددة اللازمة لتطبيق الويب المستند إلى المحتوى على احتياجاتك الفردية المتعلقة بمهام معالجة البيانات والقيود المحتملة للنظام.
حجم البيانات
يتضمن توسيع نطاق تطبيق ويب من حيث كمية البيانات المخزنة إدارة وتوسيع سعة تخزين البيانات لاستيعاب أحجام البيانات المتزايدة. عند التوسع، تحتاج إلى التخطيط لبنية أساسية للتخزين يمكنها التعامل مع أي تحديات لزيادة نمو البيانات.
تتضمن اعتبارات تخزين البيانات عند توسيع نطاق تطبيق ويب ما يلي:
الاعتبارات | |
---|---|
أنواع البيانات المخزنة | قد يكون تخزين بعض أنواع البيانات، مثل الصور أو الفيديوهات أو البيانات الثنائية، أكثر صعوبة من حيث تخزينها أو أنّها تشغل مساحة أكبر من أنواع البيانات الأخرى. وقد تؤدي أيضًا أنواع البيانات المعقدة أو هياكلها إلى تعقيد طريقة عمل النظام. ننصحك بالتفكير في نوع البيانات التي يخزنها تطبيقك وما إذا كان الخيار الأمثل. يمكنك أيضًا تجربة أنظمة تخزين مصمَّمة خصيصًا لحالة الاستخدام أو البيانات، مثل تخزين الكائنات الثنائية الكبيرة أو أنظمة تخزين الوسائط أو قواعد بيانات السلاسل الزمنية. |
عدد المستخدمين | مراعاة النمو المستقبلي لتطبيقك. عند إعداد المزيد من المستخدمين، يجب تخزين المزيد من البيانات والوصول إليها ومعالجتها في نظامك. قد يساعد توسيع نطاق القراءة والكتابة استنادًا إلى الملف الشخصي لأداء التطبيق في تحسين تطبيقك مع زيادة الطلبات. |
اختيار تكنولوجيا تخزين البيانات | يمكنك تقييم احتياجاتك الواقعية لتخزين البيانات واختيار تكنولوجيا تخزين البيانات الأكثر ملاءمةً، مثل NoSQL وSQL. عند الاختيار، يجب مراعاة بنية البيانات وأنماط الوصول إلى البيانات ومتطلبات قابلية التوسّع. |
تقسيم البيانات | إنّ تنفيذ استراتيجيات تقسيم البيانات أو تقسيمها لتوزيع البيانات على عدة عُقد تخزين قد يسمح لك بتوزيع حِمل البيانات، وبالتالي توسيع نطاقه بفعالية أكبر. يمكنك التقسيم حسب المستخدم أو الموقع الجغرافي أو اتّباع معايير أخرى استنادًا إلى أنماط الوصول إلى البيانات في تطبيقك. |
التخزين المؤقت وضغط البيانات | استخدام استراتيجيات التخزين المؤقت لتخزين البيانات التي يتم الوصول إليها بشكل متكرّر في الذاكرة وتقليل الحمل على أنظمة التخزين قد تؤدي أساليب ضغط البيانات أيضًا إلى تقليل متطلبات مساحة التخزين وتحسين كفاءة نقل البيانات. |
إدارة مراحل نشاط البيانات | تنفيذ سياسات مراحل نشاط البيانات لإدارة الاحتفاظ بالبيانات وأرشفتها وحذفها |
فهرسة قاعدة البيانات | ننصحك بتحسين فهرسة قاعدة البيانات وأداء طلبات البحث وتصميم مخطط قواعد البيانات، إذا كان ذلك ممكنًا، لمعالجة مجموعات البيانات المتزايدة بكفاءة. |
تخزين البيانات عند توسيع نطاق تطبيق الويب هو عملية مستمرة ويجب أن يتوافق مع احتياجات تطبيق الويب. يجب الحرص على تقييم متطلبات مساحة التخزين بانتظام، ومراقبة الأداء، وضبط البنية الأساسية للتخزين، والاستراتيجيات حسب الحاجة، لضمان قدرتها على التعامل مع كميات البيانات المتزايدة بفعالية وكفاءة.
البيانات التي يتم الوصول إليها بشكل متكرر في ذاكرة التخزين المؤقت
يُعد التخزين المؤقت للبيانات عنصرًا مهمًا في استراتيجية توسيع نطاق النشاط التجاري، إذ يساعد على تحسين أوقات الاستجابة وتقليل الحمل على الأنظمة الخلفية وتحسين تجربة المستخدم بشكل عام. يشير التخزين المؤقت إلى تخزين البيانات التي يتم الوصول إليها بشكل متكرر في طبقة تخزين مؤقتة بحيث يمكن استردادها بسرعة دون إنشاء البيانات بشكل متكرر من المصدر.
ضع في اعتبارك نوع البيانات التي يصل إليها تطبيقك بشكل متكرر، ونمط ومعدل تكرار استرداد البيانات، وحجمها.
تتضمن أمثلة استراتيجيات التخزين المؤقت عند توسيع نطاق تطبيق ويب ما يلي:
الاستراتيجيات | |
---|---|
التخزين المؤقت للعناصر | يشير التخزين المؤقت للعناصر إلى التخزين المؤقت لعناصر فردية، مثل نتائج طلبات قاعدة البيانات أو استجابات واجهة برمجة التطبيقات أو أجزاء HTML. وتشمل الخيارات الشهيرة تطبيق Redis وMemcached وVarnish. |
التخزين المؤقت للصفحات | يتضمن التخزين المؤقت للصفحات التخزين المؤقت لصفحات الويب بأكملها. هذا الخيار مناسب للمحتوى الثابت ويمكن تنفيذه باستخدام الخوادم الوكيلة العكسية أو أدوات إنشاء المواقع الإلكترونية الثابتة أو شبكات توصيل المحتوى (CDN). |
التخزين المؤقت لقاعدة البيانات والاستعلامات | يشير التخزين المؤقت لقاعدة البيانات وطلبات البحث إلى التخزين المؤقت لنتائج طلبات بحث قاعدة البيانات التي يتم تنفيذها بشكل متكرر بهدف تقليل الحمل على خادم قاعدة البيانات. |
التخزين المؤقت للصفحة بالكامل | ويمكن استخدام التخزين المؤقت بملء الصفحة للمحتوى الديناميكي. يشير هذا المصطلح إلى التخزين المؤقت لصفحات HTML المعروضة بالكامل لتقليل الحمل على الخادم وقاعدة البيانات. |
التخزين المؤقت من جهة العميل | يشير التخزين المؤقت من جهة العميل إلى آليات مثل التخزين المؤقت للمتصفح لتخزين مواد العرض محليًا على أجهزة المستخدمين. يمكنك تحديد عناوين التحكّم في ذاكرة التخزين المؤقت للتحكّم في وقت تخزين مواد العرض مؤقتًا في المتصفحات. |
يُعد التخزين المؤقت عنصرًا مهمًا في استراتيجية أوسع لتحسين الأداء، لضمان قدرة تطبيقك على التعامل مع عدد زيارات المستخدمين المتزايد ومتطلبات البيانات بفعالية وكفاءة.
قياس القراءة والكتابة
مراعاة متطلبات المعالجة وحجم البيانات إلى جانب تحسينات التخزين المؤقت المحتملة لتحديد كيف يمكن توسيع نطاق تخزين البيانات في تطبيقك. عند تحديد نظام تخزين البيانات، من المهم مراعاة تأثير عمليات القراءة والكتابة. وتتمثل إحدى طرق التفكير في ذلك في التفكير في نوع العمليات التي يدعمها تطبيقك - وتحسين تخزين البيانات لحالات الاستخدام وأنماط الاستخدام هذه. على سبيل المثال، قد تستفيد بعض العمليات من التحجيم غير المتماثل أو المتماثل.
التوسعة غير المتماثلة
في بعض الحالات، قد تواجه تطبيقات الويب القائمة على المحتوى عدم تماثل القراءة أو الكتابة. وهذا يعني أنه قد يكون هناك عدد أكبر بكثير من القراءات أو الكتابة مقارنة بنوع العمليات الأخرى. في هذه الحالات، من المهم قياس قاعدة البيانات وفقًا لذلك. ضع في اعتبارك تطبيقك وكيف يتم الوصول إلى البيانات وكتابتها.
تشمل العوامل التي يمكن أن تؤثر في عدم التماثل في القراءة أو الكتابة ما يلي:
- نوع التطبيق تُعد بعض التطبيقات مكثفة في القراءة من التطبيقات الأخرى.
- سلوك المستخدم. يمكن أن تؤثر الطريقة التي يتفاعل بها المستخدمون مع التطبيق أيضًا في عدم تماثل القراءة أو الكتابة.
التوسعة المتماثل
يعني التحجيم المتماثل أنه يمكن قياس كل من عمليات القراءة والكتابة خطيًا بدون أي تأخيرات مع نمو التطبيق. قد يكون من الصعب تحقيق الضبط المتماثل لعمليات القراءة والكتابة في تطبيق ويب قائم على المحتوى، خاصةً عند إدارة كميات كبيرة من البيانات وعدد زيارات المستخدمين المرتفع.
تشمل استراتيجيات تحقيق التحجيم المتماثل ما يلي:
الاستراتيجيات | |
---|---|
قواعد البيانات الموزعة | تم إنشاء قواعد البيانات مثل Google Cloud Bigtable لتوزيع البيانات على عدة عُقد وتوفير قابلية التوسّع لعمليات القراءة والكتابة. |
تقسيم البيانات | تضمن ميزة تقسيم البيانات توزيع البيانات بالتساوي وأنّ كل جزء أو جزء يمكنه التعامل مع عمليات القراءة والكتابة بشكل مستقل. |
طبقات التخزين المؤقت | تنفيذ طبقات التخزين المؤقت لأعباء العمل الجاهزة تخزين البيانات التي يتم الوصول إليها بشكل متكرر في ذاكرة التخزين المؤقت لتقليل الحمل على قاعدة البيانات لعمليات القراءة. |
المعالجة غير المتزامنة | يمكنك تفريغ عمليات الكتابة التي تستغرق وقتًا طويلاً أو غير عاجلة إلى العمليات التي تتم في الخلفية أو قوائم الانتظار باستخدام المعالجة غير المتزامنة. يستمر تطبيقك في معالجة عمليات القراءة بدون انتظار اكتمال عمليات الكتابة. |
يتطلب الضبط المتماثل نهجًا شاملاً لحزمة التطبيق بالكامل، من الواجهة الأمامية إلى الواجهة الخلفية ومن قاعدة البيانات إلى طبقات التخزين المؤقت. يساهم التحجيم المتماثل في تحقيق اتساق الأداء، والاستخدام المتوازن للموارد، وارتفاع مدى التوفّر، وقابلية التوسع على مستوى الأبعاد. تأكد من تعديل استراتيجية التوسُّع حسب الحاجة وكن مستعدًا لمواجهة المعوقات عند ظهورها.