60

क्या डेटा-वेयरहाउस के लिए एक स्टार-स्कीमा डिज़ाइन आवश्यक है? या आप एक और डिजाइन पैटर्न के साथ डेटा गोदाम कर सकते हैं?स्टार-स्कीमा डिजाइन

+0

आप तकनीकी रूप से एक टेबल में सबकुछ डाल सकते हैं, यानी कोई आयाम तालिका वाला कोई तथ्य तालिका नहीं, और कुंजी के बजाय वास्तविक आयाम डेटा। लेकिन यह बहुत जल्दी हो जाएगा, इसलिए सामान्यीकरण का एक स्तर। –

उत्तर

91

डेटा वेयरहाउस सिस्टम के लिए star schemas का उपयोग करके आपको कई लाभ मिलते हैं और ज्यादातर मामलों में उन्हें शीर्ष परत के लिए उपयोग करना उचित होता है। आपके पास एक परिचालन डेटा स्टोर (ओडीएस) भी हो सकता है - एक सामान्यीकृत संरचना जिसमें 'वर्तमान स्थिति' होती है और डेटा संरचना जैसे संचालन की सुविधा प्रदान करती है। हालांकि उचित परिस्थितियां हैं जहां यह वांछनीय नहीं है। मुझे ओडीएस परतों के साथ और बिना सिस्टम बनाने का मौका मिला है, और प्रत्येक मामले में वास्तुकला की पसंद के लिए विशिष्ट कारण थे।

डेटा गोदाम वास्तुकला का subtlties में जा रहा है या एक Kimball बनाम Inmon लौ युद्ध एक स्टार स्कीमा का मुख्य लाभ शुरू करने के बिना

हैं:

  • अधिकांश डेटाबेस प्रबंधन प्रणालियों क्वेरी अनुकूलक में सुविधाएं हैं 'स्टार ट्रांसफॉर्मेशन' करने के लिए Bitmap Index संरचनाओं या Index Intersection तेजी से पूर्वानुमान समाधान के लिए उपयोग करें। इसका मतलब यह है कि चयन के हल होने तक तथ्य तालिका को मारने के बिना स्टार स्कीमा से चयन किया जा सकता है (जो आमतौर पर इंडेक्स से काफी बड़ा होता है)।

  • Partitioning एक स्टार स्कीमा अपेक्षाकृत सरल है क्योंकि केवल तथ्य तालिका को विभाजित करने की आवश्यकता है (जब तक कि आपके कुछ बाइबिल के बड़े आयाम न हों)।Partition elimination का अर्थ है कि क्वेरी ऑप्टिमाइज़र उन नीतियों को अनदेखा कर सकता है जो संभावित रूप से क्वेरी परिणामों में भाग नहीं ले सकते हैं, जो I/O पर सहेजते हैं।

  • Slowly changing dimensions एक स्नोफ्लेक की तुलना में स्टार स्कीमा पर लागू करना बहुत आसान है।

  • स्कीमा को समझना आसान है और snowflake या ई-आर स्कीमा से कम जुड़ाव शामिल करना शामिल है। आपके रिपोर्टिंग टीम के लिए इस

  • स्टार स्कीमा ऐसे Business Objects या Report Builder के रूप में तदर्थ क्वेरी उपकरणों के साथ अच्छा प्रदर्शन कर (अधिक महत्वपूर्ण) ज्यादा उपयोग करने के लिए आसान है और कर रहे हैं आप प्यार करेंगे। एक डेवलपर के रूप में आपके पास इन उपकरणों द्वारा उत्पन्न एसक्यूएल पर बहुत कम नियंत्रण होता है, इसलिए आपको क्वेरी ऑप्टिमाइज़र जितना संभव हो उतना मदद देना होगा। स्टार स्कीमा क्वेरी ऑप्टिमाइज़र को गलत होने के अपेक्षाकृत कम अवसर प्रदान करते हैं।

आमतौर पर आपकी रिपोर्टिंग परत स्टार स्कीमा का उपयोग करेगी जबतक कि आपके पास कोई विशिष्ट कारण न हो। यदि आपके पास एकाधिक स्रोत सिस्टम हैं तो आप डेटा को जमा करने के लिए सामान्यीकृत या स्नोफ्लेक स्कीमा के साथ Operational Data Store को कार्यान्वित करना चाह सकते हैं। यह आसान है क्योंकि ओडीएस आमतौर पर इतिहास नहीं करता है। ऐतिहासिक राज्य स्टार स्कीमा में ट्रैक किया जाता है जहां सामान्यीकृत संरचनाओं की तुलना में यह करना अधिक आसान होता है। एक सामान्यीकृत या स्नोफ्लेक्ड ऑपरेशनल डेटा स्टोर 'वर्तमान' स्थिति को प्रतिबिंबित करता है और डेटा में अंतर्निहित किसी भी ऊपर और उसके ऊपर ऐतिहासिक दृश्य नहीं रखता है।

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

इस तरह से सिस्टम को लेयर करना जिम्मेदारियों को अलग करने का प्रावधान करता है - व्यापार और डेटा सफाई तर्क ओडीएस में निपटाया जाता है और स्टार स्कीमा लोड ऐतिहासिक स्थिति से निपटता है।

+0

शानदार जवाब! धन्यवाद। –

6

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

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

+0

यह मूल रूप से एसक्यूएल में ऑब्जेक्ट उन्मुख डिजाइन है;) –

8

स्टार स्कीमा का उपयोग डेटा की बड़ी मात्रा में उच्च गति पहुंच को सक्षम करने के लिए किया जाता है। विषय क्षेत्र के खिलाफ किए जा सकने वाले किसी भी प्रश्न को संतुष्ट करने के लिए आवश्यक जोड़ों की मात्रा को कम करके उच्च प्रदर्शन सक्षम किया जाता है। यह आयाम तालिकाओं में डेटा अनावश्यकता की अनुमति देकर किया जाता है।

आपको याद रखना होगा कि स्टार स्कीमा वेयरहाउस के लिए शीर्ष परत के लिए एक पैटर्न है। सभी मॉडलों में वेयरहाउस स्टैक के नीचे स्टेजिंग स्कीमा भी शामिल हैं, और कुछ में लगातार लगातार विलय वाले स्टेजिंग क्षेत्र भी शामिल हैं जहां सभी स्रोत सिस्टम 3 एनएफ मॉडलिंग स्कीमा में विलय किए जाते हैं। विभिन्न विषय क्षेत्र इस से ऊपर बैठते हैं।

शीर्ष स्तर पर स्टार स्कीमा के विकल्प में एक भिन्नता शामिल है, जो एक स्नोफ्लेक स्कीमा है। डेन लिंस्टेड द्वारा प्रस्तावित एक नई विधि जो कुछ जांच भी कर सकती है Data Vault Modelling है।

6

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

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

+2

+1 - किमबाल बनाम इनमन महान धार्मिक युद्धों में से एक है। आईएमएचओ इस तरह के धार्मिक विभाजन की उपस्थिति एक स्पष्ट संकेतक है कि न तो तर्क आकर्षक है।मैंने ओडीएस परतों के साथ और बिना सिस्टम बनाए हैं - और वास्तुशिल्प निर्णयों के लिए अच्छे कारण थे। – ConcernedOfTunbridgeWells

+1

डेटा वॉल्ट मॉडलिंग (http://en.wikipedia.org/wiki/Data_Vault_Modeling) अब आपके डेटा मार्ट्स के नीचे एक परत के रूप में भी है। –

3

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

बहुत सारे डेटाबेस-स्तरीय अनुकूलन मानते हैं कि आपके पास स्टार स्कीमा है; आप डीबी को अपने नॉन-स्टार-स्टार लेआउट के साथ "सही चीज़" करने के लिए अनुकूलित करने और पुनर्गठन करने में काफी समय व्यतीत करेंगे।

सुनिश्चित करें कि पेशेवरों विपक्ष पल्ला झुकना बनाओ ..

(यह ध्वनि करता है जैसे मैं वहाँ से पहले किया गया है?)

डी

4

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

हालांकि डेटाबेस डेटाबेस के संबंध में भी अन्य हैं, और इन्हें कुशल डेटा वेयरहाउसिंग के लिए उपयोग किया जा सकता है। बहुआयामी भंडारण इंजन ओलाप कार्यों (टीएम 1 उदाहरण) के लिए बहुत तेज़ हो सकते हैं; हम इस मामले में स्टार स्कीमा डिजाइन लागू नहीं कर सकते हैं। विशेष लॉजिकल मॉडल की आवश्यकता वाले अन्य उदाहरणों में एक्सएमएल डेटाबेस या कॉलम उन्मुख डेटाबेस शामिल हैं (उदाहरण के लिए प्रयोगात्मक C-store))।

+0

"संबंधपरक डेटाबेस इंजन के अलावा" ... दिलचस्प है। डेटा के लिए वे किस डिजाइन पैटर्न का उपयोग करते हैं? एक स्टार स्कीमा या किसी अन्य प्रकार का डिज़ाइन? –

+0

बहुआयामी (एमओएलएपी) डेटाबेस विभिन्न डेटा को विभिन्न बहुआयामी सरणी संरचनाओं में संग्रहीत करते हैं। संकल्पनात्मक रूप से, मेरी व्याख्या में, डेटा वेयरहाउस का निर्माण करते समय हम पहले एक वैचारिक डेटा मॉडल (आयाम और डेटा क्यूब्स के साथ) बनाते हैं, फिर हम इसे लॉजिकल लेवल (टेबल और बाधाओं) पर मैप करते हैं, जिसे फ़िशिकल लेवल पर लागू किया जाता है (फाइलें ऑन डिस्क, डीबीएमएस द्वारा संभाला गया)। मोलप इंजन हालांकि वैचारिक मॉडल को सीधे फिजिकल स्तर पर मैप करते हैं। चूंकि स्टार स्कीमा संबंधपरक dws का तार्किक मॉडल है, इसलिए इसे एक मोलप पर्यावरण में छोड़ दिया जाता है। – csaba

9

Datawarehousing litterature में एक चल रही बहस के बारे में जहां datawarehouse-वास्तुकला मेंStar-Schema डिजाइन लागू किया जाना चाहिए नहीं है।

datawarehouse में केवल स्टार स्कीमा डिजाइन का उपयोग के लिए बहुत अत्यधिक कम Kimball अधिवक्ताओं में, जबकि Inmon पहले एक उद्यम Datawarehouse normalized 3NF डिजाइन का उपयोग निर्माण और बाद में datamarts में स्टार स्कीमा डिजाइन का उपयोग करना चाहता है।

इसके अलावा आप यह भी कह सकते हैं कि Snowflake schema design एक और दृष्टिकोण है।

एक चौथा डिजाइन Data Vault Modeling दृष्टिकोण हो सकता है।

1

ऐसी तीन समस्याएं हैं जिन्हें हमें हल करने की आवश्यकता है।

1) परिचालन स्रोत सिस्टम से बाहर के भीतर और उनके बीच तालिकाओं में शामिल होने, जैसा कि हम निकालने डेटा सफाई से उन पर अनुचित दबाव डालना बिना डेटा प्राप्त करने के लिए कैसे, बनाने derivations आदि

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

3) व्यापार में विशेष लोगों/विभागों के लिए विशिष्ट विश्लेषणात्मक और रिपोर्टिंग आवश्यकताओं को पूरा करने के लिए डेटा को कैसे और यथासंभव शीघ्रता से पूरा करने के लिए डेटा को कैसे व्यवस्थित किया जाए।

इन तीन बहुत अलग समस्याओं का हल उन्हें

स्टेजिंग लेयर हल करने के लिए विभिन्न वास्तुशिल्प परतों के लिए आवश्यक हम स्रोतों की संरचनाओं को दोहराने, लेकिन केवल हर रात लोड किए गए हैं स्रोतों से डेटा बदल दिया है। एक बार डेटा को स्टेजिंग परत से अगली परत में ले जाने के बाद, डेटा गिरा दिया जाता है। प्रश्न एक साधारण डेटा_टाइम फ़िल्टर के साथ एकल तालिका प्रश्न हैं। स्रोत पर बहुत कम प्रभाव।

एंटरप्राइज़ लेयर यह एक व्यवसाय उन्मुख 3 सामान्य फॉर्म डेटाबेस है। स्टेजिंग परत से एंटरप्राइज़ परत में डेटा निकाला जाता है (और बाद में गिरा दिया जाता है), जहां इसे साफ़, एकीकृत और सामान्यीकृत किया जाता है।

प्रेजेंटेशन (स्टार स्कीमा) परत यहां, हम विशिष्ट आवश्यकताओं को पूरा करने के लिए आयामी मॉडल करते हैं। जोड़ों की संख्या को कम करने के लिए डेटा जानबूझकर डी-सामान्यीकृत किया जाता है। एंटरप्राइज़ लेयर में कई तालिकाओं पर कब्जा कर सकते हैं जो पदानुक्रम एक एकल आयाम तालिकाओं में ध्वस्त हो जाते हैं, और कई लेनदेन तालिकाओं को एकल तथ्य सारणी में विलय किया जा सकता है।

आप हमेशा इन तीन समस्याओं का सामना करते हैं। यदि आप एंटरप्राइज़ परत से दूर करना चुनते हैं, तो आपको अभी भी दूसरी समस्या को हल करना होगा, लेकिन आपको इसे स्टार स्कीमा लेयर में करना होगा, और मेरे विचार में, यह करने के लिए यह गलत जगह है।

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