بدون الانضمام إلى Google App Engine، هل يجب أن تكون بياناتك موجودة في جدول واحد كبير؟

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

سؤال

نظرًا لأن Google App Engine لا يسمح بالانضمامات، فهل يعني هذا أنه يتعين علي أخذ جميع الجداول الموجودة في تطبيق الويب الخاص بي وإيجاد طريقة لدمجها في جدول واحد ضخم؟

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

المحلول

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

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

نصائح أخرى

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

ويمكنك أيضا محاكاة الانضمام، وذلك بالتكرار عبر نتائج الاستعلام، وتشغيل استعلام الثاني لكل نتيجة تم العثور عليها ل الاستعلام الأول. إذا كان لديك الاستعلام SQL

SELECT a.x FROM b INNER JOIN a ON a.y=b.y;

ويمكنك محاكاة هذا بشيء من هذا القبيل:

for b in db.GqlQuery("SELECT * FROM b"):
  for a in db.GqlQuery("SELECT * FROM a WHERE y=:1", b.y):
    print a.x

إذا كنت تبحث عن طريقة لتصميم جدول البيانات.أنصحك بإجراء القليل من البحث قبل البدء في العمل.هناك خصائص سحرية جدًا لـ Google App Engine مثل:

  • الدمج الذاتي
  • خاصية قائمة متعددة القيم

سيكون ذلك مفيدًا جدًا في التصميم الخاص بك.لقد شاركت تجربتي هنا.

للتعرف على القدرة على التوسع هناك حصري دورة مجانية في Udacity هنا فقط على هذا الموضوع.يتم تدريسها على يد مؤسس موقع reddit.com وهو يشرح بوضوح كل ما يحدث في موقع reddit، وهو أحد المواقع التي تضم أكبر عدد من الزوار.لقد أظهر التنفيذ التجريبي للدورة بأكملها بطريقة جاي (وكان ذلك بمثابة الفوز بالجائزة الكبرى بالنسبة لي!).أنها توفر أشرطة الفيديو الدورة بأكملها مجاني للتنزيل هنا .لقد كنت اكدح بشدة مع محرك التطبيقات قبل أن أحصل على هذه الموارد.لذلك اعتقدت أن مشاركة هذا قد تساعد الآخرين الذين يطأون أقدامهم في المياه.

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

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