2012-11-26 35 views
6

वर्तमान में हमारे पास एक अच्छी तरह से संबंधपरक एसक्यूएल सर्वर 2008 डेटाबेस है जो हमारे मास्टर एप्लिकेशन डेटाबेस है। हम एक मौजूदा दस्तावेज़ भंडारण तंत्र को बेहतर बनाने के लिए देख रहे हैं जो एक्सएमएल डेटा प्रकारों का उपयोग कुछ और स्कीमलेस के साथ करता है जो समान लेकिन समान दस्तावेजों को संभाल सकता है और सोचा कि couchdb अच्छा फिट होगा।साइड डीबी और एसक्यूएल सर्वर पक्ष का उपयोग करके

विचार यह है कि दस्तावेजों के बारे में सामान्य मेटा डेटा एसक्यूएल सर्वर के भीतर प्रदर्शित/समेकन/रिपोर्टिंग की आसानी के लिए संग्रहीत किया जा सकता है लेकिन दस्तावेज़ों में सूक्ष्म मतभेदों को संभालने के लिए वास्तविक दस्तावेज़ सोफे में संग्रहीत किए जाते हैं। विचार दो अलग-अलग तकनीकों में से अधिकांश बनाना है।

उदाहरण के लिए स्थिति, प्रकार, संबंधित व्यक्ति और दिनांक बनाया गया सभी दस्तावेजों में सभी सामान्य होंगे और एसक्यूएल में संग्रहीत होंगे लेकिन एक ईमेल और एक पत्र (स्पष्ट रूप से विभिन्न क्षेत्रों के साथ) सोफे में संग्रहीत किया जा सकता है।

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

कुछ ध्यान में रखना है कि कुछ दस्तावेज प्रकार टेम्पलेट्स से उत्पन्न होते हैं जो दस्तावेज स्वयं भी होते हैं (मेल मर्ज/ढूंढें और प्रतिस्थापित करें)।

आवेदन परत asp.net 4.5, सी #, भंडार पैटर्न, विंडसर आईओसी के लिए,

तो, सवाल करने के लिए है जावास्क्रिप्ट

...

इस दृष्टिकोण का सबसे बनाने के लिए एक समझदार तरीका है दो अलग डेटा भंडारण प्रतिमान?

क्या हम "प्रोग्रामिंग के लिए सबसे उपयुक्त तकनीक का उपयोग करने" की इच्छा में हमारे प्रोग्रामिंग जीवन को अनिवार्य रूप से जटिल बना रहे हैं?

क्या किसी के पास कुछ ऐसा करने का कोई अनुभव है और यदि ऐसा है, तो यह कैसे चला गया?

उत्तर

2

दस्तावेज़ के लिए दो अलग-अलग स्टोरेज प्रारूपों का उपयोग करना वास्तव में असामान्य नहीं है: एक खोजने योग्य पहलुओं और मेटाडेटा और प्रस्तुति के लिए दूसरा। एक और कागज कि चर्चा करता है

http://www.researchgate.net/publication/221176211_Archive_Design_Based_on_Planets_Inspired_Logical_Object_Model

यहाँ:

एक अधिक सामान्य तरीके से को देखते हुए, दृष्टिकोण कुछ हद तक एक हम रॉयल डेनिश पुस्तकालय में विकसित करने के लिए इसी तरह की और ग्रह यूरोपीय संघ परियोजना में धकेल दिया है यह दृष्टिकोण एक सामान्य तरीके से: "Opening Schrödingers Library"

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

तो मेरी राय में दृष्टिकोण सैद्धांतिक और व्यावहारिक रूप से ध्वनि है।

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

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