डेटाबेस चीजों के संबंध में अच्छी चीजों में से एक गिनती, योग, औसत इत्यादि जैसे कुल कार्यों में से एक है लेकिन ऐसा लगता है कि यदि आप जीएई का उपयोग कर रहे हैं, तो रिकॉर्ड डालने या अपडेट करने पर आपको गिनती, योग, औसत, आदि पूरी मेज के मूल्य। लेकिन क्या होगा यदि आपके पास कई सशर्त समूह हैं? यह देखते हुए एक व्यक्ति:क्या Google App Engine पर कुल फ़ंक्शन करने का कोई तरीका है?
class Person {
@Id
Integer age;
String city;
}
अगर मैं चाहता हूँ
- व्यक्तियों और
- औसत उम्र
यह है कि हर मैं बनाने के लिए, अद्यतन को सही या हटाना है की कुल संख्या एक व्यक्ति को मुझे दोनों योगों की गणना भी करनी चाहिए और उन्हें उसी तालिका में अलग-अलग कॉलम के रूप में स्टोर करना चाहिए। यदि मैं प्रति शहर कुल और औसत मूल्य भी चाहता हूं, तो क्या मुझे प्रत्येक शहर के लिए इन मानों को एक ही तालिका में अलग-अलग कॉलम के रूप में स्टोर करना चाहिए?
यह सॉफ्टवेयर देव समय और सीपीयू शुल्कों में अविश्वसनीय रूप से महंगा लगता है। मुझे लगता है कि Google अच्छे कारण के लिए डेटास्टोर से इस तरह से संपर्क करता है, लेकिन मेरी प्रारंभिक प्रतिक्रिया डरावनी है। एलेक्स, एक अच्छी सर्वोत्तम प्रथाओं या दस्तावेज क्या है जो आप मेरे जैसे एसक्यूएल-भारी लोगों को देखेंगे? –
उत्कृष्ट सवाल, और मुझे यह देखकर खुशी हो रही है कि मैंने एकत्रीकरण के लिए एक तरह का निर्माण करके एक अच्छा दृष्टिकोण चुना है। हालांकि, जैसा कि @ जेडी कहते हैं, इस एकत्रीकरण को लागू करना महंगा और त्रुटि-प्रवण हो सकता है। मुझे इसके लिए कोई संपत्ति नहीं मिली है (जैसे 'totalAge = db.AggregateProperty (= Person.age)'। आपको क्या लगता है कि सबसे अच्छा तरीका है? – rds
मुझे अभी http://code.google.com/ मिला appengine/लेख/sharding_counters.html – rds