के रूप में करते हुए यदि मैं डेटा सोर्सिंग डेटा स्टोर करने के लिए आरडीबीएमएस (उदा। एसक्यूएल सर्वर) का उपयोग कर रहा था, तो स्कीमा कैसा दिख सकता है?आरडीबीएमएस का उपयोग स्टोरेज सोर्सिंग स्टोरेज
मैंने कुछ भिन्नताओं को एक अमूर्त अर्थ में बात की है, लेकिन कुछ भी ठोस नहीं है।
उदाहरण के लिए, कहें कि किसी के पास "उत्पाद" इकाई है, और उस उत्पाद में परिवर्तन: मूल्य, लागत और विवरण के रूप में आ सकता है। चाहे के बारे में मैं चाहते मैं उलझन में हूँ:
- एक "ProductEvent" मेज, एक उत्पाद है, जहां प्रत्येक परिवर्तन यह है कि तालिका में एक नया रिकार्ड का मतलब के लिए सभी क्षेत्रों है कि है, के साथ साथ "कौन, क्या, जहां , क्यों, कब और कैसे "उपयुक्त के रूप में। जब लागत, मूल्य या विवरण बदल जाते हैं, तो उत्पाद का प्रतिनिधित्व करने के लिए जोड़े गए एक पूरी नई पंक्ति।
- अलग-अलग तालिकाओं में स्टोर उत्पाद लागत, मूल्य और विवरण एक विदेशी कुंजी रिश्ते के साथ उत्पाद तालिका में शामिल हो गए। जब उन गुणों में परिवर्तन होते हैं, तो उचित रूप से WWWWWH के साथ नई पंक्तियां लिखें।
- स्टोर WWWWWH, प्लस एक धारावाहिक वस्तु घटना का प्रतिनिधित्व करने वाले एक "ProductEvent" तालिका में, घटना अपने आप में लोड किया जाना चाहिए, de-धारावाहिक और आदेश के लिए आवेदन राज्य को फिर से बनाने के लिए अपने आवेदन कोड में फिर से खेला अर्थ एक दिया गया उत्पाद।
विशेष रूप से मैं ऊपर विकल्प 2 के बारे में चिंता। चरम पर ले जाने के लिए, उत्पाद तालिका लगभग एक-टेबल-प्रति-संपत्ति होगी, जहां किसी दिए गए उत्पाद के लिए एप्लिकेशन स्टेट लोड करना होगा, उस उत्पाद के लिए प्रत्येक उत्पाद ईवेंट तालिका से सभी ईवेंट लोड करने की आवश्यकता होगी। यह टेबल विस्फोट मुझे गलत गंध करता है।
मुझे यकीन है कि "यह निर्भर करता है", और जब कोई एकल "सही जवाब", मैं क्या स्वीकार्य है का एहसास दिलाने के लिए कोशिश कर रहा हूँ, और क्या पूरी तरह से स्वीकार्य नहीं है। मुझे यह भी पता है कि नोएसक्यूएल यहां मदद कर सकता है, जहां घटनाओं को कुल रूट के खिलाफ संग्रहीत किया जा सकता है, जिसका मतलब है कि ऑब्जेक्ट को पुनर्निर्माण करने के लिए ईवेंट को प्राप्त करने के लिए केवल एक ही अनुरोध है, लेकिन हम नोएसक्यूएल डीबी का उपयोग नहीं कर रहे हैं पल तो मैं विकल्पों के लिए चारों ओर महसूस कर रहा हूँ।
अपने सबसे सरल रूप में: [घटना] {समेकित आईडी, समेकित संस्करण, EventPayload}। कुल प्रकार की आवश्यकता नहीं है, लेकिन आप इसे वैकल्पिक रूप से स्टोर कर सकते हैं। घटना प्रकार की कोई ज़रूरत नहीं है, लेकिन आप इसे वैकल्पिक रूप से स्टोर कर सकते हैं। यह उन चीजों की एक लंबी सूची है जो हुआ है, और कुछ भी अनुकूलन है। –
निश्चित रूप से # 1 और # 2 से दूर रहें। सबकुछ नीचे एक ब्लॉब में सीरियलाइज करें और इसे इस तरह से स्टोर करें। –