{"id":10287,"date":"2018-10-23T00:00:00","date_gmt":"2018-10-23T05:00:00","guid":{"rendered":"https:\/\/threecloud.wpengine.com\/post\/do-i-need-a-star-schema\/"},"modified":"2022-11-30T09:12:02","modified_gmt":"2022-11-30T15:12:02","slug":"do-i-need-a-star-schema","status":"publish","type":"post","link":"https:\/\/3cloudsolutions.com\/resources\/do-i-need-a-star-schema\/","title":{"rendered":"Do I Need a Star Schema?"},"content":{"rendered":"<p>As we\u2019re building a data warehouse for clients, sometimes we\u2019re asked about the need to build a star schema. With all the great analytical tools for querying and doing machine learning on top of data store and files that all work well, people think why do I need to build a star schema, or do I even need one at all?<\/p>\n<p>The short answer is no you don\u2019t need one but there are still many cases where having a star schema is extremely valuable and I don\u2019t see this completely going away. Sure, I see more and more analysis being done on data sets that are not star schema and that\u2019s great. But a well-designed star schema provides ease-of-use benefits to reporting analysts that cannot be discounted.\u00a0 Let me tell you a couple reasons why you would want to build one.<\/p>\n<p><span style=\"background-color: transparent;\">My first reason is purely non-technical. The premise of star schema comes down to two things \u2013 query performance and their ease of consumption. In the case of query performance, if you\u2019ve got your star schema loaded on a database like SQL Server, a well-designed star schema will provide a very good query performance.<\/span><\/p>\n<p>But if query performance is not a concern, the other key aspect of star schema is they\u2019re very easy for report developers or builders and query writers to consume. It\u2019s a simple, easy to use model that\u2019s generally very intuitive with few relationships between tables. So, if you want your data to be more accessible to a wider audience, then star schema facilitates that.<\/p>\n<p><span style=\"background-color: transparent;\">Next is something I frequently hear when working with people using tools like Power BI for example. People are using Power BI to pull all their data into one big data set and can do whatever they need to by using that tool. In the case that you have one large data set with all the info you need and can do your modeling in Power BI, then you don\u2019t really need a star schema.<\/span><\/p>\n<p>Where star schema will help is when you are integrating data from more than one source or two different fact tables that have different granularity. Let\u2019s say you want to see information from one very large fact table and either relate it on a report or compare it to info on another fact table, perhaps budget data on one table and actual transactions on another table. Creating a single, combined data set that has both budget data and detail cost transactions is not impossible, but is surely challenging.<\/p>\n<p>But if we have a star schema model and then use a tool like Power BI, it\u2019s very simple and powerful to write reports that pull data from 2 or more different fact tables without having to relate those two tables together.\u00a0As long as my fact tables have dimensions in common, I can very easily create a report showing measures from all three fact tables <u>WITHOUT<\/u> relating the three fact tables to each other directly. If I left my data in three separate data sets, as might happen in an OLTP scenario, it is challenging (and ugly!) to relate these to each other for reporting.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/xHKFcixux7M\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><br \/>\nMy point here is in some cases, using a star schema would benefit you, so something to keep in mind.<\/p>\n<p>Need further help? Our expert team and solution offerings can help your business with any Azure product or service, including Managed Services offerings. Contact us at 888-8AZURE or\u00a0 <a href=\"mailto:sales@3cloudsolutions.com\">sales@3cloudsolutions.com<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As we\u2019re building a data warehouse for clients, sometimes we\u2019re asked about the need to&mldr;<\/p>\n","protected":false},"author":32,"featured_media":9442,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[260],"tags":[],"class_list":["post-10287","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ai","topics-blog"],"acf":[],"_links":{"self":[{"href":"https:\/\/3cloudsolutions.com\/wp-json\/wp\/v2\/posts\/10287","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/3cloudsolutions.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/3cloudsolutions.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/3cloudsolutions.com\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/3cloudsolutions.com\/wp-json\/wp\/v2\/comments?post=10287"}],"version-history":[{"count":0,"href":"https:\/\/3cloudsolutions.com\/wp-json\/wp\/v2\/posts\/10287\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/3cloudsolutions.com\/wp-json\/wp\/v2\/media\/9442"}],"wp:attachment":[{"href":"https:\/\/3cloudsolutions.com\/wp-json\/wp\/v2\/media?parent=10287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/3cloudsolutions.com\/wp-json\/wp\/v2\/categories?post=10287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/3cloudsolutions.com\/wp-json\/wp\/v2\/tags?post=10287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}