التعاقد مع متخصص في SqlServer OLTP، ما هي الخبرة أو المتطلبات التي يجب أن أبحث عنها؟[مغلق]

StackOverflow https://stackoverflow.com/questions/415419

سؤال

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

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

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

هل لدى أي شخص أي نصائح أو تجارب في توظيف OLTP DBA لمشاركتها؟ما نوع الأسئلة التي يمكننا طرحها على DBA أثناء عملية المقابلة؟

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

هل كانت مفيدة؟

المحلول

وطيب، وهذا يقول لي شيئا:

<اقتباس فقرة>   

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

ولقد مطابقة او تجاوزت ما 90٪ من الأشخاص الذين يسمون أنفسهم دباس سوف تكون قادرة على القيام به.

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

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

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

نصائح أخرى

يجب أن تكون حذرًا هنا، فقد ينتهي بك الأمر إلى تعيين Guru DBA، وتطلب منه تحسين أداء قاعدة البيانات بشكل كبير ولا تزال تواجه مشكلات في تطبيقك متجذرة في بنيته.

بعض الأفكار:

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

  2. تأكد من أن هذا الشخص يفهم الأجهزة، عندما تستخدم مجموعات ملفات متعددة، ومصفوفات الغارة، وتقسيم البيانات، وأداء 64 مقابل 32 بت، وما إلى ذلك...

  3. ابحث عن شخص لديه أيضًا بعض الخلفية في هندسة البرمجيات.

  4. اطرح عليهم بعض الأسئلة الصعبة حول خادم SQL، على سبيل المثال.ما هو البيان OVER؟هل المعرفات الفريدة العمومية (GUIDs) هي مفاتيح أساسية جيدة، ولماذا تعتبر هوية int هي الأفضل؟

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

واسأل لماذا اختاروا هذا الأسلوب.

واحملوا المراجع ومعرفة البيئات التي قد تأتي من التي هي الأكثر احتمالا لمباراة بنفسك.

وA DBA جيدة وسوف يكون قادرا على ان اقول لكم في مقابلة على مستوى عال ما هي الخطوات التي ستتخذ لاحقا. يجب أن تولي اهتماما أكبر لعمليات التفكير هنا، بدلا من حل لهذه المشكلة. عندما اعطى DBA بعض الحلول، والعودة ومسابقة لهم ونطلب منهم لماذا يجب أن تحل هذه المشكلة في تلك الطرق.

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

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

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

وبعض أمثلة التعليمات البرمجية السيئة (وانت تعرف ما لديك الأمثل بالفعل) يمكن أن تعطيك فكرة جيدة لنهجها في الكيفية التي سوف تصل قيمتها. تريد شخص منهجي ولديه عمق المعرفة SQL.

وهناك بعض الكتب الجيدة على ضبط الأداء - أود أن أقترح الحصول عليها والحصول على فاميلار معهم قبل إجراء المقابلات

.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top