Agile DWH ڊيزائن جي طريقن جو جائزو

اسٽوريج جي سهولت کي ترقي ڪرڻ هڪ ڊگهو ۽ سنجيده ڪم آهي.

هڪ منصوبي جي زندگيء ۾ گهڻو ڪجهه منحصر آهي ته ڪيئن چڱي طرح اعتراض ماڊل ۽ بنيادي جوڙجڪ شروع ۾ سوچيو ويو آهي.

عام طور تي قبول ٿيل طريقو آهي ۽ رهي ٿو مختلف قسم جي تارن جي اسڪيم کي ٽيون عام شڪل سان گڏ ڪرڻ. ضابطي جي طور تي، اصول جي مطابق: شروعاتي ڊيٽا - 3NF، نمائش - اسٽار. اهو طريقو، وقت جي آزمائشي ۽ وڏي مقدار جي تحقيق جي مدد سان، پهرين (۽ ڪڏهن ڪڏهن واحد) شيء آهي جيڪا هڪ تجربيڪار DWH ماهر جي ذهن ۾ اچي ٿي جڏهن اهو سوچڻ گهرجي ته هڪ تجزياتي مخزن کي ڪهڙو ڏسڻ گهرجي.

ٻئي طرف، عام طور تي ڪاروبار ۽ خاص طور تي گراهڪ جون گهرجون تيزيءَ سان تبديل ٿيڻ لڳن ٿيون، ۽ ڊيٽا ٻنهي ”گہرائي“ ۽ ”ڪمان ۾“ وڌن ٿا. ۽ اهو آهي جتي هڪ اسٽار جو بنيادي نقصان ظاهر ٿئي ٿو - محدود لچڪ.

۽ جيڪڏهن توهان جي خاموش ۽ آرام واري زندگي ۾ اوچتو ڊي ڊبليو ايڇ ڊولپر جي حيثيت ۾:

  • ڪم پيدا ٿيو "گهٽ ۾ گهٽ ڪجهه جلدي ڪرڻ لاء، ۽ پوء اسين ڏسنداسين"؛
  • هڪ تيزيء سان ترقي ڪندڙ منصوبو ظاهر ٿيو، نئين ذريعن جي رابطي سان ۽ هفتي ۾ گهٽ ۾ گهٽ هڪ ڀيرو ڪاروباري ماڊل جي ٻيهر ڪم ڪرڻ سان؛
  • هڪ گراهڪ ظاهر ٿيو آهي جنهن کي ڪا به خبر ناهي ته سسٽم کي ڪهڙو ڏسڻ گهرجي ۽ اهو آخر ۾ ڪهڙو ڪم ڪرڻ گهرجي، پر تجربو ڪرڻ لاء تيار آهي ۽ مسلسل مسلسل ان جي ويجهو وڃڻ دوران گهربل نتيجو بهتر ڪرڻ؛
  • پروجيڪٽ مئنيجر خوشخبري سان گڏ اچي ويو: "۽ هاڻي اسان کي چست آهي!"

يا جيڪڏهن توهان صرف اهو ڳولڻ ۾ دلچسپي رکو ٿا ته توهان اسٽوريج سهولتون ڪيئن ٺاهي سگهو ٿا - کٽ ۾ ڀليڪار!

Agile DWH ڊيزائن جي طريقن جو جائزو

ڇا مطلب آهي "لچڪدار"؟

پهرين، اچو ته وضاحت ڪريون ته سسٽم ۾ ڪهڙيون خاصيتون هجڻ گهرجن جنهن کي ”لچڪدار“ سڏيو وڃي.

الڳ الڳ، اهو قابل ذڪر آهي ته بيان ڪيل ملڪيت خاص طور تي تعلق رکڻ گهرجي سسٽم، نه ته عمل ان جي ترقي. تنهن ڪري، جيڪڏهن توهان پڙهڻ چاهيو ٿا Agile جي باري ۾ هڪ ترقي جي طريقيڪار جي طور تي، اهو بهتر آهي ته ٻين مضمونن کي پڙهو. مثال طور، اتي ئي، Habré تي، اتي تمام دلچسپ مواد آھي (جهڙوڪ جائزو и عملي، ۽ مسئلو ڪندڙ).

هن جو مطلب اهو ناهي ته ترقي جي عمل ۽ ڊيٽا گودام جي جوڙجڪ مڪمل طور تي لاڳاپو آهي. مجموعي طور تي، هڪ چست فن تعمير لاءِ Agile مخزن کي ترقي ڪرڻ لاءِ تمام گهڻو آسان هجڻ گهرجي. بهرحال، عملي طور تي، اڪثر ڪري ڪيبل ۽ DataVault جي مطابق کلاسک DWH جي Agile ترقي سان اختيار آهن - واٽر فال جي مطابق، هڪ منصوبي تي ان جي ٻن شڪلن ۾ لچڪدار جي خوشگوار اتفاقن جي ڀيٽ ۾.

تنهن ڪري، ڪهڙي صلاحيتون لچڪدار اسٽوريج هجڻ گهرجن؟ هتي ٽي نقطا آهن:

  1. جلدي پهچائڻ ۽ جلدي موٽڻ - هن جو مطلب اهو آهي ته مثالي طور تي پهريون ڪاروباري نتيجو (مثال طور، پهرين ڪم ڪندڙ رپورٽون) جيترو جلدي ممڪن ٿي سگهي حاصل ڪيو وڃي، اهو آهي، ان کان اڳ جو سڄو سسٽم مڪمل طور تي ٺهيل ۽ لاڳو ڪيو وڃي. ان کان علاوه، هر ايندڙ نظر ثاني کي ممڪن طور تي ٿورو وقت وٺڻ گهرجي.
  2. بار بار اصلاح - هن جو مطلب اهو آهي ته هر ايندڙ سڌاري کي مثالي طور تي ڪارڪردگي تي اثر انداز نه ڪرڻ گهرجي جيڪا اڳ ۾ ئي ڪم ڪري رهي آهي. اهو اهو لمحو آهي جيڪو اڪثر وڏن منصوبن تي سڀ کان وڏو خواب بڻجي ويندو آهي - جلدي يا بعد ۾، انفرادي شيون ايتري قدر ڪنيڪشن حاصل ڪرڻ شروع ڪري ٿو ته اهو آسان ٿي ويندو آهي مڪمل طور تي هڪ ڪاپي ۾ منطق کي ٻيهر ورجائڻ بجاءِ موجوده ٽيبل تي فيلڊ شامل ڪرڻ کان. ۽ جيڪڏهن توهان حيران ٿي رهيا آهيو ته موجوده شين تي بهتري جي اثر جو تجزيو ڪرڻ پاڻ ۾ بهتري جي ڀيٽ ۾ وڌيڪ وقت وٺي سگهي ٿو، توهان گهڻو ڪري اڃا تائين بينڪنگ يا ٽيلي ڪام ۾ وڏي ڊيٽا گودامن سان ڪم نه ڪيو آهي.
  3. مسلسل تبديل ٿيندڙ ڪاروباري گهرجن کي ترتيب ڏيڻ - مجموعي شئي جي جوڙجڪ کي نه رڳو ممڪن توسيع کي نظر ۾ رکندي ڊزائين ڪيو وڃي، پر ان اميد سان ته هن ايندڙ توسيع جي هدايت جو ڊزائن اسٽيج تي خواب ۾ به نه ٿي سگھي.

۽ ها، هڪ سسٽم ۾ انهن سڀني گهرجن کي ملڻ ممڪن آهي (يقينا، ڪجهه ڪيسن ۾ ۽ ڪجهه تحفظات سان).

هيٺ آئون ڊيٽا گودامن لاءِ ٻن مقبول ترين چست ڊيزائن طريقن تي غور ڪندس. اينڪر ماڊل и ڊيٽا والٽ. بریکٹ مان کاٻي پاسي اهڙيون بهترين ٽيڪنالاجيون آهن، مثال طور، EAV، 6NF (ان جي خالص شڪل ۾) ۽ NoSQL حلن سان لاڳاپيل هر شيءِ - ان ڪري نه ته اهي ڪنهن حد تائين خراب آهن، ۽ ان ڪري به نه ته ان صورت ۾ آرٽيڪل حاصل ڪرڻ جو خطرو هوندو. سراسري ڊسڪ جو مقدار. اهو صرف اهو آهي ته اهو سڀ ڪجهه ٿورڙي مختلف طبقي جي حلن سان تعلق رکي ٿو - يا ته ٽيڪنڪ سان جيڪي توهان مخصوص ڪيسن ۾ استعمال ڪري سگهو ٿا، قطع نظر توهان جي پروجيڪٽ جي مجموعي فن تعمير (جهڙوڪ EAV)، يا عالمي سطح تي ٻين معلومات اسٽوريج پيراڊمز (جهڙوڪ گراف ڊيٽابيسس) ۽ ٻيا اختيار NoSQL).

”ڪلاسيڪل“ طريقي جا مسئلا ۽ انهن جو حل لچڪدار طريقن سان

”ڪلاسيڪل“ طريقي سان منهنجو مطلب آهي سٺو پراڻو اسٽار (بغير بنيادي پرت جي مخصوص عمل جي ، ڪيم بال ، انمون ۽ سي ڊي ايم جا پوئلڳ مون کي معاف ڪن).

1. ڪنيڪشن جي سخت ڪارڊنلٽي

هي ماڊل ڊيٽا جي واضح تقسيم تي ٻڌل آهي طول و عرض и حقيقتون. ۽ اهو، لعنت آهي، منطقي آهي - سڀ کان پوء، ڊيٽا جي تجزيي جي اڪثريت ۾ ڪيسن جي ڪجهه حصن (طول و عرض) ۾ ڪجهه عددي اشارن (حقيقتن) جي تجزيي تي اچي ٿي.

انهي حالت ۾، شيون جي وچ ۾ ڪنيڪشن قائم ڪيا ويا آهن جدولن جي وچ ۾ لاڳاپا غير ملڪي ڪيچ استعمال ڪندي. اهو ڏسڻ ۾ ڪافي قدرتي آهي، پر فوري طور تي لچڪ جي پهرين حد تائين پهچندي آهي - ڪنيڪشن جي بنيادي حيثيت جي سخت تعريف.

هن جو مطلب اهو آهي ته ٽيبل ڊيزائن اسٽيج تي، توهان کي هر هڪ لاڳاپيل شين جي لاءِ صحيح طور تي طئي ڪرڻ گهرجي ته ڇا اهي ڪيترن ئي کان گهڻا، يا صرف 1-کان-گهڻن، ۽ "ڪهڙي طرف" آهن. اهو سڌو سنئون اهو طئي ڪري ٿو ته ڪهڙي ٽيبل وٽ پرائمري ڪيجي هوندي ۽ جنهن ۾ پرڏيهي ڪيبي هوندي. هن رويي کي تبديل ڪرڻ جڏهن نئين گهرجون وصول ڪيون وينديون آهن گهڻو ڪري بنيادي طور تي ٻيهر ڪم ڪرڻ جي ڪري.

مثال طور، جڏهن "نقد رسيد" اعتراض کي ڊزائين ڪندي، توهان، سيلز ڊپارٽمينٽ جي حلف تي ڀروسو ڪندي، عمل جي امڪان کي طئي ڪيو ڪيترن ئي چيڪ پوزيشن لاء هڪ واڌاري (پر ان جي برعڪس نه):

Agile DWH ڊيزائن جي طريقن جو جائزو
۽ ڪجهه وقت کان پوء، ساٿين هڪ نئين مارڪيٽنگ حڪمت عملي متعارف ڪرايو جنهن ۾ اهي ساڳئي پوزيشن تي عمل ڪري سگهن ٿا هڪ ئي وقت ۾ ڪيترائي پروموشن. ۽ ھاڻي توھان کي جدولن کي تبديل ڪرڻ جي ضرورت آھي ھڪڙي الڳ شئي ۾ رشتي کي الڳ ڪندي.

(سڀ نڪتل شيون جن ۾ پروموشن چيڪ شامل ڪيو ويو آهي هاڻي به بهتر ٿيڻ جي ضرورت آهي).

Agile DWH ڊيزائن جي طريقن جو جائزو
ڊيٽا والٽ ۽ اينڪر ماڊل ۾ تعلقات

هن صورتحال کان بچڻ بلڪل سادو ٿي ويو: توهان کي اهو ڪرڻ لاءِ سيلز ڊپارٽمينٽ تي ڀروسو ڪرڻ جي ضرورت ناهي. سڀ ڪنيڪشن شروعاتي طور تي جدا جدا جدولن ۾ محفوظ ٿيل آھن ۽ ان تي عمل ڪريو گھڻن کان گھڻن تائين.

اهو طريقو تجويز ڪيو ويو دان لنسٽٽ مثال جي حصي جي طور تي ڊيٽا والٽ ۽ مڪمل طور تي سپورٽ لارس رونبڪ в اينڪر ماڊل.

نتيجي طور، اسان لچڪدار طريقن جي پهرين مخصوص خصوصيت حاصل ڪندا آهيون:

شين جي وچ ۾ لاڳاپا والدين ادارن جي خاصيتن ۾ محفوظ نه آهن، پر هڪ الڳ قسم جي اعتراض آهن.

В ڊيٽا والٽ اهڙي ڳنڍڻ واري ٽيبل کي سڏيو ويندو آهي لنڪ، ۽ ۾ اينڪر ماڊل - ڳنڍ. پهرين نظر ۾، اهي بلڪل ساڳيا آهن، جيتوڻيڪ انهن جي اختلافن جي نالي سان ختم نه ڪندا آهن (جنهن تي هيٺ بحث ڪيو ويندو). ٻنهي فن تعمير ۾، لنڪ ٽيبل ڳنڍي سگھن ٿا ادارن جو ڪو به تعداد (ضروري ناهي 2).

هي بيڪار، پهرين نظر ۾، تبديلين لاء اهم لچڪ فراهم ڪري ٿو. اهڙي ڍانچي نه رڳو موجوده لنڪس جي بنيادي حيثيت ۾ تبديلين لاءِ برداشت ڪري ٿي، پر نوان شامل ڪرڻ لاءِ پڻ - جيڪڏهن هاڻي چيڪ پوزيشن ۾ پڻ ڪيشيئر سان هڪ ڪڙي آهي جنهن ان کي ٽوڙيو، اهڙي لنڪ جي ظاهر ٿيڻ آسان ٿي ويندي. ڪنهن به موجود شيون ۽ عمل کي متاثر ڪرڻ کان سواءِ موجوده جدولن تي اضافو ٿيو.

Agile DWH ڊيزائن جي طريقن جو جائزو

2. ڊيٽا جي نقل

ٻيو مسئلو لچڪدار فن تعمير ذريعي حل ڪيو ويو آهي گهٽ واضح آهي ۽ پهرين جڳهه ۾ موروثي آهي. SCD2 قسم جي ماپ (ٻئي قسم جي دير سان تبديل ٿيندڙ طول و عرض)، جيتوڻيڪ نه رڳو اهي.

هڪ کلاسک گودام ۾، هڪ طول و عرض عام طور تي هڪ جدول آهي جنهن ۾ هڪ سروگيٽ ڪي (PK جي طور تي) ۽ ڪاروباري ڪنجين جو هڪ سيٽ ۽ الڳ ڪالمن ۾ خاصيتون شامل آهن.

Agile DWH ڊيزائن جي طريقن جو جائزو

جيڪڏهن هڪ طول و عرض ورزننگ کي سپورٽ ڪري ٿو، ورزن جي صحيحيت جون حدون فيلڊ جي معياري سيٽ ۾ شامل ڪيون وينديون آهن، ۽ ذخيري ۾ ڪيترائي نسخا ظاهر ٿيندا آهن هڪ قطار لاءِ ماخذ ۾ (هڪ نسخي جي خاصيتن ۾ هر تبديلي لاءِ).

جيڪڏهن هڪ طول و عرض گهٽ ۾ گهٽ هڪ بار بار تبديل ٿيندڙ نسخي واري خاصيت تي مشتمل آهي، اهڙي طول و عرض جي نسخن جو تعداد شاندار هوندو (جيتوڻيڪ باقي خاصيتون ورجن ٿيل نه آهن يا ڪڏهن به تبديل نه ٿيون)، ۽ جيڪڏهن اهڙا ڪيترائي خاصيتون آهن، نسخن جو تعداد ٿي سگهي ٿو. انهن جي تعداد کان تيزيء سان وڌو. هي طول و عرض هڪ اهم مقدار ۾ ڊسڪ اسپيس وٺي سگھي ٿو، جيتوڻيڪ اهو ذخيرو ڪيل ڊيٽا جو گهڻو حصو صرف ٻين قطارن مان ناقابل قابل انتساب قدرن جو نقل آهي.

Agile DWH ڊيزائن جي طريقن جو جائزو

ساڳئي وقت، اهو پڻ اڪثر استعمال ٿيندو آهي غير معمولي ڪرڻ - ڪجھ خاصيتون عمدي طور ھڪڙي قدر جي طور تي محفوظ ڪيون ويون آھن، ۽ ھڪڙي حوالن جي ڪتاب يا ٻئي طول و عرض جي لنڪ جي طور تي نه. اهو طريقو ڊيٽا جي رسائي کي تيز ڪري ٿو، شامل ٿيڻ جو تعداد گھٽائي ٿو جڏهن طول و عرض تائين رسائي.

عام طور تي هن طرف وٺي ٿو ساڳئي معلومات ڪيترن ئي هنڌن تي گڏ ٿيل آهي. مثال طور، رهائش جي علائقي ۽ ڪلائنٽ جي درجي بابت معلومات گڏ ڪري سگهجي ٿي "ڪلائنٽ" جي طول و عرض ۽ "خريداري"، "ڊليوري" ۽ "ڪال سينٽر ڪال" حقيقتن ۾، گڏوگڏ "ڪلائنٽ - ڪلائنٽ مئنيجر" ۾. ”لنڪ ٽيبل.

عام طور تي، مٿي بيان ڪيل باقاعده (غير ورزن ٿيل) طول و عرض تي لاڳو ٿئي ٿو، پر نسخن وارن ۾ اهي مختلف پيماني تي هوندا: ڪنهن شئي جي نئين نسخي جي ظاهر ٿيڻ (خاص طور تي پوئتي موٽڻ ۾) نه رڳو سڀني لاڳاپيلن جي تازه ڪاري ڏانهن ويندي آهي. جدول، پر لاڳاپيل شين جي نون نسخن جي ظاهر ٿيڻ لاءِ - جڏهن ٽيبل 1 کي ٽيبل 2 ٺاهڻ لاءِ استعمال ڪيو ويندو آهي، ۽ ٽيبل 2 کي ٽيبل 3 وغيره ٺاهڻ لاءِ استعمال ڪيو ويندو آهي. جيتوڻيڪ جدول 1 جي ھڪڙي خصوصيت جدول 3 جي تعمير ۾ شامل نه آھي (۽ ٻين ذريعن مان حاصل ڪيل جدول 2 جون ٻيون خاصيتون شامل آھن)، ھن تعمير کي ورجائڻ سان گھٽ ۾ گھٽ اوور ھيڊ ٿيندو، ۽ وڌ ۾ وڌ اضافي کان وڌيڪ. نسخن ۾ جدول 3. جنهن جو ان سان ڪو به واسطو نه آهي، ۽ زنجير هيٺ.

Agile DWH ڊيزائن جي طريقن جو جائزو

3. ٻيهر ڪم جي غير لڪير پيچيدگي

ساڳي ئي وقت، هر نئين اسٽور فرنٽ جي بنياد تي ٺاهيل جڳهن جو تعداد وڌائي ٿو جتي ڊيٽا "مختلف" ٿي سگهي ٿي جڏهن ETL ۾ تبديليون ڪيون وينديون آهن. اهو، موڙ ۾، هر ايندڙ نظر ثاني جي پيچيدگي (۽ مدت) ۾ اضافو ٿئي ٿو.

جيڪڏهن مٿي بيان ڪري ٿو سسٽم کي گهٽ ۾ گهٽ تبديل ٿيل ETL عملن سان، توهان اهڙي نموني ۾ رهي سگهو ٿا - توهان کي صرف پڪ ڪرڻ جي ضرورت آهي ته نئين ترميمن کي صحيح طور تي سڀني لاڳاپيل شين ۾ ٺاهيو ويو آهي. جيڪڏهن ترميمون اڪثر ٿينديون آهن، اتفاقي طور تي "غائب" ڪيترن ئي ڪنيڪشن جو امڪان گهڻو وڌي ٿو.

جيڪڏهن، اضافي طور تي، اسان اهو خيال رکون ٿا ته "نسخ ٿيل" ETL خاص طور تي "غير ورزن" جي ڀيٽ ۾ وڌيڪ پيچيده آهي، اهو غلطي کان بچڻ لاء ڪافي ڏکيو ٿي ويندو آهي جڏهن هن سڄي سهولت کي اڪثر اپڊيٽ ڪيو وڃي.

ڊيٽا والٽ ۽ اينڪر ماڊل ۾ شيون ۽ خاصيتون محفوظ ڪرڻ

لچڪدار آرڪيٽيڪچر جي مصنفن پاران تجويز ڪيل طريقي کي هيٺ ڏنل طريقي سان ترتيب ڏئي سگهجي ٿو:

ان کي الڳ ڪرڻ ضروري آهي ته ڪهڙيون تبديليون ساڳيون رهنديون آهن. اهو آهي، ذخيرو ڪنجين کان الڳ الڳ خاصيتون.

تنهن هوندي به، هڪ کي پريشان نه ڪرڻ گهرجي نسخو نه سان منسوب اڻ تبديل ٿيل: پھريون پنھنجي تبديلين جي تاريخ کي ذخيرو نٿو ڪري، پر تبديل ڪري سگھي ٿو (مثال طور، جڏھن ان پٽ جي غلطي کي درست ڪرڻ يا نئين ڊيٽا حاصل ڪرڻ)؛ ٻيو ڪڏهن به تبديل نه ٿيندو.

نقطي نظر ۾ اختلاف آهي ته ڊيٽا والٽ ۽ اينڪر ماڊل ۾ ڪهڙي شيءِ کي غير تبديل ڪري سگهجي ٿو.

هڪ معماري نقطي نظر کان ڊيٽا والٽ، غير تبديل ٿيل سمجهي سگهجي ٿو چابين جو سڄو سيٽ - قدرتي (تنظيم جو TIN، ذريعو سسٽم ۾ پراڊڪٽ ڪوڊ، وغيره) ۽ سروگيٽ. انهي صورت ۾، باقي خاصيتون گروپن ۾ ورهائي سگھجن ٿيون ذريعن ۽ / يا تبديلين جي تعدد ۽ هر گروپ لاءِ الڳ ٽيبل رکو نسخن جي هڪ آزاد سيٽ سان.

پردي ۾ اينڪر ماڊل غير تبديل ٿيل سمجهيو صرف سروگيٽ چاٻي جوهر. باقي سڀ ڪجهه (جنهن ۾ قدرتي ڪنجيون به شامل آهن) صرف ان جي خاصيتن جي هڪ خاص صورت آهي. جنهن ۾ سڀئي خاصيتون ڊفالٽ طور هڪ ٻئي کان آزاد آهن، تنهنڪري هر هڪ خاصيت لاءِ a الڳ ٽيبل.

В ڊيٽا والٽ entity keys تي مشتمل جدول سڏجن ٿا حبامي. حب هميشه فيلڊن جو هڪ مقرر سيٽ تي مشتمل آهي:

  • Natural Entity Keys
  • سروگيٽ چاٻي
  • ذريعو ڏانهن لنڪ
  • شامل ڪرڻ جو وقت رڪارڊ ڪريو

حب ۾ پوسٽون ڪڏهن به تبديل نه ڪريو ۽ نه ئي ڪو نسخو. خارجي طور تي، مرڪز ID-map ٽائيپ جدولن سان تمام ملندڙ جلندڙ آھن جيڪي ڪجھ سسٽم ۾ استعمال ڪيا ويندا آھن سروگيٽس پيدا ڪرڻ لاءِ، البت، اھو تجويز ڪيو ويو آھي ته ھش استعمال ڪرڻ لاءِ ڪاروباري ڪنجين جي ھڪڙي سيٽ مان جيئن ڊيٽا والٽ ۾ سروگيٽس. اهو طريقو آسان بڻائي ٿو لوڊ ڪرڻ لاڳاپن ۽ ذريعن کان خاصيتون (هڪ سروگيٽ حاصل ڪرڻ لاءِ حب ۾ شامل ٿيڻ جي ضرورت ناهي، صرف هڪ قدرتي چيڪ جي هيش کي ڳڻيو)، پر ٻين مسئلن جو سبب بڻجي سگهي ٿو (لاڳاپيل، مثال طور، ٽڪرن، ڪيس ۽ غير پرنٽ سان. اکرن ۾ string keys، وغيره .p.)، تنهنڪري اهو عام طور تي قبول نه ڪيو ويو آهي.

ٻيون سڀئي ادارا خاصيتون خاص جدولن ۾ ذخيرو ٿيل آهن جن کي سڏيو ويندو آهي سيٽلائيٽ. ھڪڙي ھب ۾ ڪيترائي سيٽلائيٽ رکي سگھن ٿا جيڪي خاصيتون جا مختلف سيٽ محفوظ ڪن ٿا.

Agile DWH ڊيزائن جي طريقن جو جائزو

سيٽلائيٽ جي وچ ۾ خاصيتن جي ورڇ اصول جي مطابق ٿيندي آهي گڏيل تبديلي - ھڪڙي سيٽلائيٽ ۾ غير ورزن ٿيل خاصيتون محفوظ ڪري سگھجن ٿيون (مثال طور، ھڪڙي فرد لاءِ ڄمڻ جي تاريخ ۽ SNILS)، ٻئي ۾ - گھٽ ۾ گھٽ تبديل ٿيل ورزن وارا (مثال طور، آخري نالو ۽ پاسپورٽ نمبر)، ٽئين ۾ - بار بار تبديل ٿيندڙ. (مثال طور، ترسيل پتو، درجي، آخري آرڊر جي تاريخ، وغيره). انهي صورت ۾، ورزننگ انفرادي سيٽلائيٽ جي سطح تي ڪيو ويندو آهي، ۽ مجموعي طور تي ادارو نه، تنهن ڪري اها صلاح ڏني وئي آهي ته خاصيتون ورهايو وڃي ته جيئن هڪ سيٽلائيٽ اندر نسخن جو ٽڪرا گهٽ ۾ گهٽ هجي (جيڪو ذخيرو ٿيل نسخن جو ڪل تعداد گھٽائي ٿو. ).

انهي سان گڏ، ڊيٽا لوڊ ڪرڻ جي عمل کي بهتر ڪرڻ لاء، مختلف ذريعن مان حاصل ڪيل خاصيتون اڪثر ڪري انفرادي سيٽلائيٽ ۾ شامل آهن.

سيٽلائيٽس ذريعي حب سان رابطو ڪن ٿا پرڏيهي چاٻي (جيڪو 1- کان- گھڻن ڪارڊينالٽي سان ملندو آهي). هن جو مطلب آهي ته ڪيترن ئي وصف قدر (مثال طور، هڪ ڪلائنٽ لاء ڪيترن ئي رابطي جا فون نمبر) هن "ڊفالٽ" فن تعمير جي حمايت ڪئي آهي.

В اينڪر ماڊل ٽيبل جيڪي اسٽور ڪنجي کي سڏيندا آهن اينڪرز. ۽ اھي رکندا آھن:

  • صرف سروگيٽ چابيون
  • ذريعو ڏانهن لنڪ
  • شامل ڪرڻ جو وقت رڪارڊ ڪريو

لنگر ماڊل جي نقطي نظر کان قدرتي ڪنجيون سمجهيا وڃن ٿا عام خاصيتون. ھي اختيار سمجھڻ ۾ وڌيڪ مشڪل لڳي سگھي ٿو، پر اھو اعتراض کي سڃاڻڻ لاءِ وڌيڪ گنجائش ڏئي ٿو.

Agile DWH ڊيزائن جي طريقن جو جائزو

مثال طور، جيڪڏهن ساڳئي اداري بابت ڊيٽا مختلف سسٽم مان اچي سگهي ٿي، جن مان هر هڪ پنهنجي قدرتي ڪنجي استعمال ڪري ٿو. ڊيٽا والٽ ۾، اهو ڪيترن ئي حبس (هڪ في ماخذ + هڪ متحد ماسٽر ورزن) جي بدران پيچيده جوڙجڪ ڏانهن وٺي سگھي ٿو، جڏهن ته اينڪر ماڊل ۾، هر ماخذ جي قدرتي ڪنجي پنهنجي خاصيت ۾ اچي ٿي ۽ استعمال ڪري سگهجي ٿي جڏهن آزاد طور تي لوڊ ڪندي. ٻيا سڀ.

پر هتي پڻ هڪ بيوقوف نقطو آهي: جيڪڏهن مختلف سسٽم مان خاصيتون هڪ اداري ۾ گڏ ڪيون وينديون آهن، گهڻو ڪري اتي ڪجهه آهن. ”گلڻ“ جا ضابطا، جنهن جي ذريعي سسٽم کي اهو سمجهڻ گهرجي ته مختلف ذريعن کان رڪارڊ اداري جي هڪ مثال سان ملن ٿا.

В ڊيٽا والٽ اهي ضابطا اڪثر ڪري ٺهڻ جو تعين ڪندا ماسٽر اداري جو ”سروگيٽ حب“ ۽ ڪنهن به طريقي سان حبس تي اثر انداز نه ٿئي جيڪي قدرتي ماخذ جي ڪنجين ۽ انهن جي اصل خاصيتن کي محفوظ ڪن. جيڪڏهن ڪنهن نقطي تي ضابطا ضابطا تبديل ٿي وڃن ٿا (يا اهي خاصيتون جن جي ذريعي ان کي انجام ڏنو ويو آهي اپڊيٽ ڪيو ويو آهي)، اهو ڪافي هوندو ته سرويگيٽ هبس کي فارميٽ ڪرڻ لاءِ.

В اينڪر ماڊل اهڙي اداري کي گهڻو ڪري ذخيرو ڪيو ويندو واحد لنگر. هن جو مطلب اهو آهي ته سڀئي خاصيتون، ڪابه پرواهه ناهي ته اهي ڪهڙي به ذريعن مان اچن ٿيون، ساڳئي سروگيٽ سان پابند هونديون. غلط طور تي ضم ٿيل رڪارڊ کي الڳ ڪرڻ ۽ عام طور تي، اهڙي نظام ۾ ضم ٿيڻ جي مطابقت جي نگراني ڪرڻ تمام گهڻو ڏکيو ٿي سگهي ٿو، خاص طور تي جيڪڏهن ضابطا ڪافي پيچيده آهن ۽ بار بار تبديل ٿي رهيا آهن، ۽ ساڳئي خاصيت مختلف ذريعن کان حاصل ڪري سگهجي ٿي (جيتوڻيڪ اهو ضرور آهي. ممڪن آهي، ڇاڪاڻ ته هر هڪ خاصيت وارو نسخو ان جي ماخذ جي لنڪ برقرار رکي ٿو).

ڪنهن به صورت ۾، جيڪڏهن توهان جو سسٽم ڪارڪردگي کي لاڳو ڪرڻ گهرجي نقل، ضم رڪارڊ ۽ ٻيا MDM عناصر, ان کي agile طريقن ۾ قدرتي ڪنجيون محفوظ ڪرڻ جي پهلو تي خاص ڌيان ڏيڻ جي قابل آهي. اهو امڪان آهي ته بلڪير ڊيٽا والٽ ڊيزائن اوچتو ضم جي غلطين جي لحاظ کان محفوظ ٿي ويندي.

اينڪر ماڊل پڻ مهيا ڪري ٿو هڪ اضافي اعتراض جو قسم سڏيو ويندو آهي ڳٽ اهو بنيادي طور تي خاص آهي لنگر جو خراب قسم، جنهن ۾ صرف هڪ خاصيت شامل ٿي سگهي ٿي. نوڊس کي فليٽ ڊاريڪٽري کي ذخيرو ڪرڻ لاءِ استعمال ڪيو وڃي ٿو (مثال طور، جنس، ازدواجي حيثيت، ڪسٽمر سروس ڪيٽيگري، وغيره). لنگر جي برعڪس ، ڳٽ ڪو به لاڳاپيل خصوصيت جدول نه آهي, ۽ ان جو واحد وصف (نالو) هميشه هڪ ئي ٽيبل ۾ ڪنجي سان گڏ هوندو آهي. نوڊس اينڪرز سان ٽائي جدولن (ٽائي) سان ڳنڍيل آهن، ساڳيء طرح اينڪرز هڪ ٻئي سان ڳنڍيل آهن.

Nodes جي استعمال جي باري ۾ ڪو به واضح راء نه آهي. مثال طور، نيڪولي گولوف، جيڪو فعال طور تي روس ۾ اينڪر ماڊل جي استعمال کي فروغ ڏئي ٿو، يقين رکي ٿو (غير معقول طور تي) نه ته ڪنهن به حوالي سان ڪتاب لاءِ اهو يقين سان چئي سگهجي ٿو ته اهو ھميشہ جامد ۽ سنگل سطح وارو هوندو، تنهنڪري اهو بهتر آهي ته فوري طور تي سڀني شين لاء مڪمل اينڪر استعمال ڪيو وڃي.

ڊيٽا والٽ ۽ اينڪر ماڊل جي وچ ۾ هڪ ٻيو اهم فرق دستياب آهي ڪنيڪشن جون خاصيتون:

В ڊيٽا والٽ ڪڙيون ساڳيون مڪمل شيون آهن جيئن حب، ۽ ٿي سگهن ٿيون ذاتي خاصيتون. جي اينڪر ماڊل لنڪس صرف اينڪرز ۽ ڳنڍڻ لاء استعمال ڪيا ويا آهن پنهنجون خاصيتون نه ٿي سگھيون. اهو فرق خاص طور تي مختلف ماڊلنگ جي طريقن ۾ نتيجو آهي حقيقتون، جنهن تي وڌيڪ بحث ڪيو ويندو.

حقيقت جي اسٽوريج

ان کان اڳ، اسان خاص طور تي ماپ ماڊلنگ بابت ڳالهايو. حقيقتون ٿوريون واضح آهن.

В ڊيٽا والٽ حقيقتن کي محفوظ ڪرڻ لاءِ هڪ عام شئي آهي ڳنڍ، جن جي سيٽلائيٽ ۾ حقيقي اشارا شامل ڪيا ويا آهن.

اهو طريقو سمجهه ۾ اچي ٿو. اهو تجزيو ڪيل اشارن تائين آسان رسائي فراهم ڪري ٿو ۽ عام طور تي روايتي حقيقتن جي جدول سان ملندڙ جلندڙ آهي (صرف اشارا پاڻ ۾ نه، پر "پاڙيسري" ٽيبل ۾ محفوظ ڪيا ويندا آهن). پر اتي پڻ نقصان آهن: ماڊل جي عام تبديلين مان هڪ - حقيقت جي توسيع - ضروري آهي ڳنڍڻ لاءِ نئين پرڏيهي چيڪ شامل ڪرڻ. ۽ اهو، موڙ ۾، ماڊليت کي "بريڪ" ڪري ٿو ۽ ممڪن طور تي ٻين شين ۾ ترميمن جي ضرورت جو سبب بڻائيندو آهي.

В اينڪر ماڊل هڪ ڪنيڪشن کي پنهنجون خاصيتون نه هونديون آهن، تنهنڪري اهو طريقو ڪم نه ڪندو - بلڪل سڀئي خاصيتون ۽ اشارا هڪ مخصوص اينڪر سان ڳنڍيل هوندا. ان مان نتيجو سادو آهي - هر حقيقت کي پڻ پنهنجي لنگر جي ضرورت آهي. ڪجھ لاءِ جيڪي اسان کي حقيقتن جي طور تي سمجھڻ لاءِ استعمال ڪيا ويا آھن، اھو قدرتي نظر اچي سگھي ٿو - مثال طور، ھڪڙي خريداري جي حقيقت کي مڪمل طور تي گھٽائي سگھجي ٿو اعتراض "آرڊر" يا "رسيد"، ھڪڙي سائيٽ تي سيشن ڏانھن وڃڻ، وغيره. پر اتي پڻ حقيقتون آهن جن لاء اهو آسان ناهي ته اهڙي قدرتي "ڪيريئر اعتراض" ڳولڻ لاء - مثال طور، هر ڏينهن جي شروعات ۾ گودامن ۾ سامان جي باقي رهي.

ان جي مطابق، اينڪر ماڊل ۾ حقيقت جي ڪيئي کي وڌائڻ دوران ماڊليت سان مسئلا پيدا نه ٿيندا آهن (اها ڪافي آهي ته صرف لاڳاپيل اينڪر سان هڪ نئون تعلق شامل ڪرڻ لاء)، پر حقيقتن کي ظاهر ڪرڻ لاء ماڊل ڊزائين ڪرڻ گهٽ غير واضح آهي؛ "مصنوعي" اينڪرز ظاهر ٿي سگهن ٿيون. جيڪو ڪاروبار اعتراض ماڊل کي غير واضح انداز ۾ ڏيکاري ٿو.

ڪيئن لچڪدار حاصل آهي

ٻنهي صورتن ۾ نتيجي جي تعمير تي مشتمل آهي خاص طور تي وڌيڪ ٽيبلروايتي ماپ جي ڀيٽ ۾. پر اهو وٺي سگھي ٿو خاص طور تي گهٽ ڊسڪ اسپيس ورزن ٿيل خاصيتن جي ساڳي سيٽ سان روايتي طول و عرض. قدرتي طور تي، هتي ڪو جادو ناهي - اهو سڀ ڪجهه عام ڪرڻ بابت آهي. سيٽلائيٽس (ڊيٽا والٽ ۾) يا انفرادي جدولن (اينڪر ماڊل) ۾ خاصيتون ورهائڻ سان، اسان گھٽائيون ٿا (يا مڪمل طور تي ختم) ڪجھ خاصيتن جي قدرن جو نقل ڪرڻ جڏھن ٻين کي تبديل ڪرڻ.

لاء ڊيٽا والٽ کٽڻ جو دارومدار سيٽلائيٽ جي وچ ۾ خاصيتن جي ورڇ تي هوندو، ۽ لاءِ اينڪر ماڊل - تقريبن سڌي طرح متناسب آهي نسخن جي سراسري تعداد جي في ماپ اعتراض جي.

جڏهن ته، خلائي بچت هڪ اهم آهي، پر بنيادي نه، خاصيتن کي الڳ رکڻ جو فائدو. لاڳاپن جي الڳ اسٽوريج سان گڏ، هي طريقو اسٽور ٺاهي ٿو ماڊلر ڊيزائن. هن جو مطلب آهي ته اهڙي نموني ۾ ٻنهي انفرادي صفات ۽ سڄي نئين موضوع جي علائقن کي شامل ڪرڻ جهڙو آهي مٿاڇري شيون تبديل ڪرڻ کان سواءِ موجود شين جي هڪ سيٽ مٿان. ۽ اھو اھو آھي جيڪو بيان ڪيل طريقن کي لچڪدار بڻائي ٿو.

اهو پڻ ٽڪرا جي پيداوار کان وڏي پئماني تي پيداوار جي منتقلي وانگر آهي - جيڪڏهن روايتي انداز ۾ ماڊل جي هر جدول منفرد آهي ۽ خاص ڌيان جي ضرورت آهي، پوء لچڪدار طريقن ۾ اهو اڳ ۾ ئي معياري "حصن" جو هڪ سيٽ آهي. هڪ پاسي، وڌيڪ جدول آهن، ۽ ڊيٽا کي لوڊ ڪرڻ ۽ ٻيهر حاصل ڪرڻ جي عمل کي وڌيڪ پيچيده ڏسڻ گهرجي. ٻئي طرف، اهي بڻجي ويندا آهن عام. جنهن جو مطلب آهي ته ٿي سگهي ٿو خودڪار ۽ ميٽا ڊيٽا هلائيندڙ. سوال "اسان ان کي ڪيئن رکون ٿا؟"، جنهن جو جواب بهتر بڻائڻ تي ڪم جو هڪ اهم حصو وٺي سگهي ٿو، هاڻي صرف ان جي قابل ناهي (انهي سان گڏ ڪم ڪندڙ عملن تي ماڊل کي تبديل ڪرڻ جي اثر بابت سوال. ).

هن جو مطلب اهو ناهي ته اهڙي سسٽم ۾ تجزيه نگارن جي ضرورت ناهي - ڪنهن کي اڃا تائين ڪم ڪرڻو پوندو آهي شين جي سيٽ ذريعي صفات سان ۽ اهو معلوم ڪرڻو آهي ته ڪٿي ۽ ڪيئن لوڊ ڪجي. پر ڪم جي مقدار، گڏو گڏ هڪ غلطي جي امڪان ۽ قيمت، خاص طور تي گهٽجي ويا آهن. ٻئي تجزياتي اسٽيج تي ۽ اي ٽي ايل جي ترقي جي دوران، جيڪو هڪ اهم حصو ۾ ميٽاداٽا کي تبديل ڪرڻ لاء گھٽائي سگهجي ٿو.

اونداھون رخ

مٿين سڀني ٻنهي طريقن کي حقيقت ۾ لچڪدار، ٽيڪنالاجي طور تي ترقي يافته ۽ ٻيهر بهتري لاء مناسب بڻائي ٿو. يقينن، اتي پڻ "عطر ۾ بيرل" آهي، جنهن کي مان سمجهان ٿو ته توهان اڳ ۾ ئي اندازو لڳائي سگهو ٿا.

ڊيٽا جي خراب ٿيڻ، جيڪا لچڪدار آرڪيٽيڪچر جي ماڊليت کي هيٺ رکي ٿي، جدولن جي تعداد ۾ اضافو ٿئي ٿي ۽، مطابق، مٿي شامل ٿيڻ لاءِ جڏهن نمونو وٺڻ. صرف هڪ طول و عرض جي سڀني خاصيتن کي حاصل ڪرڻ لاء، هڪ کلاسک اسٽور ۾ هڪ چونڊيو ڪافي آهي، پر هڪ لچڪدار فن تعمير کي شامل ٿيڻ جي مڪمل سيريز جي ضرورت هوندي. ان کان علاوه، جيڪڏهن رپورٽن لاء اهي سڀئي شامل ٿيڻ اڳ ۾ ئي لکي سگهجن ٿيون، پوء تجزيه نگار جيڪي هٿ سان SQL لکڻ جا عادي آهن انهن کي ٻيڻو نقصان ٿيندو.

ڪجھ حقيقتون آھن جيڪي ھن صورتحال کي آسان بڻائين ٿيون:

جڏهن وڏي طول و عرض سان ڪم ڪري رهيا آهن، ان جا سڀئي خاصيتون تقريبا ڪڏهن به استعمال نه ٿيندا آهن. هن جو مطلب اهو آهي ته ٿي سگهي ٿو ٿورڙا شامل ٿيڻ جي ڀيٽ ۾ اهو لڳي ٿو ماڊل تي پهرين نظر ۾. ڊيٽا والٽ پڻ حساب ۾ وٺي سگھي ٿو شيئرنگ جي متوقع تعدد کي جڏهن سيٽلائيٽ کي منسوب ڪرڻ وقت. ساڳئي وقت، حب يا اينڪرز پاڻ کي بنيادي طور تي لوڊ ڪرڻ واري مرحلي ۾ سروگيٽس ٺاهڻ ۽ نقشي ڪرڻ لاءِ گهربل هوندا آهن ۽ تمام گهٽ سوالن ۾ استعمال ٿيندا آهن (اهو خاص طور تي اينڪرز لاءِ صحيح آهي).

سڀ شامل آهن ڪنجي ذريعي. اضافي طور تي، ڊيٽا کي محفوظ ڪرڻ جو هڪ وڌيڪ "ڪمپريڊ" طريقو اسڪيننگ ٽيبل جي اوور هيڊ کي گھٽائي ٿو جتي ان جي ضرورت آهي (مثال طور، جڏهن خاصيت جي قيمت سان فلٽر ڪرڻ). اهو حقيقت ڏانهن وٺي سگھي ٿو ته هڪ عام ڊيٽابيس مان نمونن جو هڪ گروپ سان گڏ هڪ ڳري طول و عرض اسڪين ڪرڻ کان به وڌيڪ تيز هوندو هر قطار ۾ ڪيترن ئي نسخن سان.

مثال طور، هتي ۾ هي مضمون ۾ لنگر ماڊل جي ڪارڪردگي جو هڪ تفصيلي تقابلي امتحان هڪ ٽيبل مان نموني سان شامل آهي.

گهڻو ڪري انجڻ تي دارومدار. گھڻن جديد پليٽ فارمن ۾ اندروني شامل ٿيڻ جي اصلاح واري ميڪانيزم آھي. مثال طور، MS SQL ۽ Oracle "skip" ڪري سگهن ٿا جدولن ۾ شامل ٿيڻ جي صورت ۾ انهن جي ڊيٽا ڪٿي به استعمال نه ڪئي وئي آهي سواءِ ٻين جوائن جي ۽ ۽ اثر انداز نه ٿئي فائنل چونڊ (ٽيبل / شامل ٿيڻ جي خاتمي)، ۽ MPP ورٽيڪا Avito کان ساٿين جو تجربو، اينڪر ماڊل لاءِ هڪ بهترين انجڻ ثابت ٿيو آهي، سوال جي منصوبي جي ڪجهه دستي اصلاح ڏني وئي آهي. ٻئي طرف، اينڪر ماڊل کي محفوظ ڪرڻ، مثال طور، ڪلڪ هائوس تي، جنهن ۾ شامل ٿيڻ جي حمايت محدود آهي، اڃا تائين تمام سٺو خيال نظر نٿو اچي.

ان کان سواء، ٻنهي فن تعمير لاء موجود آهن خاص حرڪتون, ڊيٽا تائين رسائي آسان بڻائي ٿي (ٻئي سوال جي ڪارڪردگي جي نقطي نظر کان ۽ آخري استعمال ڪندڙن لاء). مثال طور، پوائنٽ-۾-وقت جدول ڊيٽا والٽ ۾ يا خاص ٽيبل افعال اينڪر ماڊل ۾.

ڪل

سمجھي لچڪدار فن تعمير جو بنيادي بنياد انھن جي "ڊزائن" جي ماڊليت آھي.

اها ملڪيت آهي جيڪا اجازت ڏئي ٿي:

  • ميٽا ڊيٽا جي ترتيب سان لاڳاپيل ڪجهه ابتدائي تياري کان پوءِ ۽ بنيادي ETL الگورتھم لکڻ، جلدي مهيا ڪريو گراهڪ کي پهريون نتيجو سان صرف چند ذريعن جي شين مان ڊيٽا تي مشتمل ڪجهه رپورٽن جي صورت ۾. اهو ضروري ناهي ته مڪمل طور تي سوچڻ لاء (جيتوڻيڪ مٿين سطح تي) سڄي اعتراض ماڊل.
  • ھڪڙو ڊيٽا ماڊل ڪم ڪرڻ شروع ڪري سگھي ٿو (۽ مفيد ٿي سگھي ٿو) صرف 2-3 شين سان، ۽ پوء آهستي آهستي وڌڻ (اينڪر ماڊل نيڪولائي جي حوالي سان لا appliedو mycelium سان سٺو مقابلو).
  • گهڻيون واڌايون، بشمول موضوع واري علائقي کي وڌائڻ ۽ نوان ذريعا شامل ڪرڻ موجوده ڪارڪردگي تي اثر انداز نه ڪندو آهي ۽ ڪنهن به شيء کي ٽوڙڻ جو خطرو ناهي جيڪو اڳ ۾ ئي ڪم ڪري رهيو آهي.
  • معياري عناصر ۾ ٺهڪندڙ ڪرڻ جي مهرباني، اهڙين سسٽم ۾ اي ٽي ايل عمل هڪجهڙا نظر اچن ٿا، انهن جي لکڻين پاڻ کي الگورٿمائيزيشن ڏانهن قرض ڏئي ٿو ۽ آخرڪار، خودڪار.

هن لچڪدار جي قيمت آهي ڪارڪردگي. هن جو مطلب اهو ناهي ته اهڙي نموني تي قابل قبول ڪارڪردگي حاصل ڪرڻ ناممڪن آهي. گهڻو ڪري نه، توهان کي صرف ضرورت آهي وڌيڪ ڪوشش ۽ توجه جي تفصيل تي ڌيان حاصل ڪرڻ لاءِ جيڪي توهان چاهيو ٿا.

ايپس

ادارن جا قسم ڊيٽا والٽ

Agile DWH ڊيزائن جي طريقن جو جائزو

ڊيٽا والٽ بابت وڌيڪ معلومات:
Dan Lystadt جي ويب سائيٽ
روسي ۾ ڊيٽا والٽ بابت سڀ
Habré تي ڊيٽا والٽ بابت

ادارن جا قسم اينڪر ماڊل

Agile DWH ڊيزائن جي طريقن جو جائزو

اينڪر ماڊل بابت وڌيڪ تفصيل:

اينڪر ماڊل جي ٺاهيندڙن جي ويب سائيٽ
Avito ۾ لنگر ماڊل لاڳو ڪرڻ جي تجربي بابت آرٽيڪل

خلاصو جدول عام خصوصيتن سان گڏ ۽ غور ڪيل طريقن جي اختلافن سان:

Agile DWH ڊيزائن جي طريقن جو جائزو

جو ذريعو: www.habr.com

تبصرو شامل ڪريو