डेटाबेस में उच्च मात्रा में डेटा स्टोर करने का सबसे अच्छा तरीका क्या है? मुझे टाइमस्टैम्प के साथ विभिन्न पर्यावरणीय सेंसर के मूल्यों को स्टोर करने की आवश्यकता है। मैंने SQLCE के साथ कुछ मानक बनाए हैं, यह कुछ 100,000 पंक्तियों के लिए ठीक काम करता है, लेकिन यदि यह लाखों लोगों तक जाता है, तो चयन बहुत ही धीमे हो जाएंगे। मेरे वास्तविक टेबल:डेटाबेस में
Datapoint:[DatastreamID:int, Timestamp:datetime, Value:float]
Datastream: [ID:int{unique index}, Uint:nvarchar, Tag:nvarchar]
अगर मैं एक विशिष्ट Datastream और एक तिथि सीमा के datapoints के लिए क्वेरी, यह उम्र लेता है। विशेष रूप से अगर मैं इसे एम्बेडेड विंडोजसीई डिवाइस पर चलाता हूं। और यह मुख्य समस्या है। मेरे विकास मशीन पर एक प्रश्न के 1sek ले लिया ~, लेकिन सीई डिवाइस पर ले लिया है ~ 5min
हर 5min मैं 20 सेंसर, 12 प्रति घंटे * 24 घंटों के लिए लॉग इन * 365days = 105,120 * 20 सेंसर = 2,102,400 (पंक्तियाँ) प्रति वर्ष
लेकिन यह और भी सेंसर हो सकता है!
मैंने किसी प्रकार की webservice बैकएंड के बारे में सोचा, लेकिन डिवाइस के पास हमेशा इंटरनेट/सर्वर से कनेक्शन नहीं हो सकता है।
डेटा डिवाइस पर प्रदर्शित होने में सक्षम होना चाहिए।
मैं चीजों को कैसे बढ़ा सकता हूं? एक अन्य टेबल लेआउट का चयन करें, एक अन्य डेटाबेस (एसक्लाइट) का उपयोग करें? फिलहाल मैं .netcf20 और SQLCE3.5
कुछ सलाह का उपयोग करता हूं?
आप क्षेत्रों आप क्वेरी के लिए कुंजी के रूप में उपयोग कर रहे हैं पर सूचीबद्ध है? यदि नहीं, तो यह पहला कदम होगा। –