Snowflake schema
কম্পিউটিং-এ, একটি স্নোফ্লেক স্কিমা হল একটি বহুমাত্রিক ডাটাবেসে টেবিলের একটি যৌক্তিক ব্যবস্থা যাতে সত্তা সম্পর্ক রেখাচিত্রটি একটি স্নোফ্লেক আকৃতির অনুরূপ হয়। স্নোফ্লেক স্কিমা কেন্দ্রীভূত ফ্যাক্ট টেবিল দ্বারা প্রতিনিধিত্ব করা হয় যা একাধিক মাত্রার সাথে সংযুক্ত। "স্নোফ্লেকিং" হল একটি স্টার স্কিমা-তে ডাইমেনশন টেবিলগুলিকে স্বাভাবিক করার একটি পদ্ধতি। যখন এটি সমস্ত মাত্রার টেবিলের সাথে সম্পূর্ণরূপে স্বাভাবিক করা হয়, তখন ফলস্বরূপ কাঠামোটি মাঝখানে ফ্যাক্ট টেবিলের সাথে একটি স্নোফ্লেকের অনুরূপ হয়। স্নোফ্লেকিংয়ের পিছনে নীতিটি হল কম কার্ডিনালিটি বৈশিষ্ট্যগুলি সরিয়ে এবং পৃথক টেবিল গঠন করে মাত্রার টেবিলগুলির স্বাভাবিককরণ। স্নোফ্লেক স্কিমা স্টার স্কিমার অনুরূপ। যাইহোক, স্নোফ্লেক স্কিমে, মাত্রা একাধিক সম্পর্কিত টেবিলে স্বাভাবিক করা হয়, যেখানে স্টার স্কিমার মাত্রা একটি একক টেবিল দ্বারা প্রতিনিধিত্ব করা প্রতিটি মাত্রার সাথে অস্বাভাবিক করা হয়। একটি জটিল তুষারময় আকৃতির আবির্ভাব ঘটে যখন একটি তুষারময় স্কিমার মাত্রা বিস্তৃত হয়, একাধিক স্তরের সম্পর্ক থাকে এবং শিশু টেবিলগুলিতে একাধিক প্যারেন্ট টেবিল থাকে ("রাস্তায় কাঁটাচামচ")। সাধারণ ব্যবহার স্টার এবং স্নোফ্লেক স্কিমা সাধারণত ডাইমেনশনাল ডেটা গুদাম এবং ডেটা মার্কে পাওয়া যায় যেখানে ডেটা ম্যানিপুলেশনের দক্ষতার চেয়ে ডেটা পুনরুদ্ধারের গতি বেশি গুরুত্বপূর্ণ। এইভাবে, এই স্কিমাগুলির টেবিলগুলি খুব বেশি স্বাভাবিক করা হয় না এবং প্রায়শই তৃতীয় স্বাভাবিক ফর্মের সংক্ষিপ্ত স্বাভাবিককরণের স্তরে ডিজাইন করা হয়। ডেটা নরমালাইজেশন এবং স্টোরেজ নরমালাইজেশন সাধারণত পুনরাবৃত্তিমূলক ডেটা গোষ্ঠীগুলিকে নতুন টেবিলে সরিয়ে অতিরিক্ততা (ডুপ্লিকেশন) এড়াতে ডেটা বিভক্ত করে। স্বাভাবিককরণ তাই একটি প্রদত্ত প্রশ্ন সম্পাদনের জন্য যোগ দিতে হবে এমন টেবিলের সংখ্যা বৃদ্ধি করে, তবে ডেটা ধরে রাখার জন্য প্রয়োজনীয় স্থান এবং ডেটা পরিবর্তন হলে এটি আপডেট করার প্রয়োজন এমন স্থানের সংখ্যা হ্রাস করে। স্থান সংরক্ষণের দৃষ্টিকোণ থেকে, ডাইমেনশনাল টেবিলগুলি সাধারণত ফ্যাক্ট টেবিলের তুলনায় ছোট হয়। এটি প্রায়শই স্নোফ্লেক স্কিমার তুলনায় স্টার স্কিমার সম্ভাব্য স্টোরেজ-স্পেস সুবিধাগুলিকে অস্বীকার করে। উদাহরণস্বরূপঃ 220টি দেশের 300টি দোকানে এক মিলিয়ন বিক্রয় লেনদেনের ফলে একটি স্টার স্কিমে (তথ্য সারণিতে 1,000,000 রেকর্ড এবং মাত্রিক সারণিতে 300 রেকর্ড যেখানে প্রতিটি দেশের প্রতিটি দোকানের জন্য স্পষ্টভাবে তালিকাভুক্ত করা হবে) 1,000,300 রেকর্ড তৈরি হবে। কান্ট্রি টেবিলের উল্লেখ করা কান্ট্রি কী সহ আরও স্বাভাবিক স্নোফ্লেক স্কিমা একই 1,000,000 রেকর্ড ফ্যাক্ট টেবিল, 220 রেকর্ড সহ একটি কান্ট্রি টেবিলের উল্লেখ সহ একটি 300 রেকর্ড শপ টেবিল নিয়ে গঠিত হবে। এই ক্ষেত্রে, স্টার স্কিমা, যদিও আরও অসামঞ্জস্যপূর্ণ, শুধুমাত্র [1,000,000 + 300+220] এর পরিবর্তে একটি (নগণ্য) ~0.02% (= [1,000,000 + 300] দ্বারা সংখ্যা বা রেকর্ডগুলি হ্রাস করবে) কিছু ডাটাবেস ডেভেলপার তার উপরে নির্মিত ভিউ সহ একটি অন্তর্নিহিত স্নোফ্লেক স্কিমা তৈরি করে আপস করে যা একটি স্টার স্কিমা অনুকরণ করার জন্য প্রয়োজনীয় সংযোগগুলির অনেকগুলি সম্পাদন করে। এটি স্টার স্কিমা প্রদত্ত অনুসন্ধানের স্বাচ্ছন্দ্যের সাথে মাত্রাগুলির স্বাভাবিকীকরণের মাধ্যমে প্রাপ্ত সঞ্চয় সুবিধা প্রদান করে। ট্রেডঅফটি হল যে সার্ভারকে অন্তর্নিহিত সংযোগগুলি স্বয়ংক্রিয়ভাবে সম্পাদন করতে হবে যার ফলে প্রশ্ন করার সময় একটি পারফরম্যান্স হিট হতে পারে এবং সেইসাথে টেবিলে অতিরিক্ত সংযোগ হতে পারে যা নির্দিষ্ট প্রশ্নগুলি পূরণ করার জন্য প্রয়োজনীয় নাও হতে পারে। উপকারিতা স্নোফ্লেক স্কিমা স্টার স্কিমা লজিক্যাল মডেলের মতো একই পরিবারে রয়েছে। প্রকৃতপক্ষে, স্টার স্কিমাকে স্নোফ্লেক স্কিমার একটি বিশেষ কেস হিসাবে বিবেচনা করা হয়। স্নোফ্লেক স্কিমা নির্দিষ্ট পরিস্থিতিতে স্টার স্কিমার তুলনায় কিছু সুবিধা প্রদান করে, যার মধ্যে রয়েছেঃ কিছু ওএলএপি বহুমাত্রিক ডাটাবেস মডেলিং সরঞ্জাম স্নোফ্লেক স্কিমার জন্য অনুকূলিত। বৈশিষ্ট্যগুলিকে স্বাভাবিক করার ফলে সঞ্চয় সঞ্চয় হয়, ট্রেডঅফ উৎস অনুসন্ধানে অতিরিক্ত জটিলতা যুক্ত হয়। অসুবিধাগুলি স্নোফ্লেক স্কিমার প্রাথমিক অসুবিধা হল যে স্টার স্কিমার তুলনায় অ্যাট্রিবিউট নরমালাইজেশনের অতিরিক্ত মাত্রা সোর্স কোয়েরি জয়েনগুলিতে জটিলতা যোগ করে। সমতল একক টেবিলের মাত্রার বিপরীতে স্নোফ্লেক স্কিমা ব্যাপকভাবে সমালোচিত হয়েছে। তাদের লক্ষ্য স্বাভাবিক তথ্যের একটি দক্ষ এবং সংক্ষিপ্ত সঞ্চয় বলে মনে করা হয় তবে এই মাত্রায় প্রয়োজনীয় জয়েনগুলি ব্রাউজ করার সময় এটি দুর্বল পারফরম্যান্সের উল্লেখযোগ্য মূল্যে হয়। ব্রাউজিং সরঞ্জামগুলির মধ্যে আরও ভাল ক্যোয়ারি পারফরম্যান্সের কারণে এই অসুবিধাটি প্রথম স্বীকৃত হওয়ার পর থেকে বছরগুলিতে হ্রাস পেয়েছে। যখন একটি অত্যন্ত স্বাভাবিক লেনদেনের পরিকল্পনার সাথে তুলনা করা হয়, তখন স্নোফ্লেক পরিকল্পনার অসামঞ্জস্যতা স্বাভাবিক পরিকল্পনার দ্বারা প্রদত্ত তথ্য অখণ্ডতার নিশ্চয়তা সরিয়ে দেয়। স্নোফ্লেক স্কিমে ডেটা লোড অবশ্যই অত্যন্ত নিয়ন্ত্রিত হতে হবে এবং আপডেট এড়াতে এবং অসঙ্গতি সন্নিবেশ করতে পরিচালিত হতে হবে। উদাহরণ ডানদিকে দেখানো উদাহরণ স্কিমা হল স্টার স্কিমা নিবন্ধে প্রদত্ত স্টার স্কিমা উদাহরণের একটি তুষারাবৃত সংস্করণ। নিম্নলিখিত উদাহরণটি হল স্টার স্কিমা উদাহরণ কোডের সমতুল্য স্নোফ্লেক স্কিমা যা 1997 সালে ব্র্যান্ড এবং দেশ দ্বারা বিক্রি হওয়া মোট টেলিভিশন ইউনিটের সংখ্যা প্রদান করে। লক্ষ্য করুন যে স্নোফ্লেক স্কিমা প্রশ্নের জন্য স্টার স্কিমা সংস্করণের তুলনায় অনেক বেশি সংযোগের প্রয়োজন হয় যাতে একটি সহজ প্রশ্নও পূরণ করা যায়। এই উদাহরণে স্নোফ্লেক স্কিমা ব্যবহার করার সুবিধা হল যে সংরক্ষণের প্রয়োজনীয়তা কম কারণ স্নোফ্লেক স্কিমা মাত্রা থেকে অনেক ডুপ্লিকেট মানকে সরিয়ে দেয়। নির্বাচন করুন B.Brand, G.Country, এসইউএম (F.Units_Sold) ফ্যাক্ট _ সেলস এফ ইনার জয়েন ডিম _ ডেট ডি অন F.Date_Id = ডি. আইড ইনার জয়েন ডিম _ স্টোর এস অন F.Store_Id = এস. আইড ইনার জয়েন ডিম _ জিওগ্রাফি জি অন S.Geography_Id = জি. আইড ইনার জয়েন ডিম _ প্রোডাক্ট পি অন F.Product_Id = পি. আইড ইনার জয়েন ডিম _ ব্র্যান্ড বি অন P.Brand_Id = বি. আইড ইনার জয়েন ডিম _ প্রোডাক্ট _ ক্যাটাগরি সি অন P.Product_Category_Id = সি. আইড যেখানে < মার্ক লেভেন এবং জর্জ লোইজো দ্বারা লেখা বিপরীত স্নোফ্লেক উদাহরণস্বরূপ এসকিউএল কোড সহ ডেটা গুদামজাতকরণ নিবন্ধগুলিতে যোগ দেয় অনলাইন বিশ্লেষণাত্মক প্রক্রিয়াকরণ