2008-11-14 6 views
5

मैं विकिपीडिया पर App Engine बारे में पढ़ने और कुछ GQL प्रतिबंध भर में आया:Google App Engine GQL क्वेरीज़ को प्रतिबंधित क्यों करता है?

  • में शामिल होने

  • समर्थित नहीं है एक समय

  • पर डाल सकते हैं पर अधिकतम एक मेज से चुन सकते हैं WHERE क्लॉज

के फायदे क्या हैं से प्रतिबंध?

क्या ये प्रतिबंध अन्य स्थानों पर आम हैं जहां स्केलेबिलिटी प्राथमिकता है?

उत्तर

19

डेटासंग्रह कि GQL वार्ता के लिए है:

  • नहीं MySQL या PostgreSQL
  • की तरह एक संबंधपरक डेटाबेस एक कॉलम-ओरिएंटेड डीबीएमएस बिगटेबल बुलाया

एक कारण यह है की तरह एक डेटाबेस है यह एक बहुत ही उच्च प्रदर्शन डेटाबेस है जिसे आप सैकड़ों सर्वरों पर स्केल कर सकते हैं।

जीक्यूएल एसक्यूएल नहीं है यह एसक्यूएल की तरह है।

यहाँ कुछ संदर्भ हैं:

4

मेरा मानना ​​है कि इस सवाल का जवाब डेटासंग्रह की अंतर्निहित प्रौद्योगिकी के साथ क्या करना वास्तव में किसी भी तरह के आराम के बजाय क्या उपलब्ध है पर तर्क। Google हुड के तहत एक रिलेशनल डेटाबेस का उपयोग नहीं कर रहा है, लेकिन इसके बजाय BigTable, उन्होंने अभी एक अच्छा एपीआई जोड़ा है जो एसक्यूएल का उपयोग उन लोगों के लिए सीखने की अवस्था को सीमित करने के लिए करता है जो संबंधपरक डेटाबेस का उपयोग करने के लिए उपयोग किए जाते हैं। उन लोगों के लिए जो ओआरएम की इच्छा का उपयोग करने के लिए अधिक उपयोग किए जाते हैं, उनके लिए पानी में एक बतख की तरह ले जाते हैं।

2

मौजूदा उत्तर उच्च स्तरीय प्रश्न के साथ एक अच्छा काम करते हैं।

एक अतिरिक्त नोट: आपके द्वारा उल्लेख किया गया तीसरा प्रतिबंध वास्तव में सत्य नहीं है। जीक्यूएल प्रश्नों में WHERE खंड में जितने चाहें उतने कॉलम शामिल हो सकते हैं। कुछ चेतावनी हैं, लेकिन कॉलम की संख्या स्पष्ट रूप से सीमित नहीं है। अधिक:

http://code.google.com/appengine/docs/python/datastore/queries.html