السلام عليكم و رحمة الله و بركاته .....
إليكم ترجمة المقال الأول من مقالات الأستاذ محمد مشرف Inside Sql Server Engine ،و أتمنى أن ترضيكم الترجمة.
هيكل SQL Server
SQL Server Archicture
الشكل أدناه يوضح مكونات sql server ، و سوف نتعرف على كل مكون على حدة، و و بعد ذلك نتعرف على كيفية تنفيذ الاستعلام.
بروتوكلات Sql Server:
1-مشاركة الذاكرة (shared memory): من اجل الاتصال بنسخة sql server على نفس الجهاز
2-الملقمات(Named Pipes): للإتصال بنسخة موجودة على شبكة LAN
3-TCP/IP: و هو البروتوكول الأوسع إنتشارا" عبر الإنترنت. هذا البروتوكول يستخدم للإتصال عبر شبكات تضم أنظمة تشغيل و عتاد مخنلفة عن بعضها البعض.
4-واجهة التوصيل الإفتراضية(VIA): و هو بروتوكول مخصص فقط للإتصال عبر العتاد الإفتراضي فقط.
معالج الإستعلام:Query Processor
هذه هي مكونات بناء معالج الإستعلام المسئول عن تحويل الإستعلام من صورته النصية، و من ثم تنفيذه و بعد ذلك إستخلاص النتائج:
1-محول الأوامر (Command Parser): يقوم بتوليد شجرة الإستعلام من خلال كود T-SQL لكي تُستخدم بواسطة محسن الإستعلام.
2-محسن الإستعلام (Query Optimizer):يقوم بتحويل شجرة الإستعلام إلى ما يعرف بخطة الإستعلام، و هي الخطة التي تصف كيفية تنفيذ الإستعلام، آخذا" في الإعتبار متغيرات عدة، مثل:مدخلات و مخرجات النظام، و حجم إستعمال CPU ... إلخ.
3-مدير SQL (SQL Manager):مسئول عن أي شئ مرتبط بالإجراءات المخزنة و خطة إستعلامها.
4-مدير قاعدة البيانات (DataBase Manager):يقوم بالوصول إلى metadata اللازمة لبناء و تحسين الإستعلام مثل: أنواع البيانات، الفهارس ...إلخ.
4-منفذ الإستعلام (Query Executer):يقوم المنفذ باخذ خطة الإستعلام (أو خطة التنفيذ) و الاتصال بمحرك التخزين (Storage Engine) إذا دعت الحاجة لذلك، من أجل تنفيذ خطة الإستعلام.
محرك التخزين Storage Engine
يعتبر محرك التخزين المسئول عن أي شئ له علاقة بالتخزين، حيث أنه يقوم بمعالجة الفهارس و البيانات , و العمليات عليها.
يعمل محرك التخزين و معالج الإستعلام لتوليد البيانات، لذا فمحرك التخزين هو الخطوة التالية بعد أن يصبح الإستعلام جاهزا" للتنفيذ. يقوم محرك التخزين بالعمليات الآتية:
1-وظائف الوصول (Access Methods)
2-العمليات على الصف و الفهرس (Row & Index Operations)
3-العمليات على تخصيص الصفحة(Page Allocation Operations)
4-Versioning Operations
5-خدمات Transaction
6-عمليات منع تضارب البيانات (Locking Operations)
نهاية المقال الأول
أرجو أن يساعد أحد الأعضاء في عملية الترجمة حيث أن وقتي ضيق و بالكاد أستطعت ترجمة المقال الأول