Snowflake schema
کمپیوٹنگ میں، سنوفلیک اسکیما کثیر جہتی ڈیٹا بیس میں میزیں کا ایک منطقی انتظام ہے جیسے کہ ہستی کے تعلقات کا خاکہ سنوفلیک کی شکل سے ملتا جلتا ہو۔ سنوفلیک اسکیما کی نمائندگی مرکزی فیکٹ ٹیبلز کے ذریعے کی جاتی ہے جو متعدد جہتوں سے جڑے ہوتے ہیں۔ "سنوفلیکنگ" اسٹار اسکیما میں طول و عرض کی میزوں کو معمول پر لانے کا ایک طریقہ ہے۔ جب اسے تمام طول و عرض کی میزوں کے ساتھ مکمل طور پر معمول پر لایا جاتا ہے، تو نتیجہ خیز ڈھانچہ ایک برف کے ٹکڑے سے ملتا جلتا ہے جس کے بیچ میں فیکٹ ٹیبل ہوتا ہے۔ سنوفلیکنگ کے پیچھے اصول کم کارڈینالیٹی صفات کو ہٹا کر اور علیحدہ میزیں بنا کر طول و عرض کی میزیں معمول پر لانا ہے۔ سنوفلیک اسکیما اسٹار اسکیما سے ملتا جلتا ہے۔ تاہم، سنوفلیک اسکیما میں، طول و عرض کو متعدد متعلقہ ٹیبلز میں معمول بنایا جاتا ہے، جبکہ اسٹار اسکیما کے طول و عرض کو ہر طول و عرض کے ساتھ غیر معمولی بنایا جاتا ہے جس کی نمائندگی ایک ہی ٹیبل کرتا ہے۔ ایک پیچیدہ برف کے ٹکڑوں کی شکل اس وقت ابھرتی ہے جب برف کے ٹکڑوں کے اسکیما کے طول و عرض وسیع ہوتے ہیں، جن میں متعدد سطح کے تعلقات ہوتے ہیں، اور چائلڈ ٹیبلز میں متعدد پیرنٹ ٹیبلز ہوتے ہیں ("سڑک میں کانٹے")۔ عام استعمال اسٹار اور سنوفلیک اسکیما عام طور پر جہتی ڈیٹا گوداموں اور ڈیٹا مارٹس میں پائے جاتے ہیں جہاں ڈیٹا کی بازیافت کی رفتار ڈیٹا ہیرا پھیری کی کارکردگی سے زیادہ اہم ہے۔ اس طرح، ان اسکیما میں موجود میزیں زیادہ عام نہیں ہوتیں، اور اکثر تیسری عام شکل سے کم معمول کی سطح پر ڈیزائن کی جاتی ہیں۔ ڈیٹا نارملائزیشن اور اسٹوریج نارملائزیشن ڈیٹا کے عام طور پر دہرائے جانے والے گروپوں کو نئی ٹیبلز میں منتقل کرکے بے کار پن (نقل) سے بچنے کے لیے ڈیٹا کو تقسیم کرتی ہے۔ اس لیے نارملائزیشن ان ٹیبلز کی تعداد میں اضافہ کرتی ہے جنہیں کسی دی گئی استفسار کو انجام دینے کے لیے شامل کرنے کی ضرورت ہوتی ہے، لیکن ڈیٹا کو رکھنے کے لیے درکار جگہ اور ان جگہوں کی تعداد کو کم کرتی ہے جہاں ڈیٹا تبدیل ہونے کی صورت میں اسے اپ ڈیٹ کرنے کی ضرورت ہوتی ہے۔ خلائی ذخیرہ کرنے کے نقطہ نظر سے، جہتی ٹیبلز عام طور پر فیکٹ ٹیبلز کے مقابلے میں چھوٹی ہوتی ہیں۔ یہ اکثر سنوفلیک اسکیما کے مقابلے میں اسٹار اسکیما کے ممکنہ اسٹوریج-اسپیس فوائد کو مسترد کرتا ہے۔ مثال: 220 ممالک میں 300 دکانوں میں دس لاکھ سیلز ٹرانزیکشنز کے نتیجے میں اسٹار اسکیما میں 1,000,300 ریکارڈ ہوں گے (فیکٹ ٹیبل میں 1,000,000 ریکارڈ اور جہتی ٹیبل میں 300 ریکارڈ جہاں ہر ملک کو اس ملک میں ہر دکان کے لیے واضح طور پر درج کیا جائے گا)۔ ملک کی میز کا حوالہ دیتے ہوئے ملک کی چابیاں کے ساتھ ایک زیادہ عام سنوفلیک اسکیما اسی 1,000,000 ریکارڈ فیکٹ ٹیبل پر مشتمل ہوگا، ایک 300 ریکارڈ شاپ ٹیبل جس میں 220 ریکارڈوں کے ساتھ ملک کی میز کے حوالے ہوں گے۔ اس صورت میں، اسٹار اسکیما، اگرچہ مزید غیر معمولی ہو گیا ہے، لیکن کچھ ڈیٹا بیس ڈویلپر [1,000,000 + 300+220] کے بجائے صرف ایک (نہ ہونے کے برابر) ~0.02% (= [1,000,000 + 300] کے ذریعے تعداد یا ریکارڈ کو کم کریں گے۔ کچھ ڈیٹا بیس ڈویلپرز اس کے اوپر بنائے گئے ویوز کے ساتھ ایک بنیادی سنوفلیک اسکیما بنا کر سمجھوتہ کرتے ہیں جو اسٹار اسکیما کی تقلید کے لیے بہت سے ضروری جوڑ انجام دیتے ہیں۔ یہ استفسار کی آسانی کے ساتھ طول و عرض کو معمول پر لانے کے ذریعے حاصل کردہ اسٹوریج کے فوائد فراہم کرتا ہے جو اسٹار اسکیما فراہم کرتا ہے۔ ٹریڈ آف یہ ہے کہ سرور کو بنیادی جوڑوں کو خود بخود انجام دینے کی ضرورت ہوتی ہے جس کے نتیجے میں استفسار کرتے وقت کارکردگی متاثر ہو سکتی ہے اور ساتھ ہی ٹیبلز میں اضافی جوڑیں جو کچھ سوالات کو پورا کرنے کے لیے ضروری نہیں ہو سکتی ہیں۔ فوائد سنوفلیک اسکیما اسی خاندان میں ہے جس میں اسٹار اسکیما منطقی ماڈل ہے۔ درحقیقت اسٹار اسکیما کو سنوفلیک اسکیما کا ایک خاص معاملہ سمجھا جاتا ہے۔ سنوفلیک اسکیما بعض حالات میں اسٹار اسکیما کے مقابلے میں کچھ فوائد فراہم کرتا ہے، بشمول: کچھ او ایل اے پی کثیر جہتی ڈیٹا بیس ماڈلنگ ٹولز سنوفلیک اسکیما کے لیے بہتر بنائے گئے ہیں۔ صفات کو معمول پر لانے کے نتیجے میں اسٹوریج کی بچت ہوتی ہے، ٹریڈ آف ماخذ استفسار میں اضافی پیچیدگی سے جوڑتا ہے۔ نقصانات سنوفلیک اسکیما کا بنیادی نقصان یہ ہے کہ ایٹریبیوٹ نارملائزیشن کی اضافی سطحیں اسٹار اسکیما کے مقابلے میں ماخذ استفسار میں پیچیدگی کا اضافہ کرتی ہیں۔ چپٹے سنگل ٹیبل طول و عرض کے برعکس سنوفلیک اسکیما کو شدید تنقید کا نشانہ بنایا گیا ہے۔ ان کا مقصد عام ڈیٹا کا ایک موثر اور کمپیکٹ اسٹوریج سمجھا جاتا ہے لیکن اس طول و عرض میں مطلوبہ جوڑ کو براؤز کرتے وقت یہ ناقص کارکردگی کی نمایاں قیمت پر ہوتا ہے۔ براؤزنگ ٹولز کے اندر استفسار کی بہتر کارکردگی کی وجہ سے یہ نقصان پہلی بار پہچانے جانے کے بعد کے سالوں میں کم ہو سکتا ہے۔ جب ایک انتہائی نارملائزڈ ٹرانزیکشنل اسکیما سے موازنہ کیا جاتا ہے، تو سنوفلیک اسکیما کی ڈی نارملائزیشن نارملائزڈ اسکیما کے ذریعہ فراہم کردہ ڈیٹا کی سالمیت کی یقین دہانی کو ہٹا دیتی ہے۔ سنوفلیک اسکیما میں ڈیٹا لوڈ کو انتہائی کنٹرول کیا جانا چاہیے اور اپ ڈیٹ سے بچنے اور بے ضابطگیوں کو داخل کرنے کے لیے منظم کیا جانا چاہیے۔ مثالیں دائیں طرف دکھایا گیا اسکیما اسٹار اسکیما مضمون میں فراہم کردہ اسٹار اسکیما مثال کا برف سے ڈھکا ہوا ورژن ہے۔ مندرجہ ذیل مثال استفسار اسٹار اسکیما مثال کوڈ کے مساوی سنوفلیک اسکیما ہے جو 1997 کے لیے برانڈ اور ملک کے لحاظ سے فروخت ہونے والے ٹیلی ویژن یونٹوں کی کل تعداد واپس کرتا ہے۔ نوٹ کریں کہ سنوفلیک اسکیما استفسار کو ایک سادہ استفسار کو پورا کرنے کے لیے اسٹار اسکیما ورژن کے مقابلے میں بہت زیادہ جوڑ کی ضرورت ہوتی ہے۔ اس مثال میں سنوفلیک اسکیما کو استعمال کرنے کا فائدہ یہ ہے کہ اسٹوریج کی ضروریات کم ہیں کیونکہ سنوفلیک اسکیما خود طول و عرض سے بہت سی ڈپلیکیٹ اقدار کو ختم کرتا ہے۔ منتخب کریں B.Brand، G.Country، ایس یو ایم (F.Units_Sold) فیکٹ _ سیلز F اندرونی جوائن ڈم _ ڈیٹ D آن F.Date_Id = D. ایڈ اندرونی جوائن ڈم _ اسٹور S آن F.Store_Id = S. ایڈ اندرونی جوائن ڈم _ جغرافیہ G آن S.Geography_Id = G. ایڈ اندرونی جوائن ڈم _ پروڈکٹ P آن F.Product_Id = P. ایڈ اندرونی جوائن ڈم _ برانڈ B آن P.Brand_Id = B. ایڈ اندرونی جوائن ڈم _ پروڈکٹ _ زمرہ C آن P.Product_Category_Id = C. مارک لیوین اور جارج لوئیزو کی طرف سے ریورس سنوفلیک ڈیٹا گودام کے مضامین میں شامل ہوتا ہے مثال کے طور پر ایس کیو ایل کوڈ آن لائن تجزیاتی پروسیسنگ