سؤال

لدي بعض الأسئلة المتعلقة باتحاد Microsoft SQL Azure:

1) هل يمكنني إنشاء DB مؤلفا في قاعدة بيانات نشطة أو أحتاج إلى نشر الاتحادات في وقت مبكر؟

2) هل أحتاج إلى إجراء أي تغييرات على استعلامات SQL للامتثال لكيفية استفسار الاتحادات، أو يمكنني الاستمرار في استخدام استفساراتي العادية كما كنت أعمل ضد قاعدة بيانات SQL Server واحدة؟

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

4) عندما يكون لدي جداول مختلفة أريد تقسيم مفاتيح أساسية مختلفة، كيف ستعمل الشاردات بعد ذلك. على سبيل المثال:

من ما أفهمه:

[مدونات]

blog_id

المعلومات

[blog_posts]

معرف

blog_id

post_content

لذلك إذا قررت أن أقفز قعر على Blog_id من 0-1000، 1-2001 سيكون لدي طاولتين فيدريا. ولكن مقدار الجداول الفيدرالية أكثر ما إذا كنت أضيف المزيد من الجداول التي لها مفاتيح مختلفة أخرى غير blog_id، هل سيكون لدي المزيد من الجداول الفيدرالية؟

شكرا

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

المحلول

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

1) هل يمكنني إنشاء DB مؤلفا في قاعدة بيانات نشطة أو أحتاج إليها نشر الاتحادات في وقت مبكر؟

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

2) هل أحتاج إلى إجراء أي تغييرات على استعلامات SQL للامتثال لكيفية أنا أسهل الاتحادات، أو يمكنني الاستمرار في استخدام استفساراتي العادية كما أنا كان يعمل ضد قاعدة بيانات SQL Server واحدة؟

على الأرجح نعم. اتحادات قاعدة بيانات Windows Azure SQL هي آلية على نطاق واسع من أجل الطبقة DB. هذا يعني أن هذا مثل أي تطبيق ويب يحتاج إلى تصميم "خاص" للعمل في بيئة تشبه المزارع (أي بيئة المقياس مثل Windows Azure)، ستحتاج قاعدة البيانات أيضا إلى تصميم "خاص" للعمل في نطاق واسع بيئة. لا توجد عصا سحرية مع اتحادات SQL Azure التي ستجعل عملك يعمل. عليك أن تصممها للعمل.

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

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

4) عندما يكون لدي جداول مختلفة أريد تقسيمها مختلفة المفاتيح الأساسية، كيف ستعمل الشاردات بعد ذلك.

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

فيديو جيد يستحق المشاهدة إذا كنت مستيقظا ل SQL Fedsations: http: / /channel9.msdn.com/events/teched/northamerica حتى الاقمار/dbi408

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