Data Warehousing Basics: NFR

Data Warehousing Basics: NFR

What I’m about to tell you today failed a lot of data warehousing projects which is why it’s worth paying attention so you don’t trip over the same thing. It is called NFR, or Non Functional Requirements. ?

Most of us are developers, but only a few of us are engineers. What’s the difference between a developer and an engineer? It’s NFR. We all know about business requirements. To analyse customers by purchasing patterns, to create a dashboard showing the progress of each region on monthly basis, etc. Those are known as “Functional Requirements” (FR). The function of a data warehouse is to do those things for the business.?

But, FRs are only half of the story. You get the requirements, you get the data in, you do the transformation. And voila, you get a warehouse! Fact and dimension tables, full of data. You start creating BI dashboards and job done. The business now gets what they need. You have satisfied the business requirements. The FR.?

But that’s only half of the story. What about the performance? The resilience? The administration, like adding new users and controlling access? What about the security, like encryption and authentication? Do you need to log the user activity? Do you need to monitor the ingestions, and get alert when it fails? How are you going to release it into production? How fresh should the data be? Is initial data loading required??

Has it been tested properly? Where can it be tested? Using what data? Do you need a separate environment? How will it connect to the data sources every day. Do we need a new routing? Does it need to be backed up? How will you test the recovery when it fails? Do you need to use a particular stack of technology when doing all the above? ?

All of those are called NFR (Non Functional Requirements). They are not about the function of the data warehouse. They are about the technicality, the management, the administration and the supportability of the data warehouse.?

As an engineer, you need to do development. You need to build everything from scratch: data extraction from the source, data ingestion, all the transformation, designing the warehouse, creating the report and dashboards. It is hard work, I know. But that’s only half of the story. You are doing your “developer” job.?

As an engineer, you also need to build a system which is resilient. “Production grade” quality. And for that you need security, access control, monitoring, logging, data quality, and many many more. That is our second job my friends, as an engineer.?

And that is the difference between a developer and an engineer. A developer builds a data warehouse according to the business requirements. But that is only half of the story. An engineer, build the NFR so that the warehouse becomes resilient with production grade quality.?

So, are you just a developer who develops, or an engineer who also does the NFR??

As I said in the beginning, a lot of data warehouses failed because of this. Everyone is focused on the business requirements, and forget about the NFR. And the warehouse experienced a lot of issue when it is put into production. All the NFR that I mentioned above. Well now you are aware of what they are, and you can prevent your warehouse project fails because of that.?

Hope this was helpful.?

Keep learning!?

Naveen Kumar

Full Stack Data Scientist | Data Engineering Lead at Bosch

5 天前

Agree ?? Nice explanation

要查看或添加评论,请登录

Vincent Rainardi的更多文章

  • Snowflake vs SQL Server

    Snowflake vs SQL Server

    Sometimes we need to remind ourselves that Snowflake is not an OLTP database. I know today is the era of Hybrid tables…

    4 条评论
  • Data engineer becoming solution architect

    Data engineer becoming solution architect

    Are you a data engineer thinking about transitioning to a cloud solution architect? Data engineer are good with…

    2 条评论
  • Asset Mgt vs Fund Mgt vs Investment Mgt vs Wealth Mgt: What's the difference?

    Asset Mgt vs Fund Mgt vs Investment Mgt vs Wealth Mgt: What's the difference?

    If you work in banking or investment or any other sector in financial services, you might be wondering about the above.…

  • Data Warehousing Basics: Cost

    Data Warehousing Basics: Cost

    If you call yourself a data engineer you need to be aware of 2 additional things compared to a developer. The first one…

    2 条评论
  • My Linkedin post & articles

    My Linkedin post & articles

    The list below goes back to Nov 2024. For older than that see here.

    9 条评论
  • Data Warehousing Basics: Single Customer View

    Data Warehousing Basics: Single Customer View

    Imagine that you work for an insurance company who sell health insurance (HI), life insurance (LI), general insurance…

    2 条评论
  • ML and AI - What's the difference?

    ML and AI - What's the difference?

    Machine Learning covers about 20-30 algorithms such as Logistic Regression, Decision Tree, Gradient Boosting, Random…

    4 条评论
  • Microsoft Fabric or Synapse Analytics?

    Microsoft Fabric or Synapse Analytics?

    When it comes to Data Warehousing, Microsoft is confusing. Why? Because it has Microsoft Fabric and it also has Synapse…

    16 条评论
  • Data Warehousing Basics: Transformations

    Data Warehousing Basics: Transformations

    As Bill Inmon said, T is the most difficult thing to do in the ETL. And that is why ETL vendors swap it around - they…

    2 条评论
  • Data Warehousing Basics: Ingestion

    Data Warehousing Basics: Ingestion

    In data warehousing, ingestion is vital. It brings data from the source systems into the data warehouse.

    4 条评论