ما هي التغييرات التي أحتاجها إلى أن تعمل طاولاتي على Appengine Bigtable؟

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

سؤال

دعنا نقول أن لدي قاعدة بيانات للحجز تتكون من المستخدمين:

user_id
fname
lname

و هم تذاكر

ticket_id
user_id
flight_no

ويرتبط الرحلات الجوية

flight_no
airline
departure_time
arrival_time

ما الذي أحتاج إلى تغييره لتحريك هذا Google Appengine؟

أنا أفهم APPENGINE. لا تسمح الانضمام.

هل هذا يعني أن طاولتي يجب أن يصبح شمجا كبير من الحقول جميعها معا؟

الحجوزات:

user_id
fname
lname
ticket_id
flight_no
airline
departure_time
arrival_time

بمعنى آخر، جميع استفساراتي تعمل الآن ضد نفس الجدول؟

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

المحلول

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

قم بإجراء قائمة من الاستفسارات ثم إلقاء نظرة على قيود على الاستعلامات. وبعد بعد أن وجدت تلك المشكلات، حاول إعادة كتابةها مع قيود BigTable في الاعتبار.

على سبيل المثال، إذا كنت بحاجة في كثير من الأحيان للعثور على عدد التذاكر للحصول على قائمة الرحلات الجوية، فلن تتمكن من القيام به:

حدد flight_no، عد (*) من الرحلات الجوية مشاركة التذاكر على التذاكر.Flight_no = رحلات.

لذلك ستحتاج إلى إضافة عداد من التذاكر إلى flights وزيادة / تنقص أنه عند إنشاء / حذف التذاكر.

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

نصائح أخرى

يمكنك استخدام قواعد البيانات العلائقية SQL الأصلية من تطبيقات Google Appengine، من خلال WebService.

واحد من هذا القبيل هو rdbhost، في http://www.rdbhost.com. .

ينطوي على تنازلاته، خاصة السرعة، في أن كل عرض صفحة يتطلب طلب صفحة HTTP الأخرى الخلفية إلى خادم DB، لكنه يسمح لك باستخدام معرفة تصميم SQL لديك بالفعل.

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