سؤال

أحتاج إلى الاستعلام عن متجر يضم 200 مليون كيان في Windows Azure.من الناحية المثالية ، أود استخدام خدمة الجدول ، بدلاً من SQL Azure ، لهذه المهمة.

حالة الاستخدام هي كالتالي: سيتم إرسال POST الذي يحتوي على كيان جديد من واجهة برمجة تطبيقات على الويب.يجب علينا الاستعلام عن 200 مليون كيان لتحديد ما إذا كنا سنقبل الكيان الجديد أم لا.

مع حد الكيان 1000: هل ينطبق هذا على هذا النوع من طلبات البحث ، أي يجب أن أستفسر عن 1000 طلب في المرة وأجري مقارنات / قواعد العمل ، أو يمكنني الاستعلام عن 200 مليون كيان في لقطة واحدة؟أعتقد أنني سأحصل على مهلة في الحالة الأخيرة.

الأفكار؟

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

المحلول

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

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

تخزين الجدول (في الواقع تخزين Azure بشكل عام - الجداول والنقاط الكبيرة وقوائم الانتظار) به اتفاقية مستوى خدمة معروفة. يمكنك تنفيذ ما يصل إلى 500 معاملة في الثانية على قسم معين. باستخدام المثال أعلاه ، فإن الاستعلام عن الصفوف لرقم هاتف معين سيعادل معاملة واحدة (ما لم يتم إرجاع 1000 صف - لمشاهدة جميع الصفوف ، ستحتاج إلى عمليات جلب إضافية) ؛ إضافة مفتاح صف لتضييق نطاق البحث سيؤدي في الواقع إلى معاملة واحدة). لذلك من شأن إدخال صف جديد. يمكنك أيضًا تجميع إدخالات صفوف متعددة ، داخل قسم واحد ، وحفظها في معاملة واحدة.

للحصول على نظرة عامة لطيفة عن تخزين Azure Table Storage ، مع بعض المعامل الجيدة ، راجع مجموعة تدريب النظام الأساسي .

لمزيد من المعلومات حول المعاملات داخل الجداول ، راجع هذا مشاركة مدونة msdn .

نصائح أخرى

الحد الأقصى 1000 هو عدد الصفوف التي تم إرجاعها من الاستعلام ، وليس عدد الصفوف التي تم الاستعلام عنها.

لن ينجح سحب 200 مليون صف في خادم الويب للتحقق منها.

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

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