مقدمه
سلام به همه پی وی لرنی های عزیز!
در این مقاله به آشنایی با تفاوت های 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 با یکدیگر پیوسته نمی شوند.
Snowflake Schema چیست؟
Snowflake Schema عبارت است همان Star Schema که به آن dimensions های اضافه شده است.
همان طور که از نام این طرح پیداست، شباهت زیادی به دانه برف دارد.
در این طرح dimension table عادی سازی شده اند یعنی داده ها به table های اضافی تقسیم می شوند.
تقسیم جدول ها یا table افزونگی و هدر رفتن حافظه را کاهش می دهد.
اصولاً پیادسازی این طرح آسان تر است و از فضای دیسک کمتری استفاده می شود.
از آن جا که Snowflake Schema دارای چندین tables است؛ در نتیجه عملکرد کوئری کاهش پیدا می کند.
Characteristic | Star Schema | Snowflake 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 ها برای نشان دادن انبار داده ها استفاده می شوند؛ آنها از بعضی جنبه ها مشابه هستند و در بعضی دیگر متفاوت اند.
امیدوارم این مقاله مفید بوده باشد.
با پی وی لرن همراه باشید.