2008-12-09 16 views
16

थोड़ी देर पहले, मैंने ऑब्जेक्ट डेटाबेस के बारे में सुना। कूल अवधारणा और सब कुछ। अब, हर जगह ओआरएम की घटना के साथ, क्या कोई भी ऑब्जेक्ट उन्मुख डेटाबेस सिस्टम का उपयोग करता है? क्या वे प्रासंगिक हैं? क्या वे व्यावहारिक हैं?ऑब्जेक्ट उन्मुख डेटाबेस अभी भी उपयोग में हैं?

उत्तर

11

OO डेटाबेस कभी नहीं एक आला बाजार से बाहर हो गया। वे कुछ अनुप्रयोगों के लिए अच्छे हैं - जहां डेटा संरचना स्वयं ऑब्जेक्ट ग्राफ़ द्वारा प्रतिनिधित्व करने के लिए उधार देती है - लेकिन कभी भी आरएसबीएमएस पर चक्कर को पार करने के लिए आकर्षक लाभ नहीं होता है। ओओडीबीएमएस उत्पादों के लिए चिंतित मुख्य लाभ मेजबान भाषा के लिए कड़े एकीकरण है - कोई ऑब्जेक्ट/रिलेशनल प्रतिबाधा मेल नहीं है।

हालांकि, अभी भी कई OODBMS विक्रेताओं जो अपने उत्पादों के साथ काफी अच्छी तरह से कर रहे हैं इस तरह के Gemstone, Versant या Cardinal के रूप में कर रहे हैं। तकनीक कुछ प्रकार के डेटा संरचनाओं के लिए उपयोगी है और आरडीबीएमएस की तुलना में अधिक कुशल हो सकती है लेकिन आधुनिक एसक्यूएल बोलियों की तुलना में विज्ञापन-संबंधी प्रश्नों के लिए कमजोर हो जाती है।

रूप variousothers उल्लेख किया है, रत्न Seaside और Maglev के लिए उनके समर्थन (एक उस पर चल रहा Rails साथ रत्न वी एम को Ruby के बंदरगाह) की वजह से ध्यान का एक सा हो रही है। हम पाते हैं कि यह रत्न से अच्छे लोगों को प्रेस का थोड़ा सा हिस्सा मिल जाता है और इसके साथ ओओडीबीएमएस प्रतिमान पर थोड़ा अधिक ध्यान दिया जाता है।

+1

जेमस्टोन जैसे ओओडीबीएमएस में पूछताछ एसक्यूएल की तुलना में विज्ञापन-संबंधी प्रश्नों के लिए बहुत मजबूत है। इसके लिए –

0

कम से कम देखने की मेरी बात से वे काफी मर चुके हैं। लेकिन फिर मैं मुख्य रूप से वाणिज्यिक सॉफ्टवेयर में काम कर रहा हूं। शायद अकादमिक क्षेत्रों में वे अभी भी कहीं भी उपयोग में हैं।

3

हम उत्पाद मैं पर काम में Versant Object Database का उपयोग करें। (पूर्व में FastObjects, पूर्व में कवि डेटाबेस)। यह एक ऑब्जेक्ट डेटाबेस है और हम पाते हैं कि यह हमारे उत्पाद के कुछ पहलुओं के लिए एक रिलेशनल मॉडल से काफी बेहतर काम करता है, मुख्य रूप से कॉन्फ़िगरेशन ऑब्जेक्ट्स को संग्रहीत करता है, जावा कोड के साथ इंटरफेसिंग करता है।

भी देखें इस पहले से पूछा सवाल: https://stackoverflow.com/questions/52144/object-oriented-database-experiences

+0

मुझे तेजी से वस्तुओं पर मदद चाहिए। जब मैं लगभग 15 जीबी का एक्सएमएल पार्स करता हूं तो मैं अक्सर वर्चुअल मेमोरी से बाहर चला जाता हूं। मैं एक एक्सपैट पार्सर का उपयोग कर रहा हूँ। क्या आपके पास एक समान अनुभव है? –

+0

हम वास्तव में एक्सएमएल का कोई पार्सिंग नहीं करते हैं, हम एक्सएमएल प्रारूप में फास्टऑब्जेक्ट डेटाबेस के निर्यात/आयात करने के लिए वर्सेन्ट से 'ptxml' उपयोगिता का उपयोग करते हैं, लेकिन यह इसके बारे में है। – Jay

4

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

4

मैंने हाल ही में रत्न का उपयोग शुरू किया। ग्लास (सीसाइड (स्मॉलटाक वेब फ्रेमवर्क) के साथ लिनक्स (या ओएस-एक्स) पर रत्न) शायद जटिल अनुप्रयोगों के लिए सबसे अच्छा वेब विकास वातावरण है। स्मॉलटॉक "असली रूबी" होने के नाते पुनरुत्थान कर रहा है।

स्कीमा परिवर्तन और क्वेरी के लिए समर्थन अब तक कि आरडीबीएमएस में से बेहतर है।

एक महत्वपूर्ण अंतर यह है कि इस बार वे सस्ती हैं।

2

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

7

वास्तव में, डाटाबेस सिस्टम में से एक हैं क्षेत्रों है कि बुनियादी बदलाव हैं वास्तव में कड़ी मेहनत। अरबों डॉलर संबंधपरक डेटाबेस सिस्टम पर खर्च किए गए हैं और वे बहुत अच्छी तरह से काम कर रहे हैं।

वास्तविक जीवन में, यह सच नहीं है। डेटाबेस के साथ हमारी समस्याओं का एक प्रमुख कारण (मैंने दावा किया कि सभी डेटाबेस पंक्तियों में से 30% त्रुटियों में त्रुटियां हैं) बहुत प्राचीन टाइपिंग का उपयोग है और एसक्यूएल में मान्य है। इसके अलावा, भले ही उन्हें संबंधपरक नाम दिया गया हो, फिर भी वे संबंधों को संभालने में बहुत बुरे हैं। नतीजा डेटामैडल्स को denormalized और परिणामी अद्यतन त्रुटियों है।

रिलेशनल डेटाबेस की तरह कारण व्यवसायों है, क्योंकि वे बहुत उम्मीद के मुताबिक रहे हैं। उन्हें उन पर बहुत पैसा खर्च करना पड़ता है, उन्हें बहुत से डेवलपर्स और रख-रखाव की ज़रूरत होती है जो ज्यादातर नियमित नौकरियां करते हैं। वे डुप्लीकेट की मात्रा को देखने में विफल रहते हैं जिसे लाभ के रूप में समाप्त किया जा सकता है। नियमित कार्य डेवलपर्स को कठिन परिश्रम के जोखिम को अवशोषित करने की अनुमति देता है। ओओडीबी पर स्विच करने से कम अनुमानित काम जारी रहेगा।

3

क्योंकि उनके सॉफ्टवेयर की लागत काफी आसान पता लगाने के लिए नहीं है।

मैंने ऑब्जेक्टिविटी, डीबी 4o, बनाम की जांच की, और उनमें से कोई भी अपनी वेबसाइट पर आगे सॉफ्टवेयर की कीमत नहीं रखता है।

मैं पहले से ही लगभग सिर्फ इसलिए कि के हित खो दिया है।

क्या कोई भी कहीं भी जानता है जहां इन सभी अलग-अलग ऑब्जेक्ट्स की कीमत और लाइसेंस तुलना है?

+4

+1। "उद्धरण के लिए हमें कॉल करें" हमेशा इसका मतलब है "हास्यास्पद रूप से महंगा" - वहां कोई अच्छा, किफायती या गैर-वायरल ओएसएस, परिपक्व ऑब्जेक्ट डेटाबेस नहीं लगता है। इस पोस्ट के बाद –

+0

ऑब्जेक्टिविटी एक लंबा सफर तय कर चुकी है, हालांकि यह अभी भी काफी महंगा है, हालांकि –

1

वस्तु डाटाबेस अब तक एक शांत अवधारणा है। हालांकि, कार्यान्वयन स्केलेबिलिटी और स्थिरता के मुद्दों के साथ plaqued हैं। अब सही अवतार के साथ जो इन दो जानवरों को संबोधित करता है, समीकरण बदल सकता है।

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

यह आदर्श सेटअप है। हम दो प्रौद्योगिकियों को पुल करते हैं और डेवलपर्स के लिए उनके पसंदीदा इंटरफ़ेस में प्रोग्राम करने के विकल्प प्रदान करते हैं। कोई तर्क दे सकता है कि अब हमारे पास यह है, उदा। - एसक्यूएल सर्वर को सीएलआर ऑब्जेक्ट्स होस्ट करने के लिए समर्थन है, लेकिन वर्तमान कार्यान्वयन प्रतिबाधा मंदी से पीड़ित हैं। यानी - डेटा पथ में ऑब्जेक्ट्स के रूप में बहुत सारे रूपांतरण/अनुवाद हैं! = दो आयामी डेटा, इस प्रकार जब ऑब्जेक्ट से संबंधित आपकी ऐप उन्हें डीबी में सहेजती है, तो समाधान को तालिका में पंक्ति डेटा में परिवर्तित/अनुवाद करना होता है।

लेकिन यदि हम स्थिति को उलट देते हैं, यानी - डेटा इंजन ऑब्जेक्ट्स पर चल रहा है तो कोई प्रतिबाधा मेल नहीं होगा। दो आयामी डेटा अनुमान जोड़ना एक Objecct संग्रह के इंटरफ़ेस कार्यान्वयन से अधिक कुछ नहीं है, इस प्रकार कोई मैपिंग/अनुवाद नहीं होता है जब ऑब्जेक्ट्स को तालिका के डेटा पंक्तियों के रूप में उजागर किया जाता है। यह मेरा सिद्धांत है।

अतः यह शायद इस क्षेत्र पर प्रौद्योगिकी की अगली लहर एक डेटा इंजन है कि कम-स्तर इंटरफ़ेस और आरडीबीएमएस इंटरफेस के रूप में वस्तुओं इसके बारे में ऊपर बैठे अनुमति देगा। और यह तकनीक अब उपलब्ध है!

बी-ट्री गोल्ड संस्करण 4.0 स्केलेबल ऑब्जेक्ट पर्सिस्टेंस यह मुख्य डिजाइन लक्ष्य के रूप में है। यह निम्नलिखित विशेषताओं को प्राप्त करता है और इस प्रकार, यह अगले आरडीबीएमएस के लिए पसंद के डेटा इंजन होने के लिए अनुकूलित है, जो मूल रूप से इसके ऊपर एक परत है। इसके दो मुख्य मुख्य बिंदु हैं: स्केलेबिलिटी: सामान्य/औसत सुसज्जित लैपटॉप में 17 बजे 100 मिलियन आवेषण। स्थिरता: औद्योगिक ताकत लेनदेन जो सुनिश्चित करेगा कि डीबी दूषित नहीं है और पहले किए गए राज्य में रोलबैक कर सकता है।

इसके लिए काम करने के लिए, डेटा इंजन को आरडीबीएमएस सर्वर द्वारा स्केलेबिलिटी और स्थिरता को पूरा करना होगा। एक बहुत कठिन कार्य लेकिन असंभव नहीं है। बी-ट्री गोल्ड संस्करण 4.0 एसओपी ने इस आवश्यकता को पूरा किया है, इस प्रकार, हम वास्तव में इस तरह के समाधान को लागू करने के लिए तैयार हैं, वास्तव में इसे हमारी गर्दन के नीचे घुमाए बिना एसओपी पसंद की स्वतंत्रता देता है कि आप इसका उपयोग कैसे करना चाहते हैं। इसका उपयोग कई तरीकों से किया जा सकता है, उदा। - आरडीबीएमएस सर्वर को मध्य-स्तरीय कैशिंग स्टेशन, क्लाइंट साइड में एम्बेडेड डीबी आदि के रूप में पूरक ... आरडीबीएमएस सर्वर के निम्न स्तर के डेटा इंजन का उल्लेख नहीं करना!

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