2009-05-14 11 views
13

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

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

पिछला सिस्टम मैं होने की हद तक पर तालिकाओं के विभिन्न सेट के बीच एक अंतर बना दिया है काम किया है,:

  • अपलोड टेबल: कच्चे स्रोत प्रणाली डेटा, असंशोधित
  • स्टेजिंग टेबल: मध्यवर्ती प्रसंस्करण, टाइप और साफ
  • वेयरहाउस टेबल

आप अलग स्कीमा में इन छड़ी कर सकते हैं और उसके बाद संग्रह/बैकअप/सुरक्षा आदि अन्य लोगों में से एक एक गोदाम में काम किया है जहां एक StagingInput और एक StagingOutput, इसी तरह की कहानी के लिए अलग-अलग नीतियां लागू होती हैं । पूरी तरह से टीम के पास डाटावायरहाउस और अन्यथा बहुत अनुभव है।

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

जबकि निश्चित रूप से यह स्पष्ट है कि अगर हम स्टेजिंग क्षेत्र में कुछ और संरचना जोड़ना चाहते हैं, तो यह बहुत अजीब लगता है कि इसके बारे में कुछ भी नहीं लिखा गया है।

तो, हर कोई क्या कर रहा है? क्या यह सिर्फ इतना बड़ा असंगठित गड़बड़ है या लोक लोगों के पास कुछ दिलचस्प डिजाइन हैं?

उत्तर

4

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

+0

जिज्ञासा, एक ऐसा क्षेत्र जहां कोई भी दिलचस्पी नहीं लेता है, फिर भी कोई भी जो किसी भी पैमाने पर प्रत्येक बीआई परियोजना को प्रभावित करता है। मुझे लगता है कि अपलोड और स्टेजिंग भेद हमें कम से कम कुछ संरचना देगा। – NeedHack

-2

व्यक्तिगत रूप से, मैं किमबाल या अन्य जगहों में परेशानी की तलाश नहीं करता हूं।

आप किस प्रकार की "संरचना" खोज रहे हैं? आपको किस तरह की "संरचना" की आवश्यकता है? आज आपके पास "संरचना" की कमी से आप क्या समस्याएं देख रहे हैं?

मैं आपको इस धारणा से छोड़ सकता हूं कि मुझे किमबाल का अधिक नहीं लगता है। ऐसा नहीं - मैंने किमबाल नहीं पढ़ा है। मैं बस कुछ पैटर्न को फिट करने से परे किसी भी कारण से बदलती चीजों के बारे में ज्यादा नहीं सोचता। कुछ असली दुनिया की समस्या को हल करने के लिए बदलें ठीक होगा। उदाहरण के लिए, यदि आपको लगता है कि आप स्टेजिंग टेबल का बैक अप ले रहे हैं क्योंकि संरचना की कमी ने स्टेजिंग और वेयरहाउस टेबल का इलाज किया है, तो यह संरचना को बदलने का एक कारण होगा। लेकिन अगर आपके मन में यह बात है, तो आपको इसे इंगित करने के लिए अपना प्रश्न संपादित करना चाहिए।

+0

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

+0

@ क्रिस: आपको अपने प्रश्न को स्पष्ट करना चाहिए, फिर। मैंने इसे डेटाबेस के भीतर टेबल के बारे में पढ़ने के लिए, और प्रक्रिया को संरचित करने के बारे में नहीं पढ़ा। यह एक अलग सवाल है। –

+0

मुझे नहीं लगता कि हम पूरी तरह से ईटीएल की संरचना को टेबल से अलग कर सकते हैं। हां, मेरा सवाल मुख्य रूप से टेबल संरचना के बारे में था (यह अनाज के खिलाफ कोई बड़ी संख्या में तालिकाओं, बाधाओं या किसी भी चीज के साथ नहीं है), लेकिन ईटीएल संरचना टेबलों की व्यवस्था के तरीके से निम्नानुसार होती है। – NeedHack

2

स्टेजिंग में उप क्षेत्रों वहाँ हो सकता है। उदाहरण के लिए, स्टेजिंग 1, स्टेजिंग 2 कहा जाता है।

Staging1 एक सीधे कोई परिवर्तन के साथ डेटा स्रोतों से खींच हो सकता है। और स्टेजिंग 1 केवल नवीनतम डेटा रखता है।

Staging2 डेटा को बदल दिया और गोदाम के लिए जाने के लिए तैयार रहता है। Staging2 सभी ऐतिहासिक डेटा रखता है।

+0

धन्यवाद केन, हाँ, यह उन डिज़ाइनों के समान है जिन्हें मैंने अतीत में काम किया है। मुझे अजीब लगता है कि इसके बारे में कुछ भी प्रकाशित नहीं हुआ है। – NeedHack

+0

मैं व्यक्तिगत रूप से एक मेज के नाम के अंत पर एक नंबर टैकिंग डेटाबेस में अंतर को निरूपित करने के सुझाव देते हैं woudn't।अगर मैंने उस स्कीमा में प्रवेश किया, तो मेरा पहला विचार कुछ ऐसा होगा, 'ओह, इन्हें टेबल छोड़ दिया जाना चाहिए जिन्हें टीम ने कभी नहीं हटाया'। – Droogans

4

बस एक नोट, वहाँ एक किताब "डाटा गोदाम ईटीएल टूलकिट" Raph Kimball और जो Caserta द्वारा कहा जाता है तो श्री Kimball इस में कुछ प्रयास डाल दिया था। :)

+0

इस पुस्तक द्वारा कवर नहीं किया गया – NeedHack

+0

हाँ, मैंने भी जांच की है। सुनिश्चित नहीं है कि आप पृष्ठ का संदर्भ दिए बिना उनका संदर्भ क्यों दे रहे हैं - जब तक कि मुझे पृष्ठ/अनुभाग नहीं मिल सका। – LearnByReading

0

इस पोस्ट here पर एक नज़र डालें। यह एक डीडब्ल्यू के भीतर एक स्टेजिंग क्षेत्र की जिम्मेदारियों का एक अच्छा अवलोकन देता है।

3

हम इस समय एक बड़ी बीमा डीडब्लूएच परियोजना पर काम कर रहे हैं, यह थोड़ा जटिल है, लेकिन प्रत्येक स्रोत सिस्टम टेबल को एक स्थिर डेटाबेस में एक अलग स्कीमा में रखा जाता है, फिर हमारे पास ईटीएल होता है जो चाल/सफाई/अनुरूप होता है (एमडीएम) स्टेजिंग डेटाबेस से डेटा को एक STAGINGCLEAN डेटाबेस में, फिर आगे ईटीएल जो डेटा को किमबाल डीडब्ल्यूएच में ले जाता है।

स्टेजिंग और स्टेजिंग क्लीनन डेटाबेस को अलग करना हमें विशेष रूप से डेटा गुणवत्ता पर मुद्दों का निदान करने में बहुत मददगार लगता है, क्योंकि हमारे पास गंदे चरण वाले डेटा के साथ-साथ साफ संस्करण भी डीडब्ल्यूएच में परिवर्तित होने से पहले साफ हो गया है।

+0

हम इसे उत्पादन डेटाबेस (डेटाटायरहाउस नहीं) के नियमित आयात के साथ भी करते हैं। यह नहीं बता सकता कि लाखों रिकॉर्ड्स को यह दिखाने की कोशिश करते समय कितना आसान है कि समस्या यह है कि समस्या उनका डेटा हमारी प्रक्रिया नहीं है। – HLGEM

0

क्या एक बड़ा सवाल।

अतीत में हमने _MIRR (दर्पण के लिए) प्रत्यय डेटाबेस में उतरे असंगत डेटा के लिए प्रत्यय का उपयोग किया है, यानी। यह स्रोत दर्पण करता है। फिर हम स्टार स्कीमा के लिए _DW स्रोत से परिवर्तित डेटा के लिए _STG का उपयोग करते हैं।

मचान यहाँ टेबल 3NF में होगा। मुझे लगता है कि यह महत्वपूर्ण बात है। डाटा untransformed उतरा और अगले कदम के लिए जहां हम पूरी तरह से डेटा को सामान्य है, तो यह सब रिपोर्टिंग के लिए हमारे स्टार स्कीमा में बाहर सपाट से पहले से अलग रखा गया है।

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