2009-12-02 7 views
6

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

मैं बेहतर डेटाबेस सिस्टम को अपडेट करके चीजों को आजमाने और सुधारना चाहता हूं। मुझे जो चाहिए वह एक स्थानीय डेटाबेस है, अधिमानतः एक जहां मैं पूरी फाइल को प्रति फ़ाइल "एक या अधिक फाइलों" प्रणाली की बजाय एक फ़ाइल में स्टोर कर सकता हूं। इसे विदेशी कुंजी रिश्ते और टेबल इंडेक्सिंग का समर्थन करना है, और इसे एक तालिका की एक क्वेरी से सैकड़ों हजारों तत्वों के साथ परिणाम वापस करने में सक्षम होना चाहिए।

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

और इसे डी 200 9 और बाद में काम करना है। क्या कोई कुछ सिफारिशें प्रदान कर सकता है?

उत्तर

7

एम्बेडेड फायरबर्ड (और सामान्य रूप से फायरबर्ड) के लिए यहां एक और वोट!

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

यह इंजन के लिए डीबी और कुछ छोटे डीएलएल के लिए एक फ़ाइल है, और इसे तैनात करना, बनाए रखना और बैकअप करना आसान है। आईबी और फायरबर्ड के लिए डेल्फी समुदाय में विकास और तकनीकी सहायता के दौरान सहायता करने के लिए कई टूल हैं, दूसरा-से-कोई नहीं।

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

प्रदर्शन के बारे में आपका अंतिम बिंदु - अच्छी तरह इंटरबेज हमेशा भी बहुत ही स्वादिष्ट था, और अब तक एम्बेडेड फायरबर्ड के साथ मेरा अनुभव यह है कि यह 'चीखता है' - वास्तव में, वास्तव में प्रभावित हुआ।

3

this question में कुछ अच्छी जानकारी उपलब्ध है - SQLite3 और फायरबर्ड एंबेडेड अच्छे विकल्प प्रतीत होते हैं।

1

Concurrency?

मैंने एक (गैर-डेल्फी) परियोजना में SQLite का उपयोग किया और इससे बहुत खुश था।

अन्यथा, मुझे लगता है कि डेल्फी के लिए पसंद की एम्बेडेड एकल फ़ाइल डीबीएमएस फ़ायरबर्ड प्रतीत होती है।

7

मैंने डी 0009 के तहत अच्छी सफलता के साथ इस SQLite Wrapper का उपयोग किया है। मैं इसे मिनटों के मामले में चला रहा था और चल रहा था। यह अनुक्रमण और बहुत कम ओवरहेड है। (यह एक मुफ़्त है और आपको SQLite Dll के अलावा किसी और चीज की आवश्यकता नहीं है)

Delphi Inspiration से एक वाणिज्यिक SQLite wrapper भी है और साइट कहती है कि उनके पास गैर-वाणिज्यिक और शैक्षिक उपयोग लाइसेंस के लिए भी निःशुल्क है । मैंने इसका इस्तेमाल नहीं किया है।

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

[संपादित करें]
के बाद से लोगों के बहुमत Firebird सुझाव दे रहे हैं, यहाँ कुछ कनेक्टिविटी घटक हैं नि: शुल्क/ओपनसोर्स
IBObjects - - (अपने आप को मैं इस खरीद लेने पर) वाणिज्यिक
FIBPlus -

Mercury Database Objects वाणिज्यिक
Firebirds ODBC Driver -: Firebird कि मैं अतीत में या कि कोशिश की है के लिए मैं के बारे में सुना हैफ्री/ओपनसॉर
ZeosLib - नि: शुल्क/ओपनसॉर्स

+0

दोनों SQLite और Firebird प्रयुक्त। SQLite बेहतर विकल्प – Gerard

+0

+1 ओह, दिलचस्प सूची, धन्यवाद मिला। मैंने इंटरबेस और फायरबर्ड के साथ आईबीएक्स का उपयोग किया है, हालांकि यह डी 7 डी डी 200 9 था। यदि आईबीएक्स 200 9/2010 के लिए उपलब्ध नहीं है, तो मैं शायद FIBPlus का उपयोग करूंगा (हमने लाइसेंस खरीदा है लेकिन हमने वास्तव में इसका उपयोग नहीं किया है) या मैं अपने सभी अन्य सामान (SQL सर्वर, के रूप में एक सभ्य DBXPress ड्राइवर की तलाश करता हूं) ज्यादातर) डीबीएक्सप्रेस का उपयोग करके किया जाता है और पूरी तरह से यह बुनियादी सामग्री के लिए आईबीएक्स के लिए/वह/अलग नहीं है। – robsoft

+1

एक और लाइब्रेरी - AnyDAC (http://www.anydac.net)। इसमें फायरबर्ड और SQLite मूल ड्राइवर हैं। – oodesigner

0

एक और विकल्प एडीओ और माइक्रोसॉफ्ट एक्सेस डेटाबेस का उपयोग करना होगा। एकमात्र नुकसान यह है कि उपयोगकर्ता को जेट इंजन और एमडीएसी स्थापित करना है ... जो अधिकांश मशीनें करते हैं। इसका लाभ यह है कि यह MSSQL को आसान बनाता है। बस SQL ​​सर्वर डेटाबेस को इंगित करने के लिए कनेक्शन स्ट्रिंग को बदलें, और कुछ मामूली क्वेरी परिवर्तन करें।

0

मैंने वर्षों से NexusDB का उपयोग किया है और यह एक छोटा, विश्वसनीय, लचीला डेटाबेस है। यह डेल्फी में लिखा गया है, पूर्ण स्रोत के साथ आता है और इसे पूरी तरह से आपके एप्लिकेशन में संकलित किया जा सकता है (वितरित करने के लिए कोई डीएलएल नहीं) या क्लाइंट सर्वर सिस्टम के रूप में चलाया जा सकता है।

यह जानना मुश्किल है कि यह आपकी प्रदर्शन आवश्यकताओं को पूरा करेगा या नहीं, लेकिन मुझे अपने SQL क्वेरी प्रदर्शन में कोई समस्या नहीं है बशर्ते मैं सही फ़ील्ड को अनुक्रमणित कर रहा हूं। यह प्रति टेबल उत्पाद में एक फ़ाइल है लेकिन इसे देखने के लिए आपको रोकने की अनुमति न दें।

यह एक वाणिज्यिक उत्पाद है लेकिन वे एक डीसीयू केवल संस्करण प्रदान करते हैं जिसका उपयोग केवल एकल उपयोगकर्ता/एम्बेडेड अनुप्रयोगों में ही किया जा सकता है।

1

लाभ डाटाबेस, Sybase द्वारा की पेशकश की कोशिश करो (विस्तारित सिस्टम्स से खरीदी)

http://marketing.ianywhere.com/forms/ADS91-30-Day

यह मुफ़्त है यदि आप क्लाइंट/सर्वर या इंटरनेट कार्यक्षमता की जरूरत नहीं है।

नकारात्मकता यह 100% वीसीएल नहीं है, इसलिए वीसीएल में डीएलएल के लिए स्थिर रूप से लिंक शामिल हैं।

यदि ऐप को कभी भी स्केल करने की आवश्यकता है, तो आपको डेटाबेस को फिर से बदलना नहीं होगा।

1

मैं पोस्टग्रेस्क्ल डेटाबेस का उपयोग करने की सलाह दूंगा, हम इसे उन सभी परियोजनाओं में उपयोग करते हैं जिन्हें हमने एक टेबल में 4 मिलियन से अधिक रिकॉर्ड के साथ काम किया और परीक्षण किया और बहुत अच्छी तरह से काम किया।

0

Postgresql बहुत अच्छा है लेकिन यह एक भारी मशीनरी यह ओरेकल के करीब है तो आप बहुत भारी क्षुधा कर सकते हैं लेकिन एक दर्द का एक सा 2009 में कनेक्टिविटी के लिए बनाए रखने के

Firebird एम्बेडेड शानदार है या नहीं है आप devrace.com से एफआईबी प्लस का उपयोग कर सकते हैं उनके पास एक परीक्षण संस्करण है जो सिर्फ एक नाग स्क्रीन दिखाता है, इसलिए यदि यह एक वाणिज्यिक ऐप नहीं है तो यह ठीक है।

अन्यथा यदि यह एक वाणिज्यिक ऐप है तो आप 300 डॉलर खर्च कर सकते हैं और इसे खरीद सकते हैं, मैंने इंटरबेस/फायरबर्ड के लिए घटकों को भी डिवार्ट किया है और यदि आप मुफ्त में ज़ीउस का उपयोग करना चाहते हैं तो वे बहुत अच्छे हैं लेकिन आप जो भुगतान करते हैं वह आपको मिलता है http://sourceforge.net/projects/zeoslib/ एसक्यूएल लाइट एक एकल फाइल नहीं है और अगर यह बहु उपयोगकर्ता है यह

0

बेकार है मैं एक बड़ी अनुप्रयोग है कि एक रिमोट के लिए एक स्थानीय डेटाबेस और Oracle 8i के लिए BDE/विरोधाभास इस्तेमाल किया गया है की एक रूपांतरण परिष्करण पर काम कर रहा हूँ db।

मैं DevArt से यूनीडीएसी का उपयोग कर रहा हूं। इससे मुझे एक घटक सेट (पुराने बीडीई से पूरी तरह से मुक्त) की अनुमति मिलती है जो एमएसएसएलएल सर्वर को स्थानीय डीबी के रूप में हिट कर सकता है और मेरे रिमोट के रूप में ओरेकल को हिट करना जारी रखता है। मेरे पास प्रदाताओं को बदलकर, अब और अधिक आसानी से डेटाबेस को स्विच करने में सक्षम होने की संभावना है।

मुझे यह दृष्टिकोण पसंद है, और घटकों को काफी अच्छा लगता है।

जे (D2007)

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

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