2011-05-26 19 views
6

हम ऐसी परिस्थिति पर हैं जहां हमें थूज़ 2 डेटाबेस के बीच चयन करना होगा। हम वर्तमान में फायरबर्ड पर हैं, लेकिन कभी-कभी यह बहुत अधिक लेन-देन इतिहास या कुछ और बैकअप-पुनर्स्थापित करने के कारण चीजों को बेहतर बनाने के लिए लागू किया जाएगा।फायरबर्ड 2.5 वीएस इंटरबेस 9/एक्सई - जो तेजी से प्रदर्शन कर रहा है?

मेरे विशिष्ट मामले में: डेटाबेस में अधिकतर संख्यात्मक फ़ील्ड से भरे टेबल होते हैं। ज्यादातर पूछताछ में आंतरिक शामिल होता है। लगभग उसी दर को मैं सम्मिलित कर रहा हूं, और चयन कर रहा हूं। (लेकिन भविष्य में मैं अधिक गंभीर चयन के बारे में देख रहा हूं) 3 मुख्य सारणीएं हैं जिनमें कुछ रिकॉर्ड हैं (प्रत्येक सेकेंड बढ़ते रहें)।

लेकिन मैं देखना चाहता हूं कि ऊपर के थूज़ जैसे सामान्य लोड में सबसे अच्छा समग्र रूप से कौन सा है, और ओवरलोड - जैसे चयनित क्षेत्रों पर चयन और काम करना, इवेंट ट्रिगरिंग और स्टोरेज प्रक्रिया निष्पादन में कुल मिलाकर प्रीफॉर्मेंस जो मैं सोच रहा हूं वह पर्याप्त है उनके बीच चयन करने के लिए ज्ञात ज्ञान (अधिक राय का स्वागत है) और शायद अन्य लोगों को उतरने में मदद मिलेगी।

मैं

  • यह Interbase के साथ एक ही है पूछ रहा हूँ?
  • क्या इंटरबेज की ओर कूदने के प्रयास के लायक है?
  • जो कुल मिलाकर बेहतर प्रदर्शन कर रहे हैं?
  • इंटरबेस में इस इतिहास की समस्या है जैसे फ़ायरबर्ड, जो डेटाबेस को बढ़ता रहता है, और इसे धीमा कर देता है?

पीएस .: मैं इस प्रश्न को अब समाधान के लिए बिना जांच के छोड़ दूंगा। हो सकता है कि वास्तव में सामान्य, प्रत्येक दिन पूछताछ आधार पर डेटाबेस को समेकित करने के लिए कोई होगा, और प्रश्न और परिणाम मेरे लिए अधिक उपयोगी होंगे और अन्य लोग ऐसी स्थिति पर गिरेंगे।

+0

इंटरबेज 9 जानने के लिए, मैं आपको अनुसूचित कचरा संग्रह में खोदने और एफबी में सूचकांक आंकड़ों को अपडेट करने का सुझाव देता हूं। आप बैकअप/पुनर्स्थापना-प्रक्रिया से बचने में सक्षम होना चाहिए। – Teson

+0

ओह ... यह दिलचस्प लगता है, लेकिन मैंने इसे कभी नहीं किया है। कृपया मुझे समस्या पर इंगित करें, इसलिए मैं इसे एक और प्रश्न के रूप में पोस्ट कर सकता हूं, जो शायद मुझे एक समाधान के साथ ले जाएगा, साथ ही साथ अन्य लोगों को भी इस मुद्दे का सामना करना पड़ेगा। –

उत्तर

8

आपके द्वारा वर्णित समस्या आमतौर पर खराब लेनदेन प्रबंधन, या लंबे समय तक चलने वाले लेनदेन के कारण होती है। आम तौर पर आपको बैकअप की आवश्यकता नहीं होती है और इसे ठीक करने के लिए पुनर्स्थापित करें। एक बैकअप पर्याप्त होना चाहिए (जैसे बैकअप के दौरान फायरबर्ड अतिरिक्त साफ और कचरा संग्रह करता है)।

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

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

जैसा कि कहा गया है, बैकअप करते समय स्वीप किया जाता है। तो बस अधिकांश समस्याओं को दूर करने के लिए बैकअप करना पर्याप्त होना चाहिए।

अधिक विस्तृत जानकारी के लिए, gfix housekeeping

+0

मैं gfix का उपयोग कर रहा हूं लेकिन यह बहुत धीमा और समय लेने वाला है, खासकर जब कचरा लगभग 100 जीबी कमजोर होता है ... :(क्या यह इंटरबेस के साथ एक ही स्थिति है? –

+0

इंटरबेस के समान (या कम से कम समान) वास्तुकला है, मुझे नहीं लगता कि इसमें बहुत अंतर आएगा। यह कहना मुश्किल है, लेकिन कभी-कभी इस तरह की चीजें एप्लिकेशन में खराब लेनदेन प्रबंधन के कारण होती हैं, इसलिए आप लेनदेन के अपने सटीक उपयोग की समीक्षा करना चाहेंगे। –

+0

तो - कोई नहीं जानता है कि वास्तव में एक परीक्षण है, फायरबर्ड और इंटरबेस के बीच मतभेदों को प्रकट करता है? –

7

स्पष्ट और मुझे डर है कि कष्टप्रद उत्तर यह है कि आपको अपने स्वयं के वर्कलोड का उपयोग करके दोनों को बेंचमार्क करना होगा। संभावना है कि आपके एप्लिकेशन वर्कलोड प्रत्येक अन्य बेंचमार्क या एप्लिकेशन से अलग होंगे।

+0

वास्तव में आपका बिंदु corrent है। लेकिन यह लगभग डेटाबेस आकार 22 जीबी के साथ पंक्तियों के कुछ हिस्सों के ऊपर लिख/पढ़ता है। तो मैंने सोचा कि यह सामान्य 1 वीएस 1 लड़ाई होगी। –

+0

आपको उस विवरण में से कुछ विवरण जोड़ना चाहिए .. वहाँ एक समान ऐप के साथ कोई बाहर हो सकता है :), आप यह भी विचार करना चाहेंगे कि स्विच करने के लिए यह भी संभव है .. दो डेटाबेस के बीच 22 जीबी स्थानांतरित करना थोड़ा सा होगा । –

+0

ठीक है, मैं करूँगा :) –

3

देखो तुम Firebird डेवलपर्स के लिए परीक्षण डेटाबेस और परीक्षण का मामला भेजें ताकि वे गति

सुधार कर सकते हैं मुझे लगता है कि डेटाबेस विभाजन

की जरूरत है सोचने के लिए शुरू कर सकते हैं
+0

सबसे पहले मैं देखना चाहता हूं कि किसी ने परिणामों के साथ कुछ तुलना की है, यहां तक ​​कि मेरे काम के भार के करीब भी नहीं। तो मैं और कदम उठाएगा :)। लेकिन हां - निश्चित रूप से मैं विचार-विमर्श के बाद फायरबर्ड डेवलपर्स को फीडबैक भेजूंगा ... मुफ्त परियोजनाओं को संरक्षित करने के बाद मुख्य लक्ष्य है :) –

+2

जिस तरह से मैं इसे देखता हूं फायरबर्ड के साथ आपको इसे प्रोफाइल करने और इसे ट्यून करने का मौका मिलता है अपने वर्कलोड में: लिनक्स कर्नेल से ऑप्ट्रोफाइल के रूप में कम स्तर के बारे में सोचें या अंदर से ट्रेसिंग और डिबगिंग करना मुश्किल है, लेकिन मुझे लगता है कि अगर हमारे पास टेस्ट केस है तो प्रदर्शन में सुधार किया जा सकता है, इसके अलावा कई लेनदेन वाले मामलों के लिए भी तेजी से यादृच्छिक आईओ के लिए एसएसडी के उपयोग की अनुशंसा करें जैसे कि आपके मामले में कुछ निगरानी उपकरण भी आपकी मदद कर सकते हैं http://www.sinatica.com/index.php/en/benefits/increased-preformance – Mariuz

+0

owww, यह वास्तव में दिलचस्प टूल है Mariuz। आपका बहुत बहुत धन्यवाद ! :) –

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

  • कोई संबंधित समस्या नहीं^_^