Semantic Layer
Salman Abdul Karim
Building Scalable Data Solutions | Data Engineer & Solution Architect @ SDAIA
Article: Semantic layer (Initial Level)
Article Number: #0010
Date:06-02-2018
Writer: Salman Abdulkarim (Associate software engineer "ETL/BI").
"Article is written in my own words"
-------------------------------------------------------
Hello Dear Readers, its been long I was away as I am writing my own notebook related ETL, I will discuss once it's complete.
But today I come back to share with you about Semantic Layer, but before reading this article, I highly recommend to read my previous Article that would help you to understand Semantic Layer More Clearly. Mentioned at end of the article.
What am I going to discuss with you? Let me construct a content for you:
- Semantic Layer
- What is Semantic Layer
- ETL and Semantic Layer
- Why we want Semantic Layer
- Big Picture
- Semantic Data Model, Logical Data Model, Physical Data model
- Semantic Data Model Design
Let's Get Started...
- Semantic Layer: what is semantic layer:
Basically, the first stage before we load the data into data warehouse we perform ETL. The basic purpose of ETL to get data from single/different sources and then we make sure we have consolidated and cleansed data in our data warehouse, and here the role of the semantic layer comes up, now let me explain in more abstract level:
As we have data in our data warehouse its means the data is stored in the database, right?
Now once we have this structured data in our database we want to translate this data into business user-oriented terms and constructs.
Such as we translating this data as for how end user wants the data according to business needs.
And what is the basic need of semantic layer?
One of the key components of the business intelligence (BI) architecture is a semantic layer.
- ETL and Semantic Layer
In the more abstract level, we can say now ETL back room adds value to the data by cleaning, standardizing, conforming, consolidating and semantic layer play an important role to translate the data that we have into business-oriented according to need of end users.
- Why we want Semantic Layer
To understand more clearly why we want semantic layer, and what happens if we don’t build semantic layer, for instance, I cannot add more value in my words to answer this question but let me share with you the words of Joy Munday member of kimball group about what she thinks if we don’t make semantic layer :
I don’t think I’ve ever seen an organization over-invest in a semantic layer, but I’ve seen lots of data warehouses fail because of under-investment. Buy a decent BI tool (there are dozens), and spend time developing the semantic layer. Otherwise you’re selling short your very substantial investment in design and development of a technically solid data warehouse.
If we don’t build a semantic layer it can create more and more bottleneck for developers to write SQL quires, that would be difficult to translate into business-oriented needs, why torture them? but semantic layer can improve the way and adds value to your organization.
- Big picture
- Semantic data modal, logical data modal, physical data modal
Semantic Data modal
SDM is logical data modeling technique such as how to represent data according to Business needs from the perspective of the end user.
There may be a different semantic data model for each department/applications that use the data warehouse.
logical data modal
LDM represent data in more detail according to their relationships with each other, in LDM we focus mainly on tables and their relationship without thinking about how they physical store in the database. We can say its blueprint.
Physical data modal
Physical data modal is all about how the data is stored in the database, we define actual columns names, data types.
Note: LDM is just like Blueprint of a house but PDM is the actual construction of the house.
- Semantic data modal design
Dimensional modeling is a common technique for constructing the semantic data model, that would be :
- Star Schema: in a star schema, we have only ONE fact table and this fact table surrounded by the dimensions, above figure is based on Star Schema.
- Snowflake Schema in a snowflake schema, we have only ONE fact table and this fact table surrounded by the dimensions and these dimensions can extend with sub-dimensions
- Galaxy Schema in a galaxy schema we may have N numbers of fact table (more than one), and these fact table surrounded by the dimension and these dimensions "may" extend with sub-dimensions.
You May Read More About Dimensional Modeling in detail In My Article that I wrote:
Article: Importance of Dimensions and facts
So this is it for today, I wrote About Semantic Layer in Initial level, I hope all readers found this article useful, You may share your reviews about the article in the comment box.
Previous articles :
1) OLTP vs OLAP 2) what is ETL 3) the importance of dimensions and facts 4) Master Data Managment 5) Structured data vs Unstructured data,6) Internet of things and Big Data.7)Change Data Capture 8)Merge Query9)Alert System In ETL.
Data Analytics | Data Engineering | EDW/BI | Data Integration | Data Modeling
7 年Very well explained!!!????