آشنایی با تفاوت های Schema Star و Snowflake Schema

مقدمه

سلام به همه پی وی لرنی های عزیز!
در این مقاله به آشنایی با تفاوت های Schema Star و Snowflake Schema می پردازیم.
به طور کلی Schema راهی برای توصیف منطقی کل پایگاه های داده یا انبارهای داده با استفاده از پایگاههای داده رابطه ای است.

آشنایی با تفاوت های Schema Star و Snowflake Schema

بیایید قبل از این که به سراغ تفاوت های عمده میان Schema Star و Snowflake Schema برویم؛ مختصری راجع به هر دو بدانیم.

Star Schema چیست؟

Star Schema ساده ترین طرح برای انبار داده است.
همانطور که از نام آن پیداست، ساختار Schema Star مانند یک ستاره است.
در این طرح fact table در مرکز قرار می گیرد و تعداد tables ها یا جداول بعدی از طریق کلید خارجی با آن در ارتباط است و table بعد شامل مجموعه ای از attributes هاست.
در این Schema یا dimension هر بعد فقط با یک dimension table نشان داده می شود اما dimension tables با یکدیگر پیوسته نمی شوند.

Star Schema ( آشنایی با تفاوت های Schema Star و Snowflake Schema )

Star Schema ( آشنایی با تفاوت های Schema Star و Snowflake Schema )

Snowflake Schema چیست؟

Snowflake Schema عبارت است همان Star Schema که به آن dimensions های اضافه شده است.
همان طور که از نام این طرح پیداست، شباهت زیادی به دانه برف دارد.
در این طرح dimension table عادی سازی شده اند یعنی داده ها به table های اضافی تقسیم می شوند.
تقسیم جدول ها یا table افزونگی و هدر رفتن حافظه را کاهش می دهد.
اصولاً پیادسازی این طرح  آسان تر است و از فضای دیسک کمتری استفاده می شود.
از آن جا که Snowflake Schema دارای چندین tables است؛ در نتیجه عملکرد کوئری کاهش پیدا می کند.

Snowflake Schema ( آشنایی با تفاوت های Schema Star و Snowflake Schema )

Snowflake Schema ( آشنایی با تفاوت های Schema Star و Snowflake Schema )

CharacteristicStar SchemaSnowflake Schema
تعمیر و نگهداری / تغییرStar Schema داده های زائد بیشتری دارد و از این رو تغییر یا حفظ آن دشوارتر است.Snowflake Schema به دلیل افزونگی کمتر، قابل تغییر و حفظ است.
قابل درک بودندر این طرح پیچیدگی کوئری کمتر است و از این رو درک آن آسان است.در این طرح کوئری مورد استفاده پیچیده است و از این رو درک آن نیز سخت است.
زمان اجرای کوئریاین طرح کلیدهای خارجی کمتری دارند و از این رو اجرای کوئری سریعتر است و زمان کمتری نیز می برد.با توجه به کلیدهای خارجی بیشتر ، زمان اجرای کوئری بیشتر است یا این که کوئری به آرامی اجرا می شود.
نوع انبار دادهبرای دیتابیس هایی که رابطه تکی دارند یعنی یک به یک و یا یک به چند اجرا می شوند؛ توصیه می شود.برای روابط پیچیده بهتر است.
تعداد الحاق هاتعداد الحاق ها بیشتر است.تعداد الحاق ها کم است.
Dimension Tableبرای هر  dimension table فقط یک  dimension وجود دارد.دارای یک یا چند  dimension table برای یک  dimension است.
قابلیت استفادهاگر اندازه dimension table بزرگ نباشد یعنی تعداد ردیف ها کمتر باشد star schema ترجیح داده می شود.وقتی dimension table خیلی بزرگ است از Snowflake Schema استفاده می شود.
مدل دادهاین طرح از بالا به پایین صورت می پذیرد.این طرح از پایین به بالا صورت می پذیرد.

کلام آخر

در این مقاله به آشنایی با تفاوت های Schema Star و Snowflake Schema پرداختیم.
این طرح ها یا Schema ها برای نشان دادن انبار داده ها استفاده می شوند؛ آنها از بعضی جنبه ها مشابه هستند و در بعضی دیگر متفاوت اند.
امیدوارم این مقاله مفید بوده باشد.
با پی وی لرن همراه باشید.

به اشتراک بگذارید