मैं वर्तमान में अपने डेटा वेयरहाउस के लिए ETL बनाने की प्रक्रिया में हूं। हम SSIS 2008 का उपयोग कर रहे हैं, लेकिन हम मुद्दों पर चल रहे हैं, जिनमें से सबसे बड़ा घटक पुन: उपयोग करने में कठिनाई है। हमारे पास प्रत्येक तालिका के लिए अलग-अलग पैकेज हैं और प्रत्येक पैकेज एक मूल पैकेज से कई चर का इनपुट लेता है। जब हम इन इनपुट चरों में परिवर्तन करते हैं, तो हमें प्रत्येक पैकेज में जाने की आवश्यकता होती है (हमारे पास 15 या अभी है, लेकिन यह संख्या काफी बढ़ने वाली है) और उन परिवर्तनों से निपटने के लिए पैकेज को संशोधित करना होगा। हमारे अर्क, खराब लॉगिंग क्षमताओं आदि के लिए मनमाने ढंग से एसक्यूएल चलाने में असमर्थता सहित अन्य मुद्दे भी हैं।
यह पूरी प्रक्रिया और अधिक मजबूत होगी यदि कोई कोड में हमारे ईटीएल को विकसित करने का एक तरीका था, कोड का पुन: उपयोग, सामान्य पुस्तकालयों, बेहतर इकाई परीक्षणों आदि को सक्षम करना, क्या एसक्यूएल सर्वर के लिए एक वास्तविक मानक ईटीएल भाषा / एपीआई है? मैं GUI टूल्स से बचना चाह रहा हूँ।
संपादित करें: मुझे अपनी पृष्ठभूमि का उल्लेख करना चाहिए। मैं एक डीबीए नहीं हूं और कोई औपचारिक (या अनौपचारिक) डीबीए प्रशिक्षण नहीं है, मैंने मूल रूप से इस सामान का पता लगाया है क्योंकि मैं साथ गया था, इसलिए हर संभावना है कि मैं एसएसआईएस के साथ अनुचित काम करने का प्रयास कर रहा हूं या इस ईटीएल के पास जा रहा हूं गलत कोण से परियोजना। इसके अलावा, मैं वर्तमान में राज्य सरकार में कार्यरत हूं, इसलिए नए सॉफ्टवेयर पैकेज की खरीद के लिए किसी भी समाधान की संभावना के दायरे में नहीं हैं।
यहाँ हमारा एक कार्य है। हम अपने गोदाम में प्रत्येक तालिका को लोड करने के लिए एक एकल SSIS पैकेज का उपयोग कर रहे हैं। प्रत्येक तथ्य पैकेज और आयाम पैकेज आम तौर पर समान होते हैं, वे केवल अलग-अलग होते हैं
- स्रोत डेटाबेस से अर्क
- डेटा फ्लो में हेरफेर
- गंतव्य तालिका में शामिल हो जाता है
मैं ऐसा करने में सक्षम होना चाहूंगा (जो मुझे SSIS में करना मुश्किल लग रहा है)
- टेक्स्ट फ़ाइल से निष्कर्षण क्वेरी लोड करें। जब डेवलपर्स अपने निष्कर्षण प्रश्नों को लिख रहे हैं और परीक्षण कर रहे हैं, तो मुझे SSIS के चलने से पहले किसी भी तरह से उनकी क्वेरी में हेरफेर नहीं करना चाहिए और मुझे क्वेरी को DB स्रोत ऑब्जेक्ट में कट और पेस्ट नहीं करना चाहिए।
- प्रत्येक घटक का व्यक्तिगत रूप से परीक्षण करें। मैं अन्य तालिका भार से स्वतंत्र, अलगाव में एक व्यक्तिगत तालिका के लिए पूर्ण ईटीएल प्रक्रिया का परीक्षण करने में सक्षम होना चाहिए।
- एक ही स्थान पर साझा तर्क में संशोधन करें, प्रत्येक व्यक्तिगत पैकेज को संपादित करने की आवश्यकता नहीं है। हर पैकेज ऑडिट टेबल में डेटा को उसी तरह से लोड करता है, अगर मैं ऑडेड लोड किए गए डेटा को बदलना चाहता हूं, तो मुझे सभी 15 पैकेजों को संपादित करने की आवश्यकता नहीं है (यह संख्या समय के साथ बहुत अधिक होने वाली है)।
पूरी प्रक्रिया को ऐसा लगता है कि साझा कोड के उचित उपयोग के साथ अगर प्रोग्रामेटिक रूप से किया जाए तो इसे लागू करना और अधिक मजबूत बनाना ज्यादा आसान होगा।