क्या आप अपने विचारों को साझा कर सकते हैं कि आप MongoDB में डेटा संस्करण कैसे लागू करेंगे। (मैंने कैसंड्रा के संबंध में इसी तरह का प्रश्न पूछा है । यदि आपके पास कोई विचार है जो डीबी बेहतर है तो कृपया साझा करें)
मान लीजिए कि मुझे एक साधारण पते की पुस्तक में रिकॉर्ड बनाने की आवश्यकता है। (पता पुस्तिका रिकॉर्ड फ्लैट जोंस ऑब्जेक्ट के रूप में संग्रहीत किए जाते हैं)। मुझे उम्मीद है कि इतिहास:
- बार-बार उपयोग किया जाएगा
- इसे "टाइम मशीन" फैशन में पेश करने के लिए एक साथ सभी का उपयोग किया जाएगा
- एक ही रिकॉर्ड में कुछ सौ से अधिक संस्करण नहीं होंगे। इतिहास समाप्त नहीं होगा।
मैं निम्नलिखित दृष्टिकोणों पर विचार कर रहा हूं:
अभिलेखों के इतिहास या अभिलेखों में परिवर्तन को संग्रहीत करने के लिए एक नया ऑब्जेक्ट संग्रह बनाएं। यह पता पुस्तिका प्रविष्टि के संदर्भ में प्रति संस्करण एक वस्तु संग्रहित करेगा। ऐसे रिकॉर्ड निम्नानुसार दिखाई देंगे:
{ '_id': 'नई आईडी', 'उपयोगकर्ता': user_id, 'टाइमस्टैम्प': टाइमस्टैम्प, 'address_book_id': 'एड्रेस बुक रिकॉर्ड की आईडी' 'old_record': {'first_name': 'Jon', 'last_name': 'Doe' ...} }
इस दृष्टिकोण को प्रति दस्तावेज़ संस्करणों की एक सरणी को संग्रहीत करने के लिए संशोधित किया जा सकता है। लेकिन ऐसा लगता है कि यह बिना किसी फायदे के धीमा है।
पुस्तक प्रविष्टियों को क्रमबद्ध (JSON) ऑब्जेक्ट के रूप में स्टोर किए गए संस्करण। मुझे यकीन नहीं है कि इस तरह की वस्तुओं को MongoDB दस्तावेजों में कैसे संलग्न किया जाए। शायद तार की एक सरणी के रूप में। ( CouchDB के साथ सरल दस्तावेज़ संस्करण के बाद बनाया गया )