تخيل تروح فرع لبنك او أي فرع لشركة تليفون عشان تستفسر عن حاجة معينة وتلاقي مفيش غير شباك واحد , وفيه مئات الناس مستنيين أدوارها تيجي , وعلى ما يجي دورك وتستفسر ومسئول الشباك يساعدك بتكون استهلكت وقت كبير جدًا.
طب هيكون ايه رد فعلك لو مع كل حد هيجي يسال عن حاجة معينة, الفرع هيروح يدور على حد يوظفه يقعد في الشباك يساعدك وبعدين يمشي الموظف ده ؟
💡
هو ده كان هيبقى شكل حياة تطبيقاتنا من غير Database Connection Pool بكل بساطة
Database Connection Lifecycle
خلونا قبل ما نتكلم عن الـ Database Connection Pool , نعرف ايه اللي بيحصل اما بنعوز نتصل بقاعدة البيانات من خلال التطبيق بتاعنا :
- التطبيقات بتستعمل Database Drivers عشان تفتح Connection مع قاعدة البيانات
- بيتم فتح Network Socket عشان نوصل التطبيق بقاعدة البيانات
- المستخدم بيتعمله Authentication وفي حالتنا هنا بيكون التطبيق
- بعد ما العملية تتم بنجاح , ممكن الـ Connection يتقفل
- ومن ثم الـ Network Socket بيتقفل هوا كمان
فزي ما احنا شايفين فتح وقفل الـ Connection مع قواعد البيانات عملية مش سهلة وبتضمن أكتر من خطوات بالإضافة لكونها مستهلكة للـ Resources.
وطبعًا هنلاحظ ان ده ممكن يكون عادي في لو التطبيقات كانت صغيرة , ولكن مع نمو وتطور التطبيقات بتاعتنا هيواجهنا مشكلة كبيرة بخصوص الموضوع ده .
ليه نستعمل Connection Pool ؟
هذا المقال مخصص للأعضاء المنتسبين لخطط الاشتراك المدفوعة فقط
هل لديك حساب؟ تسجيل الدخول