वर्तमान में हम एक अवकाश और यात्रा कंपनी के लिए एक ईकॉमर्स समाधान चलाते हैं। प्रत्येक बार जब हमारे पास रिलीज़ होता है, तो हमें डेटाबेस स्कीमा और डेटा एक्सेस कोड अपडेट करते समय ईकॉमर्स साइट को नीचे लाया जाना चाहिए। हम एक कस्टम निर्मित ओआरएम का उपयोग कर रहे हैं जहां प्रत्येक डेटा इकाई अपने स्वयं के सीआरयूडी संचालन के लिए ज़िम्मेदार है। यह डेटा इकाई में विशेषताओं के आधार पर एसक्यूएल को गतिशील रूप से उत्पन्न करके पूरा किया जाता है।डेटाबेस और एप्लिकेशन को अपडेट करते समय एप्लिकेशन डाउनटाइम को कम करने के लिए कैसे करें ORM
उदाहरण के लिए, एक पते के लिए डेटा इकाई होगा ...
[tableName="address"]
public class address : dataEntity
{
[column="address1"]
public string address1;
[column="city"]
public string city;
}
तो, हम डेटाबेस के लिए एक नया स्तंभ जोड़ना है, तो हम डेटाबेस का स्कीमा अद्यतन करना होगा और यह भी डेटा को अद्यतन इकाई।
जैसा कि आप उम्मीद कर सकते हैं, व्यवसायिक लोग इस आउटेज के बारे में बहुत खुश नहीं हैं क्योंकि यह उनके नकद प्रवाह में एक चिड़ियाघर डालता है। संचालन लोग खुश नहीं होते क्योंकि उन्हें उच्च दबाव वाले समय से निपटना होता है जब डेटाबेस और एप्लिकेशन अपग्रेड किए जाते हैं। प्रोग्रामर परेशान हैं क्योंकि वे लगातार विरासत प्रणाली के लिए परेशानी में हैं जो उन्हें विरासत में मिला है।
क्या आप में से कोई भी स्मार्ट लोगों के पास कुछ सुझाव हैं?
मैं इस से असहमत हूं। –
समाधान जैसा कि यह आपके से अलग नहीं है, केवल मैं कहता हूं कि ऐप में चलने से पहले थोड़ा सा समय के साथ डीबी में परिवर्तन होता है। संयोग से, मैं 911 कॉल सेंटर के साथ काम करता हूं, हम डाउनटाइम नहीं कर सकते हैं। हमने अपनी गलती-सहिष्णु जोड़ी को विभाजित किया, डीबी अपडेट किया, ऐप्स अपडेट किया, फिर अद्यतन सिस्टम पर चल रहे सिस्टम को विफल कर दिया।अगर हमें अपने ऐप्स को पूर्ववत करना है, तो नए डीबी स्कीमा को जगह में रखते हुए पुराने ऐप पर वापस स्विच करना बहुत आसान है। निश्चित रूप से, ओआरएम इसे तेजी से कठिन बना रहे हैं, लेकिन यह एक कार्यान्वयन मुद्दा है जिसे हमें सौदा करना है। – gbjbaanb
किसी और चीज की तरह, सही नौकरी के लिए सही टूल का उपयोग करें ... 'उदाहरण' के लिए ... भारी उत्पाद पढ़ें अधिकांश ओआरएम में पेश की जाने वाली पहली और दूसरी स्तर कैशिंग सुविधाओं का उपयोग कर सकते हैं और उन डेटाबेसों पर कॉल करने से रोक सकते हैं जो कभी भी नए उत्तर नहीं देते । दूसरी तरफ, लिखने वाले भारी अनुप्रयोगों को यह पता चल सकता है कि यह डेटाबेस को ऑफलोड लिखने (विशेष रूप से जटिल वाले) को अधिक समझ में आता है। – JoeGeeky