6

मैं राय के लिए नहीं पूछ रहा हूं लेकिन दस्तावेज़ीकरण पर अधिक हूं।संग्रहीत प्रक्रिया या कोड

हमारे पास बहुत सी डेटा फ़ाइलें हैं (एक्सएमएल, सीएसवी, प्लांटक्स्ट, आदि ...), और उन्हें संसाधित करने की आवश्यकता है, डेटा उन्हें मेरा।

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

मैं डीबी पृष्ठभूमि के साथ एक एप्लीकेशन डेवलपर हूं, और अधिक आवेदन विकास पर, और मैं पूर्वाग्रह हो सकता हूं, लेकिन डीबी में इस तर्क का उपयोग करना एक बुरा विचार है और मैं साबित करने या अस्वीकार करने के लिए कोई दस्तावेज नहीं ढूंढ पा रहा हूं मैं माल के भार को खींचने के लिए ट्रेन ट्रैक पर एक कार लगाने के रूप में क्या कहता हूं।

तो मेरी प्रश्न हैं: कितनी अच्छी तरह से डीबी (Oracle, DB2, MySQL, SqlServer) प्रदर्शन करता है जब हम नियमित अभिव्यक्ति खोज के बारे में बात, खोज और एक CLOB, डोम ट्रेवर्सल, प्रत्यावर्तन में डेटा की जगह ले? एक ही समस्या पर जावा, PHP, या सी # जैसी प्रोग्रामिंग भाषा की तुलना में।

संपादित

तो मैं के लिए क्या देख रहा हूँ एक विशेष प्रोग्रामिंग भाषा की तुलना/क्रम विश्लेषण पर प्रलेखन, विशेष रूप से स्ट्रिंग खोज के लिए, नियमित अभिव्यक्ति खोज एक डीबीएमएस की तुलना और की जगह और की जगह है। एक्सएमएल डोम ट्रैवर्सल। रिकर्सिव विधि कॉल पर मेमोरी उपयोग। और विशेष रूप से 10-100 जीबी डेटा के साथ सामना करते समय वे कितनी अच्छी तरह से स्केल करते हैं।

+1

एसपी: एस चयन और एकत्रीकरण के लिए अच्छे हैं। जब वे अन्य प्रसंस्करण (स्ट्रिंग, पार्सिंग, गणित इत्यादि) शामिल होते हैं तो वे आसानी से एक अनजान गड़बड़ बन जाते हैं। प्रदर्शन वास्तव में एक मुद्दा है? – adrianm

+0

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

+1

"डेटा खनन" एक बहुत अधिभारित शब्द है। इसका मतलब कंप्यूटिंग औसत से $ O (n^3) $ या बदतर रनटाइम के जटिल सांख्यिकीय तरीकों से हो सकता है। कृपया अधिक सटीक रहें। क्योंकि संग्रहीत प्रक्रियाओं का उपयोग करके कुछ चीजें स्पष्ट रूप से करना आसान हो जाएंगी। दूसरों को इस तरह से दर्द होगा! –

उत्तर

1

ऐसा लगता है जैसे आप स्टोरेज परत में व्यवसाय तर्क फेंकने जा रहे हैं। आपके जैसे परिचालनों के लिए, आपको डेटाबेस का उपयोग नहीं करना चाहिए। आप शोस्टॉपर्स के लिए वर्कअराउंड खोजने या लचीलापन के कारण क्विर्की समाधान बनाने की कोशिश में समाप्त हो सकते हैं।

भी ध्यान में रखरखाव रखें। बाद में समाधान कितने लोग बनाए रखने में सक्षम होंगे?

गति के बारे में बोलना, सही प्रोग्रामिंग भाषा चुनना आप कई धागे में डेटा को संसाधित करने में सक्षम होंगे। अंत में, कार एन के साथ आपकी भावना सही है;)

+0

मैं ये सब समझता हूं। लेकिन मुझे जो चाहिए वह दस्तावेज है जो सामान्य ज्ञान की व्याख्या करेगा। कुछ दस्तावेज के बिना, मेरा तर्क मान्य है क्योंकि मुझे विश्वास है लेकिन मैं एक विशेषज्ञ नहीं हूं। जैसे मैं कहता हूं कि मैं एक ऐप देव हूं, और मैं निश्चित रूप से किसी भी तर्क को भंडारण परत में डालने पर विश्वास नहीं करता हूं। तो मैं उम्मीद कर रहा हूं कि समुदाय में किसी ने कुछ ऐसा पढ़ा हो जो शायद मुझे लगता है कि सही है। – Churk

+0

उत्तर को कम करने का कोई मतलब नहीं है। जिन तर्कों को आप खोज रहे हैं वे सॉफ्टवेयर विकास में सिद्धांत हैं। आपको इसके बारे में बहुत सारे दस्तावेज मिलेंगे। आपके बिंदु के बारे में कोई बुरा विचार नहीं है, हम आपको प्रोग्रामिंग द्वारा एल्गोरिदम को समांतर करने के लिए रखरखाव और संभावना जैसे अधिक बहस करने वाले बिंदु दे सकते हैं। –

+0

आपके संपादन के अनुसार आपको रैली को डीबी परत के बाहर करना चाहिए। आप अधिक लचीला हैं, खासकर "एक्सएमएल डोम ट्रैवर्सल" और "रिकर्सिव विधि कॉल" में, जो स्टोरेज परत का हिस्सा नहीं हैं। यदि आपका डीबीए यह सब करने जा रहा है, तो यह सिर्फ एक प्रमाण-अवधारणा होगी, जिसमें लंबे समय लगेगा और अविश्वसनीय धन खर्च होगा। मैं बस मुझे और अन्य उत्तरों दोहरा सकता हूं: इसके लिए भंडारण परत नहीं बनाई गई है, यह स्वाभाविक रूप से बहुत खराब प्रदर्शन करेगा। –

1

डेटा परत से प्रसंस्करण तर्क खींचना बेहतर है। डाटाबेस में आपके कार्यान्वयन को बढ़ावा देना मुश्किल होगा।

पुस्तकालयों के बीच चयन करने और किसी भी भाषा के साथ कार्यान्वयन किए जाने पर उनके प्रदर्शन की तुलना करने के लिए आपको स्वतंत्रता और विकल्प मिलता है। इसके अलावा आप बैच प्रक्रिया के रूप में डेटा की थोक मात्रा को संसाधित करने के लिए (जावा के लिए स्प्रिंग-बैच) जैसे ढांचे का चयन कर सकते हैं।

संबंधित मुद्दे