2010-04-28 22 views
22

के लिए उपयोग करने के लिए सबसे अच्छा डेटाबेस क्या है: निम्न डेस्कटॉप डेटाबेस के लिए निम्न में से कौन सा डेटाबेस सबसे अच्छा है: फ़ायरबर्ड, जावाडीबी, hsqldb? मुझे प्रदर्शन, उपयोग में आसान, और पूरी तरह से मुफ्त लाइसेंस की आवश्यकता है।जावा डेस्कटॉप एप्लिकेशन

+1

इस प्रश्न में कुछ अच्छी चर्चा भी है: http://stackoverflow.com/questions/41233/java-and-sqlite –

+0

आप डेटाबेस में क्या स्टोर करना चाहते हैं? वस्तुओं? एक्सएमएल? आदिम प्रकार? बलुससी के लिए – Catchwa

+1

+1, आपको जो प्रश्न पूछना है, उसके लिए आपको जो जवाब पसंद है उसे स्वीकार करने की आवश्यकता है, अन्यथा लोग आपको और जवाब नहीं देना चाहेंगे। – dimo414

उत्तर

34

आप किसी एम्बेड डेटाबेस के लिए देख रहे हैं, मेरी सिफारिश होगा H2 (आवाज़ से जल्द 2 के लिए खड़ा है, (री) HSQLDB के लेखक द्वारा लिखित)। detailed comparison of features और performances देखें।

एक 100% जावा डेटाबेस का उपयोग करके इसे एक ही प्रक्रिया में चलाने की अनुमति होगी और चीजों को बहुत आसान आईएमओ बनाने की अनुमति होगी।

+0

एच 2 वास्तव में बहुत अच्छा लग रहा है। – BalusC

+4

@ बालससी मैंने एच 2 के पक्ष में hsqldb और javadb को गिरा दिया है, मुझे बस यह पसंद है। और इसकी [संगतता मोड] (http://www.h2database.com/html/features.html#compatibility) (यह ओरेकल, डीबी 2, आदि कहें "व्यवहार" कर सकती है) परीक्षण के लिए अद्भुत है। –

+0

अरे, यह अच्छा है। मुझे यह स्वीकार करना होगा कि मुझे नहीं पता था कि यह हाइपरिक 2 के लिए है। यह जल्द ही या बाद में खेलने के लिए एक नया खिलौना होगा :) – BalusC

1

आवश्यकताओं और डेटा राशि पर निर्भर करता है। मेरे पिछले चुनाव MySQL (स्विंग एप्लिकेशन)

6

था और यह बहुत आरामदायक था मुझ पर Postgres (http://www.postgresql.org/ ) है, जो सबसे अच्छा फ्रीवेयर डीबी के मैं जानता हूँ कि आप में से एक है अनुशंसा करने दें।

मुझे अपने पिछले प्रोजेक्ट में इस डीबी के साथ एक अनुभव था, जिसमें हमने स्कीमा में ~ 20 टेबल रखे थे, सबसे बड़ी तालिका में ~ 100,000 पंक्तियां थीं, और कुल डेटा की मात्रा इतनी बड़ी नहीं थी।

यह परियोजना उत्पादन में 2 साल से अधिक समय तक चल रही है, और इसके साथ कोई विशेष समस्या नहीं थी।

शे

+5

यदि वह डेस्कटॉप एप्लिकेशन शिपिंग कर रहा है तो यह शायद फायदेमंद है कि उपयोगकर्ता अलग डेटाबेस एप्लिकेशन इंस्टॉल न करें, इसलिए ओपी ने एक सुझाव दिया है JavaDB और hsqldb, जिनमें से दोनों जावा अनुप्रयोगों में एम्बेडेड किया जा सकता है। मुझे यकीन नहीं है कि फायरबर्ड उसमें कैसे फिट बैठता है। बेशक, यह पोस्टग्रेज़ पर किसी भी तरह से खुदाई नहीं है, जब भी डेटाबेस की आवश्यकता होती है तो मेरे दिमाग में स्पष्ट विकल्प होता है: डेस्कटॉप या सर्वर। – Geoff

3

मुझे लगता है कि आप इसके लिए एक एम्बेड करने योग्य डेटाबेस के साथ बेहतर हो जाएंगे। एचएसक्यूएलडीबी या एच 2 काम करेगा, जैसा कि SQLite होगा। SQLite जावा दुनिया के बाहर काफी लोकप्रिय है (उदाहरण के लिए मोज़िला प्रोजेक्ट द्वारा इसका उपयोग किया जाता है)। मैं जावाडीबी से परिचित नहीं हूं, इसलिए मैं इसकी क्षमताओं से बात नहीं कर सकता।

SQLite बहुत तेज़ माना जाता है।

0

मैं एक डीबीएमएस के लिए जाऊंगा जो जावा-विशिष्ट नहीं है। आप कुछ दिन अपने डेटा को सी ++ या .NET एप्लिकेशन के साथ साझा करना चाह सकते हैं। यदि क्लाइंट/सर्वर होने की आवश्यकता नहीं है तो SQLite या H2 पर विचार करें। यदि यह पोस्टग्रेस पर विचार करता है। इनमें से सभी के पास जावा के अलावा विशिष्ट भाषाओं के लिए ओडीबीसी ड्राइवर और/या ड्राइवर हैं।

3

Firebird डेस्कटॉप अनुप्रयोग

वहाँ अच्छा जावा ड्राइवर है के लिए विशेष रूप से बहुत अच्छा डेटाबेस है।

+2

खासकर 'बड़े डेस्कटॉप एप्लिकेशन' के लिए। फायरबर्ड स्केल सैकड़ों गीगाबाइट्स और उससे परे। –

3

मेरी सिफारिश एच 2 है। मैंने हाल ही में एक डीबी (एमएस एसक्यूएल सर्वर से) माइग्रेट किया जिसमें 2 बड़े टेबल होस्टिंग> 2 मिलियन पंक्तियां शामिल हैं। सबसे पहले मैंने डर्बी की कोशिश की और इसमें समस्याएं थीं (न केवल प्रदर्शन) - फिर मैंने एच 2 पर स्विच किया और सफलतापूर्वक सबकुछ माइग्रेट कर दिया।

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