Star at Snowflake Schema

Anonim

Ang data warehousing ay isang sistema na dinisenyo upang mag-imbak at mag-organisa ng data sa mga gitnang repository kabilang ang data mula sa iba pang mga mapagkukunan. Ito ay isang pangunahing konsepto ng katalinuhan sa negosyo sa pamanggit na mga modelo ng database na gumagamit ng analytical na mga diskarte upang isama ang data ng negosyo sa isang gitnang database.

Mayroong dalawang karaniwang mga modelo ng arkitektura na ginagamit sa data warehousing:

  • Star Scheme
  • Snowflake Schema

Parehong ang mga pangkaraniwang multidimensional na mga modelo ng database na ginagamit upang matugunan ang mga pangangailangan ng mga malalaking database para sa mga layunin ng analytical sa tunay na warehouses ng data.

Nagpapakita kami ng walang pinapanigan na paghahambing sa pagitan ng dalawang upang mas mahusay na maunawaan kung alin ang mas mahusay kaysa sa iba.

Ano ang Star Schema?

Ito ang pinakakaraniwan at malawak na tinatanggap na modelo ng arkitektura na ginagamit upang bumuo ng mga warehouses ng data at data marts kung saan ang data ay nakaayos sa mga katotohanan at sukat. Ito ang pinakasimpleng modelo ng arkitektura kung saan ginagamit ang isang talahanayan ng katotohanan upang mag-refer sa maraming mga talahanayan ng dimensyon, na tinutulad ang isang pattern ng bituin.

Gaya ng ipinahihiwatig ng pangalan, ang diagram ay kahawig ng isang bituin na may talahanayan ng katotohanan sa gitna at maraming mga talahanayan ng dimensyon mula dito, na lumilikha ng isang bituin tulad ng pattern.

Ito ay kilala rin bilang Star Join Schema at nag-iimbak ito ng lahat ng mga katangian ng isang dimensyon sa isang denormalized fact table upang mabilis na mag-navigate sa pamamagitan ng mga malalaking multidimensional na hanay ng data kung saan mga account para sa mabilis na mga oras ng pagtugon sa query.

Ano ang Snowflake Schema?

Ito ay isang extension ng star schema na may dagdag na pag-andar. Hindi tulad ng star schema, ang mga talahanayan ng dimensyon sa snowflake schema ay normalized sa maramihang mga kaugnay na mga talahanayan.

Ang arkitektura modelo ay kumakatawan sa isang lohikal na pag-aayos ng mga talahanayan sa isang maraming-sa-isang relasyon hierarchy kung saan maraming mga talahanayan ng dimensyon ay normalized sa sub-dimensyon talahanayan, na kahawig ng snowflake tulad ng pattern, kaya ang pangalan.

Ito ay isang mas kumplikadong bersyon ng schema ng bituin na may higit na pagsali sa pagitan ng mga talahanayan ng dimensyon na nagtatakda ng mabagal na oras sa pagpoproseso upang makuha ang data na nangangahulugan ng mabagal na oras ng pagtugon sa query. Pinapabawas nito ang kalabisan ng data na nagpapabuti sa pagganap ng query.

Pagkakaiba sa pagitan ng Star at Snowflake Schema

Arkitektura ng Star at Snowflake Schema

Sa pamanggit database, star schema ay ang pinakasimpleng modelo ng arkitektura na ginagamit para sa pagbuo ng mga warehouses ng data at multidimensional data marts. Tulad ng nagmumungkahi ang pangalan, ang modelo ay kahawig ng isang bituin na may mga puntos na nagmumula sa sentro na nangangahulugang ang talahanayan ng katotohanan ay ang sentro at ang mga punto ay ang mga talahanayan ng dimensyon. Tulad ng iba pang mga dimensional na mga modelo, binubuo ito ng data sa anyo ng mga katotohanan at sukat. Ang Snowflake schema, sa kabilang banda, ay ang mas kumplikadong modelo ng arkitektura na tumutukoy sa isang multidimensional na database na may lohikal na pag-aayos ng mga talahanayan sa anyo ng isang snowflake.

Table ng Dimensyon

Ang schema ng snowflake ay halos kapareho ng bituin na panukala maliban kung maaari itong magkaroon ng higit sa isang dimensyon na mga talahanayan na kung saan ay karagdagang na-normalize sa maramihang mga kaugnay na mga talahanayan na tinutukoy bilang mga talahanayan ng sub-dimension. Ito ay kumakatawan sa maraming mga antas ng mga relasyon na nagsisimula sa isang pattern ng snowflake. Gayunpaman, nag-iimbak ng star schema ang lahat ng kaugnay na mga katangian ng isang dimensyon sa isang denormalized dimension table na nagpapadali upang maunawaan at mapanghawakan ang mas simpleng mga query.

Model ng Negosyo ng Star at Snowflake Schema

Ang isang talahanayan ng dimensyon ay hindi maaaring maglaman ng mga dobleng hanay sa mga pamanggit na mga modelo ng database para sa simpleng katotohanang maaari itong lumikha ng mga ambiguity sa pagkuha. Ang bawat talahanayan ay dapat magkaroon ng isang haligi o isang kumbinasyon ng mga haligi na tinatawag na pangunahing susi na katangi-tangi na tumutukoy sa lahat ng talaan ng talaan. Ang isang banyagang susi ay isang haligi o isang grupo ng mga haligi na nagbibigay ng isang link sa pagitan ng dalawang talahanayan. Sa star schema, ang bawat talahanayan ng dimensyon ay may pangunahing susi na may kaugnayan sa isang banyagang susi sa talahanayan ng katotohanan. Ang hierarchy ng negosyo sa isang snowflake schema ay kinakatawan ng isang pangunahing susi / dayuhan key na relasyon sa pagitan ng mga talahanayan ng dimensyon.

Integridad ng Data sa Star at Snowflake Schema

Ang pangunahing pagkakaiba sa pagitan ng dalawang mga modelo ng pamanggit database ay normalisasyon. Ang mga talahanayan ng dimensyon sa star schema ay hindi normal na nangangahulugan na ang modelo ng negosyo ay gagamit ng relatibong mas maraming espasyo upang mag-imbak ng mga talahanayan ng dimensyon at mas maraming espasyo ay nangangahulugan ng mas maraming mga rekord na kung saan ay maaaring maging sanhi ng hindi pagkakapare-pareho. Ang Snowflake schema, sa kabilang banda, ay nagpapaliit ng kalabisan ng data dahil ang mga talahanayan ng dimensyon ay normal na kung saan ang mga account para sa mas mababang mga kalabisan na mga rekord. Ang hierarchy ng negosyo at ang mga sukat nito ay napanatili sa pamamagitan ng referential integridad na ang mga relasyon ay maaaring mai-update nang nakapag-iisa sa mga warehouses ng data.

Pagganap ng Query

Ang star schema ay may mas kaunting pagsali sa pagitan ng dimensyon table at talahanayan ng katotohanan kumpara sa na ng snowflake schema na kung saan ay may maraming mga pagsali na account para sa mas masalimuot query. Dahil ang mga sukat sa isang star schema ay naka-link sa pamamagitan ng isang talahanayan ng katotohanan sa gitna, ito ay may malinaw na sumali sa mga landas na nangangahulugan ng mabilis na mga tugon sa oras ng pagtugon at mabilis na oras ng pagtugon ay nangangahulugan ng mas mahusay na pagganap. Ang snowflake schema ay may mas mataas na bilang ng mga pagsali kaya mas matagal na mga oras ng pagtugon sa query na nagreresulta sa mas kumplikadong mga query na sa huli ay nagkakompromiso sa pagganap.

Star Schema vs. Snowflake Schema: Chart ng Paghahambing

Buod ng Star verses Snowflake Schema

Ang parehong ay ang pinaka-karaniwang at malawak na pinagtibay na mga modelo ng arkitektura na ginamit upang bumuo ng mga warehouses ng database at data marts. Gayunpaman, ang bawat modelo ng negosyo ay may patas na bahagi ng mga kalamangan at kahinaan.Habang ang bituin ng panukala ay ang pinakasimpleng multidimensional na modelo na ginagamit upang ayusin ang data sa mga katotohanan at sukat, ito ay perpekto para sa pagbuo ng mga mart ng data na may kinalaman sa mas masalimuot na mga relasyon. Ang snowflake schema ay isang lohikal na representasyon ng mga talahanayan sa isang maraming database na kung saan ang mga sukat ay naka-imbak sa mga talahanayan ng sub-dimension. Ang pangunahing pagkakaiba sa pagitan ng dalawa ay normalisasyon. Ang mga talahanayan ng dimensyon sa isang snowflake schema ay ganap na na-normalize sa maraming mga talahanayan ng look-up, samantalang sa isang star schema, ang mga talahanayan ng dimensyon ay denormalised sa isang sentrong katotohanan sa talahanayan.