मुझे इस तरह के एक ही नस में कुछ प्रश्न मिले, लेकिन उनमें संग्रहीत डेटा की प्रकृति, यह कैसे पूछताछ की गई आदि की प्रकृति पर अधिक जानकारी शामिल नहीं थी ... इसलिए मैंने सोचा कि पोस्ट करना उचित होगा।बेस्ट (नोएसक्यूएल?) डीबी छोटे दस्तावेज़/रिकॉर्ड्स के लिए, अपरिवर्तनीय डेटा, बहुत सारे लिखने, त्वरित पढ़ता है?
मेरे डेटा है बहुत ही सरल, तीन क्षेत्रों: - एक "datetimestamp" मूल्य (दिनांक/समय) - दो तार, "ए" और "बी", दोनों < 20 वर्ण
मेरा आवेदन बहुत है लिखना-भारी (प्रति सेकेंड सैकड़ों)। सभी लिखने नए रिकॉर्ड हैं; एक बार डाला गया, डेटा कभी संशोधित नहीं किया गया है।
नियमित पढ़ने हर कुछ सेकंड में होता है, और कुछ निकट-वास्तविक डैशबोर्ड को पॉप्युलेट करने के लिए उपयोग किया जाता है। मैं दिनांक/समय मान और स्ट्रिंग मानों में से एक के खिलाफ पूछताछ करता हूं। जैसे सभी रिकॉर्ड प्राप्त करें जहां डेटाेटिमस्टैम्प एक निश्चित सीमा के भीतर है और फ़ील्ड "बी" एक विशिष्ट खोज मान के बराबर है। ये प्रश्न आम तौर पर प्रत्येक के कुछ हजार रिकॉर्ड लौटाते हैं।
आखिरकार, मेरे डेटाबेस को सीमा के बिना बढ़ने की आवश्यकता नहीं है; मैं रिकॉर्ड्स रिकॉर्डिंग को देख रहा हूं जो 10+ दिन पुराने हैं या तो मैन्युअल रूप से उन्हें हटाकर या कैश-एक्सपेरी तकनीक का उपयोग करके यदि डीबी समर्थित है।
मैंने शुरुआत में इसे लॉन्गिंग (लिखने वाले ब्लॉक लिखने) के तरीके से अवगत किए बिना, मोंगोडीबी में इसे लागू किया। जैसा कि मैं स्केल करता हूं, मेरे प्रश्न लंबे और लंबे समय तक ले रहे हैं (30+ सेकंड अब भी उचित अनुक्रमण के साथ)। अब जो मैंने सीखा है, मुझे विश्वास है कि बड़ी संख्या में लिखने से मेरे पढ़ने को भूख लगी है।
मैंने विभिन्न नोएसक्यूएल विकल्पों की तुलना में kkovacs.eu पोस्ट पढ़ा है, और जब मैंने बहुत कुछ सीखा तो मुझे नहीं पता कि मेरे उपयोग के मामले में स्पष्ट विजेता है या नहीं। मैं विकल्प से परिचित किसी से सिफारिश की सराहना करता हूं।
अग्रिम धन्यवाद!
आप क्या रिकॉर्ड कर रहे हैं कि आपको रीयल-टाइम डैशबोर्ड के लिए एक डीबी पॉप्युलेट करने के लिए प्रति सेकंड सैकड़ों लिखने की आवश्यकता है? – eaolson
क्या आपने SQLite जांच की थी? –
@ एओल्सन मैं घटनाओं को रिकॉर्ड कर रहा हूं जैसे वे होते हैं, और मेरे पास आने वाले इनपुट पर मेरा कोई नियंत्रण नहीं है। दो तार एक "क्या" और "जहां" की पहचान करते हैं। प्रश्न ज्यादातर चीजें हैं जैसे "पिछले 5 मिनट में स्थान [x] पर सभी घटनाओं का चयन करें"। परिणाम कैश किए गए हैं और पहले के प्रश्नों (पिछले समय-स्लाइस से) के परिणामों के साथ संयुक्त होते हैं, और डैशबोर्ड पर प्लॉट किए जाते हैं। –