2011-11-08 20 views
7

Google ऐप इंजन की नई मूल्य निर्धारण योजना के तहत, मुझे नीचे दिखाए गए एक आश्चर्यजनक मूल्य निर्धारण तालिका मिलती है।डेटास्टोर को कम करें ऑपरेशन

enter image description here

दोषी है, मैं, एक विशाल, "Datastore रीड संचालन" में वृद्धि हुई बस कुछ ही घंटों के भीतर प्राप्त हालांकि वहां मेरी DownloadServlet

DownloadServlet सिर्फ पढ़ा जाएगा करने के लिए केवल 50 से भी कम समय कॉल कर रहे हैं डेटाबेस से ब्लॉब (आमतौर पर 1 एमबी से कम), और इसे उपयोगकर्ता को वापस कर दें। क्या मेरे कोड को अनुकूलित करने के लिए मैं कुछ भी कर सकता हूं, ताकि मैं मुफ्त कोटा सीमा को इतनी तेज़ी से नहीं मारूंगा।

+0

आपको डेटास्टोर में डेटा को ब्लॉब के रूप में संग्रहीत करने के बजाय ब्लॉबस्टोर का उपयोग करने के लिए स्विच करना चाहिए। –

+0

आपके कोड को देखे बिना मदद करना कम या ज्यादा असंभव है। क्यों न सिर्फ बजट में वृद्धि हुई है, हालांकि? –

+0

@ निक जॉनसन कोड प्रकाशित किया गया है। कृपया "डाउनलोड सर्वलेट" द्वारा निर्देशित लिंक देखें। –

उत्तर

9

आप बहुत सारे पढ़ रहे हैं क्योंकि आपने डेटास्टोर में अपनी फ़ाइलों को 1 एमबी भाग में तोड़ दिया है। नतीजतन, आपको प्रति शेयर एक पठन करना होगा, और क्योंकि आप मुख्य नाम या आईडी का उपयोग नहीं कर रहे हैं, आप प्रत्येक के लिए एक प्रश्न भी कर रहे हैं, और अपने कोटा को कम कर रहे हैं।

इसके बजाय ब्लॉबस्टोर में अपना डेटा स्टोर करें।

3

यदि डेटास्टोर से आपने जो डेटा पढ़ा है वह अपेक्षाकृत स्थिर है (उदाहरण के लिए ब्लॉग एंट्री के लिए टेक्स्ट), तो आप memcache में डेटा कैशिंग पर विचार कर सकते हैं।

इस बात की कोई गारंटी नहीं है कि डेटा मेमकैच में कितना समय तक रह सकता है, इसलिए यदि डेटाकैम में डेटा अमान्य हो जाता है तो डेटाटायर से डेटा को नियमित रूप से फिर से प्राप्त करने की आवश्यकता होती है, लेकिन डेटास्टोर को सहेजने वाले ऑप्स को बचत काफी काफी होगा।

+0

इससे ज्यादा मदद नहीं मिलेगी। चूंकि डेटा विशेष रूप से व्यक्तिगत उपयोगकर्ता के लिए होता है। मैं <50 उपयोगकर्ताओं के साथ कहूंगा, आप देखेंगे कि आपकी बिलिंग चलने लगती है। –

संबंधित मुद्दे