2010-09-21 18 views
11

जैसा कार्य करेगा, मैं वर्तमान में इकाई परीक्षण करने के लिए डीबी 2 का उपयोग कर रहा हूं, लेकिन यह कुछ समय धीमा है। मुझे एक अच्छा इन-मेमोरी डेटाबेस चाहिए जिसमें डीबी 2 की सभी सुविधाएं शामिल होंगी। क्या इस प्रकार का इन-मेमोरी डेटाबेस मौजूद है, या क्या वे केवल मानक एसक्यूएल सुविधा की अनुमति देते हैं?क्या कोई अच्छा इन-मेमोरी डेटाबेस है जो डीबी 2

धन्यवाद।

संपादित डीबी 2 डाटाबेस एक दूरस्थ सर्वर पर है, इसलिए मैं परीक्षण तेजी लाने के लिए एक स्थानीय में स्मृति डेटाबेस पर कि डेटाबेस का स्कीमा को दोहराने के लिए एक समाधान की आवश्यकता होगी।

+0

प्रत्येक डाटाबेस अलग है के बारे में अधिक जानकारी के लिए। कोई डेटाबेस नहीं - डीबी 2 के अलावा - प्रत्येक में सभी डीबी 2 विशेषताएं होंगी। आपके पास डीबी 2 का उपयोग किए बिना "डीबी 2 की सभी सुविधा" नहीं हो सकती है। आपको ** सटीक ** विशेषताओं की क्या आवश्यकता है? –

+0

ऐसे कई एप्लिकेशन हैं जो इसका उपयोग कर रहे हैं, और उन अनुप्रयोगों के भीतर सभी SQL क्वेरी दस्तावेज़ को असंभव के करीब होगा। – Drahakar

+0

यदि आपको नहीं पता कि आपको कौन सी विशेषताओं की आवश्यकता है, तो आप इसे प्रतिस्थापित नहीं कर सकते, क्या आप कर सकते हैं? यदि आप सभी सुविधाओं को नहीं जानते हैं तो डीबी 2 को छोड़कर कभी भी डेटाबेस का उपयोग नहीं किया जा सकता है। –

उत्तर

12

मुझे एक अच्छे इन-मेमोरी डेटाबेस की आवश्यकता होगी जिसमें डीबी 2 की सभी सुविधाएं शामिल होंगी।

डर्बी (पूर्व क्लाउडस्केप) डीबी 2 की भाषा संगत है। और इसमें स्मृति मोड में है।

शायद एच 2 पर भी देखें (डीबी 2 compatibility mode के साथ)। लेकिन अगर एच 2 तेज होगा, तो मैं आपके मामले में डर्बी पर विचार करूंगा।

+0

डर्बी संग्रहीत प्रक्रिया कथन का कभी भी समर्थन नहीं करता है, इसलिए यह डीबी 2 के साथ संगत नहीं है। – Kishore

1

क्यों नहीं tmpfs (यूनिक्स), या विंडोज के लिए किसी भी पारंपरिक ramdrive समाधान का उपयोग नहीं? या, आप एक तेज एसएसडी प्राप्त कर सकते हैं।

+0

डेटाबेस एक दूरस्थ सर्वर पर है। इसलिए जब तक कि मैं अपने वर्कस्टेशन पर एक डीबी 2 सर्वर स्थापित नहीं करता, यह एक विकल्प नहीं हो सकता है। – Drahakar

0

यह नहीं पता कि डीबी 2 की विशेषताएं क्या हैं, लेकिन एसक्लाइट in-memory database बना सकता है। आप इसे देखना चाहेंगे।

0

यदि आप अपना बफरपूल काफी बड़ा बनाते हैं, तो आपका डीबी 2 डेटाबेस भी स्मृति में होगा।

1

जैसा कि पास्कल द्वारा वर्णित है, डर्बी डीबी 2 के लिए लगभग समान रूप से समान है। थोड़ी देर पहले एक ही चीज़ के लिए कोशिश करने के बाद हमें डर्बी के अनुक्रमों का समर्थन नहीं करने में कोई समस्या थी, लेकिन कनेक्शन प्रोटोकॉल समान हैं। उदाहरण के लिए आप एक डर्बी डेटाबेस से कनेक्ट करने के लिए डीबी 2 जेडीबीसी ड्राइवर का उपयोग कर सकते हैं।

यदि आपका एप्लिकेशन एच 2 या एचएसक्यूएलडीबी का उपयोग करते हुए हाइबरनेट, या एनएचबीरनेट (यदि .NET) कहता है तो आपके डेटाबेस कनेक्शन को सारणीबद्ध करता है, यह मानते हुए कि आप संग्रहीत प्रक्रियाओं और इसी तरह पर निर्भर नहीं हैं।

एक अन्य टूल जो स्कीमा माइग्रेशन के साथ मदद करता है जो एकाधिक डीबी को लक्षित करता है http://liquibase.org है। एक टेस्ट बिल्ड के लिए आप इसे मेमोरी डीबी में बनाते हैं और तैनाती के लिए आप इसे अपने डीबी 2 डेटाबेस बनाते हैं या माइग्रेशन स्क्रिप्ट उत्पन्न करते हैं। यह सही स्कीमा के साथ डेटाबेस का निर्माण करेगा और सशर्त माइग्रेशन प्रदान करता है (उदाहरण के लिए अनुदान एचएसक्यूएल में उपलब्ध नहीं है, इसलिए आप केवल डीबी 2 के लिए परिवर्तन सेट चलाते हैं)।

4

मुझे लगता है कि सबसे आसान विकल्प --- डीबी 2 होगा।

फ्रीबी एक्सप्रेस संस्करण डाउनलोड करें और इसे अपने पीसी पर इंस्टॉल करें। आप डीबी 2 क्लाइंट का उपयोग करके नेटवर्क की बाधाओं और सीमाओं के लिए धीमी गति से निश्चित रूप से नीचे आ गए हैं, स्थानीय रूप से स्थापित करने से इन्हें खत्म कर दिया जाएगा।

अगली सबसे अच्छी बात जावाडीबी (जिसे डर्बी के रूप में जाना जाता था!) ​​होगा। जो समान है लेकिन डीबी 2 के समान नहीं है।

किसी भी अन्य डेटाबेस का उपयोग करने से आपको असमर्थित सुविधाओं, असंगत एसक्यूएल, एक ही फ़ंक्शन के लिए अलग-अलग नाम, एक ही फ़ंक्शन नाम आदि के साथ अलग-अलग फ़ंक्शंस में डंप कर दिया जाएगा।

0

दो संभावित इन-मेमोरी डेटाबेस हैं: - ओरेकल से टाइम्स। - आईबीएम से सॉलिडडीबी।यह एक डीबी 2 के लिए वापस लेन-देन भेज सकता है, लेकिन प्रश्नों एक बहुत उच्च निष्पादन

होगा soliddb http://www-01.ibm.com/software/data/soliddb/

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