مجموعة الاتصالات

في هندسة البرمجيات ، تُعدّ مجموعة الاتصالات بمثابة ذاكرة تخزين مؤقتة لاتصالات قواعد البيانات القابلة لإعادة الاستخدام، والتي يديرها العميل أو البرمجيات الوسيطة . وهي تُقلل من عبء فتح وإغلاق الاتصالات، مما يُحسّن الأداء وقابلية التوسع في تطبيقات قواعد البيانات. [ 1 ] [ 2 ]

تستخدم قواعد بيانات SQL عادةً بروتوكولات ثنائية ذات حالة، تحتفظ بمعلومات خاصة بالجلسة، مثل حالات المعاملات والبيانات المُجهزة، مما يستلزم تجميع اتصالات مُحسّن لتقليل عبء إنشاء الاتصالات بشكل متكرر. في المقابل، تستخدم العديد من قواعد بيانات NoSQL الشائعة، مثل Azure Cosmos DB وAmazon DynamoDB، بروتوكولات HTTP عديمة الحالة، تتعامل مع كل طلب بشكل مستقل. غالبًا ما تُقلل هذه البنية من الحاجة إلى تجميع الاتصالات التقليدي، مع أن إعادة استخدام الاتصالات القائمة لا تزال تُحسّن الأداء في سيناريوهات الإنتاجية العالية، وذلك بتجنب عبء إنشاء الاتصالات. [ 3 ] [ 4 ] [ 5 ]

كفاءة تجميع الاتصالات

يمكن أن تؤثر العوامل التالية على كفاءة تجميع الاتصالات: [ 6 ] [ 7 ]

حدود الاتصال والإفراط في التزويد

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

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

أساليب المصادقة

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

زمن استجابة الشبكة ونقاط النهاية

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

متطلبات التشفير

تتطلب قواعد البيانات التي تُفعّل تشفير TLS ، بما في ذلك تلك المنشورة في بيئات الحوسبة السحابية والمحلية، توافقًا بين إعدادات التشفير وتكوينات الاتصال. على سبيل المثال، قد يؤدي غياب معلمات التشفير في سلاسل الاتصال إلى فشل الاتصال، مما يجعل مجموعة الاتصالات غير فعّالة.

تحليل نظام أسماء النطاقات (DNS)

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

في خدمات أمازون السحابية

في بنى الحوسبة السحابية الحديثة مثل AWS، تُعدّ إدارة تجميع الاتصالات بكفاءة أمرًا بالغ الأهمية لتحسين الأداء وقابلية التوسع واستخدام الموارد. قد يؤدي سوء إدارة الاتصالات إلى حدوث اختناقات وانخفاض كفاءة العمليات. يختلف سلوك تجميع الاتصالات باختلاف منصات الحوسبة: [ 8 ] [ 9 ] [ 10 ]

  1. خدمة الوظائف كخدمة (FaaS): تقوم خدمة AWS Lambda بإنشاء اتصالات جديدة بقواعد البيانات مع كل استدعاء، مما قد يتسبب في ازدحام شديد في الاتصالات في حال عدم إدارتها بشكل صحيح عند ارتفاع عدد الطلبات المتزامنة. وتساعد حلول مثل Amazon RDS Proxy في تجميع الاتصالات بكفاءة.
  2. بيئات الحاويات : تحافظ حاويات خدمة الحاويات المرنة من أمازون (ECS) على اتصالات مفتوحة بقواعد البيانات طوال دورة حياتها. وبدون آليات تجميع الاتصالات (مثل HikariCP وpgbouncer)، قد تؤدي الاتصالات الخاملة أو الزائدة إلى إجهاد موارد قاعدة البيانات.
  3. بيئات قائمة على الأجهزة الافتراضية: تتوسع مثيلات AWS EC2 لتلبية الطلب على الاتصالات مع عدد المثيلات. يُعدّ الضبط اليدوي أو الآلي لمعلمات مجموعة الاتصالات أمرًا ضروريًا لمنع تجاوز حدود قاعدة البيانات.

توفر قواعد البيانات السحابية الحديثة حلولاً متقدمة للتخفيف من تحديات تجميع الاتصالات: [ 8 ] [ 9 ] [ 10 ]

  • AWS Aurora Serverless v2: يقوم بتوسيع نطاق الاتصالات ديناميكيًا ويزيل الحاجة إلى تجميع الاتصالات يدويًا، وهو مثالي لأحمال العمل غير المتوقعة.
  • AWS DynamoDB : قاعدة بيانات NoSQL عديمة الحالة ، تلغي تجميع الاتصالات التقليدية، مما يجعلها قابلة للتوسع بطبيعتها وسهلة الاستخدام بدون خوادم.

تُمكّن هذه المنظومة من الأدوات والخدمات المهندسين المعماريين من تصميم تطبيقات عالية الكفاءة وقابلة للتوسع مع تقليل تكاليف إدارة الاتصال.

في مايكروسوفت أزور

تعتمد قاعدة بيانات Azure SQL، ومثيل Azure SQL المُدار، وخادم SQL على الأجهزة الافتراضية على تجميع الاتصالات من جانب العميل، والذي يتم تنفيذه بواسطة مكتبات مثل ADO.NET و JDBC . لا يُدير مُحرك قاعدة البيانات عملية التجميع، حيث تتم إدارتها بالكامل على مستوى العميل. قد تؤثر العوامل البيئية، بما في ذلك حدود طبقة الخدمة في قاعدة بيانات Azure SQL وقيود الموارد في المثيل المُدار، بشكل غير مباشر على أداء التجميع. [ 11 ] [ 12 ]

Azure CosmosDB

في Azure Cosmos DB ، تتم إدارة تجميع الاتصالات على مستوى حزمة تطوير البرامج (SDK) بدلاً من خدمة قاعدة البيانات نفسها. تُطبّق حزم تطوير البرامج، مثل تلك الخاصة بـ .NET وJava وPython، تجميع الاتصالات لإعادة استخدام اتصالات HTTP بنقطة نهاية قاعدة البيانات، مما يُحسّن استخدام الموارد والأداء. تنطبق هذه الوظيفة على جميع أنواع حسابات Cosmos DB، بما في ذلك نماذج الإنتاجية المُخصصة والنماذج غير الخادمة. يُسهّل تصميم Cosmos DB عديم الحالة والقائم على HTTP العمليات القابلة للتوسع والمتزامنة دون القيود المرتبطة عادةً بآليات تجميع الاتصالات التقليدية. [ 13 ]

انظر أيضاً

مراجع

  1. برمجة قواعد البيانات باستخدام JDBC وجافا . ISBN 9781565926165.
  2. دليل WebLogic الشامل . ISBN 9780596552251.
  3. سبع قواعد بيانات في سبعة أسابيع: دليل لقواعد البيانات الحديثة وحركة NoSQL . ISBN 978-1934356920.
  4. "الاختلافات في الوصول إلى قاعدة بيانات علائقية (SQL) و DynamoDB" .
  5. "الترقيم في Azure Cosmos DB لـ NoSQL" .
  6. كشف النقاب عن R2DBC: اتصال قواعد البيانات العلائقية التفاعلية لجافا وJVM . ISBN 978-1484269886.
  7. أداء تطبيقات .NET الاحترافية: تحسين تطبيقات C# الخاصة بك (صوت الخبير في .NET) . ISBN 978-1430244585.
  8. 1 2 هندسة الأنظمة المرنة على AWS . ISBN 9781098162399.
  9. 1 2 بنى الحوسبة بلا خوادم على AWS، الطبعة الثانية . ISBN 9781638354024.
  10. 1 2 تطوير تطبيقات قواعد البيانات الحديثة باستخدام PostgreSQL: استخدم PostgreSQL، وهو نظام عالي التوفر وعلاقاته مع الكائنات، لبناء تطبيقات قابلة للتوسع وموثوقة . ISBN 9781838641061.
  11. تطوير تطبيقات المؤسسات باستخدام مايكروسوفت SQL Azure . رقم ISBN 9781849680813.
  12. تصميم بيانات السحابة، وتنسيقها، وإدارتها باستخدام مايكروسوفت أزور: إتقان وتصميم حل يستفيد من منصة بيانات أزور . ISBN 9781484236154.
  13. Cosmos DB لمطوري MongoDB: الترحيل إلى Azure Cosmos DB واستخدام واجهة برمجة تطبيقات MongoDB . ISBN 9781484236826.