मैं था बस लगता है कि अब यह पर्याप्त रैम अपने डेटाबेस सर्वर पर आपके पूरा डेटाबेस कैश क्यों memory database में विशेषज्ञ (जैसे TimesTen, यह भी Wikipedia page देखें) कर रहे हैं कि थे सब क्रोध कुछ साल पहले नहीं किया है आम है अधिक इस्तेमाल किया जा रहा है?मुझे मेमोरी डेटाबेस में उपयोग करने पर विचार करना चाहिए और इसके लिए क्या समस्या है?
ऐसा लगता है कि जैसे ही समय चल रहा है, डिस्क आधारित डेटाबेस का उपयोग कम नहीं किया जा रहा है, उदाहरण के लिए अधिकांश एप्लिकेशन पारंपरिक तर्कसंगत डेटाबेस पर बनाए जाते हैं। मैं विपरीत की उम्मीद करता क्योंकि रैम बहुत सारे सर्वरों के लिए स्वतंत्र होने के करीब आ रहा है।
मैं इस पूछ रहा हूँ, के रूप में मैं सिर्फ ढेर-अतिप्रवाह-संरचना पर पढ़ने और पेज का कहना है
यह महत्वपूर्ण है क्योंकि ढेर ओवरफ्लो के डेटाबेस रैम में लगभग पूरी तरह से है और अभी भी मिलती है सटीक बहुत अधिक लागत।
लेकिन मुझे नहीं लगता कि यह सामान्य समस्या के बजाय "पॉइंटर्स" और "संग्रह" का उपयोग किया जाने पर यह एक समस्या होगी। डिस्क एक्सेस गति पर गोल सीमा प्राप्त करने के लिए Btree बहुत चालाक हैं, उदाहरण के लिए वे डिस्क उपयोग को कम करने के लिए CPU उपयोग का व्यापार करते हैं। हालांकि अब हमारे पास रैम मैच है।
लेकिन हम अभी भी, डेटाबेस की जरूरत है अपने स्वयं के
- कर के रूप में लॉक करना
- डेडलॉक का पता लगाने
- प्रवेश करने
- लेन-देन पुन: प्राप्त करना
- आदि
बहुत कठिन है।
@ एसएलओटी, यह देखते हुए कि हम सभी इंडेक्स चुनने में लंबे समय तक खर्च करते हैं, जुड़ने से बचते हैं और डेटाबेस प्रदर्शन समस्याओं की जांच करते हैं। इसके लिए अवश्य ही एक बेहतर तरीका होना चाहिए। ' कुछ साल पहले हमें बताया गया था कि "मेमोरी डेटाबेस में" बेहतर तरीका था। तो इससे पहले कि मैं एक आदि का उपयोग करने में कूदूं, मैं जानना चाहता हूं कि अन्य लोग उनका उपयोग क्यों नहीं कर रहे हैं।
(मैं, TimesTen अपने आप का उपयोग करने की संभावना नहीं कर रहा हूँ के रूप में यह उच्च कीमत है ($41,500.00/Processor) और मैं ओरेकल की बिक्री लोगों से बात कर रहा पसंद नहीं है - मैं नहीं बल्कि कोड लिखने मेरा समय खर्च करते हैं।)
भी देखें:
- Alternative to the TimesTen in memory database
- Has anyone published a detailed comparison between different in-memory RDBMSs?
अद्यतन:
मैं इस प्रश्न पूछा एक लंबी समय पहले, इन दिनों Microsoft SQL सर्वर है "In-Memory OLTP" एक स्मृति-अनुकूलित डेटाबेस SQL सर्वर इंजन में एकीकृत इंजन है। यह सस्ता नहीं है, लेकिन कुछ वर्कलोड के लिए बहुत तेजी से लगता है।
"नहीं अधिक प्रयोग किया जा रहा?" क्या से अधिक? क्या आपके पास कुछ मीट्रिक या संख्याएं या सर्वेक्षण हैं? मैं सवाल समझ में नहीं आता। क्या आपके पास एक विशिष्ट उदाहरण है जहां इसका उपयोग किया जाना चाहिए लेकिन नहीं है? या यह सिर्फ एक चर्चा विषय है? आपको क्या जानने की जरूरत है? आप क्या प्रोग्रामिंग समस्या क्या है? –
पर्याप्त स्मृति?यहां तक कि छोटे अनुप्रयोग भी आसानी से 100 जीबी डिस्क स्पेस का उपयोग करते हैं। मैं शायद ही कभी उन सर्वरों के साथ काम करता हूं जिनके पास एक ही ऐप के लिए बहुत अधिक स्मृति उपलब्ध है। –