दीर्घाकार। नीचे सारांश देखें।
आरडीबीएमएस
RDBMS का संबंध रिलेशनल डेटाबेस मैनेजमेंट सिस्टम से है। यह एक रिलेशनल डेटा बेस को प्रबंधित करने के लिए एक सिस्टम है। डेटा वहाँ संग्रहीत है। आँकड़े। इसे व्यावसायिक तर्क नहीं कहते हैं।
व्यापार प्रक्रिया
व्यावसायिक तर्क का क्या मतलब है, वास्तव में? मेरे लिए, यह तार्किक रूप से व्यावसायिक प्रक्रियाओं का वर्णन है।
प्रक्रियाएं वे व्यावसायिक गतिविधियां हैं जो नियमित रूप से होती हैं, पर्याप्त है कि वे अब तदर्थ नहीं हैं। ये हर व्यवसाय के लिए अलग हैं।
मुझे अपनी व्यावसायिक टोपी लगाने दीजिए और समझाइए कि यहाँ व्यवसाय का क्या अर्थ है। कुछ के लिए, यह एक आश्चर्य के रूप में आ सकता है।
व्यापार
व्यापार मूल्य के निर्माण को प्राप्त करने के लिए की गई गतिविधियों का योग है, और अधिक विशेष रूप से मूल्य जो व्यापार किया जा सकता है। इसका मतलब यह हो सकता है कि हार्वेस्टर, टूना सैंडविच बनाना या बैंकिंग सेवाएं प्रदान करना। दुनिया के अधिकांश देशों में, यहां तक कि गैर-पूंजीवादी प्रणालियों में भी, लोग अपने पैसे के लिए सबसे अधिक मूल्य प्राप्त करना पसंद करते हैं, और इसलिए इन मूल्यवान वस्तुओं और सेवाओं के विभिन्न प्रदाताओं के बीच प्रतिस्पर्धा होती है। प्रतियोगिता आमतौर पर कीमत, गुणवत्ता और उपलब्धता पर टिका होता है।
त्वरित चक्कर: आपको 2 दिनों में 40 मिलियन rivets की आवश्यकता होती है, आप इंटरनेट पर कुछ लोगों से एक पेपैल खाते के साथ ऑर्डर नहीं करने जा रहे हैं, चाहे वह कितना भी सस्ता हो, आपकी कीमत आपके सामान्य विक्रेता की तुलना में अधिक है।
प्रक्रिया ज्ञान
जैसा कि आप कल्पना कर सकते हैं, इस "मूल्य" को बनाने में शामिल प्रक्रियाएं ज्यादातर कार्यकारी प्रमुखों में रहती हैं। उनमें से कुछ को कागज पर रखा जाता है और कंपनी की नीतियों और प्रक्रियाओं के रूप में उपयोग किया जाता है। उस में से कुछ कॉर्पोरेट परामर्शदाता के सिर में रहते हैं। उस विभाग, विभाग, टीम, और मशीनों को चलाने वाले लोगों, कैश रजिस्टर, ओवन, ट्रकों को चलाने वाले लोगों के सिर में बहुत कुछ रहता है। उस का एक छोटा सा उप-भाग कभी सॉफ्टवेयर के लिए व्यावसायिक आवश्यकताओं को पूरा करता है, और उस समय का एक छोटा सा उप-समूह भी कंप्यूटर सिस्टम में लागू होने के समय तक सटीक होता है।
अंत में, आप जिस व्यावसायिक तर्क को कोड में देखते हैं, वह वह नहीं है जो व्यवसाय चलाता है, यह वह है जो व्यवसाय के लिए एप्लिकेशन चलाता है। वास्तविक लोगों के अंदर के वास्तविक दिमाग वास्तविक व्यावसायिक प्रक्रियाओं को पकड़ते हैं, और उन्हें यह समझने में कोई समस्या नहीं है कि उनके मस्तिष्क की प्रक्रिया कंप्यूटर की प्रक्रिया से अधिक सटीक है। एक तरफ के रूप में, आप शायद व्यवसाय नहीं चला सकते हैं यदि आपके पास अधिकांश निगमों की नीतियां और प्रक्रियाएं थीं। बहुत बार ये गंभीर रूप से गलत होते हैं, हर्कुलियन प्रयासों के बावजूद।
तो अंत में, यह एप्लिकेशन लॉजिक है जिसे सॉफ्टवेयर में कोडित किया गया है। और लोग इसे डेटाबेस में डालना चाहते हैं, क्योंकि डेटाबेस प्रबंधन प्रणाली विक्रेताओं ने भव्य दावे किए हैं।
अनुप्रयोग तर्क
मैंने कहा नही। मैं कहता हूं कि आवेदन तर्क आवेदन के अंदर रहता है। डेटा बहुत सामान्य तरीके से डेटाबेस में जाता है, और फिर रिपोर्टिंग और ड्रिलिंग और रोलअपिंग और पिविंग और क्यूबिंग के लिए डेटॉलहाउस को ETL'd मिलता है।
डेटा
मैं यह भी कहता हूं कि डेटा अनुप्रयोग को रेखांकित करता है, इसलिए डेटा सामान्यीकरण प्रयास एप्लिकेशन विशिष्ट नहीं होना चाहिए, और व्यवसाय-विशिष्ट भी नहीं होना चाहिए, बल्कि व्यापार-सामान्य होना चाहिए। क्या आप राज्य कोड स्टोर करते हैं? आपको INCITS 38: 2009 (http://www.census.gov/geo/www/ansi/statetables.html) का उपयोग करना चाहिए क्योंकि यह व्यवसायों में पोर्टेबल है। इससे कई अनुप्रयोगों के लिए डेटा में हेरफेर करना आसान हो जाता है।
NoSQL?
यदि आप डेटाबेस को एप्लिकेशन के कोड के हिस्से के रूप में मानते हैं, तो टेबल लेआउट से ट्रिगर्स, संग्रहीत प्रक्रियाओं और डेटा प्रारूपों के लिए, आप अनिवार्य रूप से उद्यम डेटाबेस का एक महिमामंडित बर्कलेबीडी के रूप में उपयोग कर रहे हैं, जो एक गौरवशाली फ्लैट फ़ाइलों की संरचना है, जो वास्तव में सिर्फ सूचीबद्ध सूची है। यह अनिवार्य रूप से NoSQL क्या कर रहा है: जड़ों में वापस जा रहा है, लेकिन इसे बहु-प्रक्रिया में कर रहा है, निरंतर, विफलता-सहिष्णु तरीके से।
वास्तविक कोड
नहीं, आपको डेटा बेस को कई अनुप्रयोगों के लिए डेटा के एक सामान्य भंडार के रूप में व्यवहार करने की आवश्यकता है, वर्तमान और भविष्य दोनों। अब हम अपनी दलील पर आते हैं। बाजार, राजनीति और फैशन की योनि के साथ व्यावसायिक प्रक्रियाएं बदल जाती हैं। बहुत बार वे तेजी से बदलते हैं जो कोडर कंप्यूटर-विज्ञान-ग्रेड भाषाओं (जावा, सी #, सी ++ आदि) के साथ प्रबंधित कर सकते हैं और अंत में लेखांकन या विपणन विभाग में एक्सेल स्प्रेडशीट में वीबीए में लिखे जा रहे हैं। (और केवल अगर यह फैंसी vlookups में व्यक्त नहीं किया जा सकता है ...)
डेटाबेस में गिरावट
यदि यह अच्छी तरह से व्यवस्थित है तो डेटा बहुत अधिक नहीं बदलता है। व्यापार तर्क बहुत तेजी से बदलता है। डेटाबेस में व्यावसायिक तर्क रखकर, आप डेटाबेस को कम मूल्यवान बनाते हैं, क्योंकि यह अप्रचलित और जल्द ही गलत हो जाएगा।
सारांश
डेटा को अनुप्रयोग को रेखांकित करना चाहिए क्योंकि व्यावसायिक प्रक्रियाएँ अनुप्रयोग में रहती हैं और व्यावसायिक प्रक्रियाएँ अक्सर बदलती रहती हैं। डेटाबेस में व्यावसायिक तर्क को शामिल करना इसकी लंबी उम्र और समग्र मूल्य के लिए बुरा है।
चेतावनी
मैंने अपना हिस्सा dba-ing किया है और मैंने dba.se पर उत्तर पढ़े हैं, लेकिन सभी ईमानदारी से वे जो बात कर रहे हैं वह डेटा-अखंडता के मुद्दे और प्रदर्शन के मुद्दे हैं। मैं इस बात से पूरी तरह सहमत हूं कि कॉरपोरेट डेटा को छूने वाले लोगों को पता होना चाहिए कि वे क्या कर रहे हैं, चाहे डीबीए या प्रोग्रामर या एसएएस के वरिष्ठ विश्लेषक पढ़ें / लिखें पहुंच के साथ।
मैंने यह भी नोट किया कि वे SQL को कोडर्स की सलाह देते हैं। मैं सहमत हूँ। यह एक कंप्यूटर प्रोग्रामिंग भाषा है, इसलिए मैं यह नहीं देखता कि कंप्यूटर प्रोग्रामर इसे क्यों नहीं जानना चाहेंगे।
बाद में, इसके बारे में सोचने के बाद
मुझे लगता है कि बीच का मैदान एक एपीआई बनाने के लिए है, और यह है कि एपीआई डेटा के प्रवाह और फ्रॉस्ट का प्रबंधन करता है। यदि आप ऐप्स को तालिकाओं से सीधे कनेक्ट करने की अनुमति नहीं दे सकते हैं, तो कम से कम आप पहुंच तंत्र को आधुनिक भाषाओं में बना सकते हैं।