paint-brush
Build a Data Warehouse Not to Drown in Your Data Lakeby@serhiykravchenko
278 reads

Build a Data Warehouse Not to Drown in Your Data Lake

by Serhiy KravchenkoAugust 26th, 2024
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Enterprise data warehouses are designed to address many issues. They bring together data from different sources, ensure its accuracy, and help companies manage all the information they collect. In this article, I’ll explain the importance of enterprise data warehouses and guide you on how to build one to enhance your data management.
featured image - Build a Data Warehouse Not to Drown in Your Data Lake
Serhiy Kravchenko HackerNoon profile picture


Have you ever wondered how football commentators keep up with everything happening on the field and know so much about each player in real-time? The secret sauce for their knowledge is that they can access a data warehouse with all the records and statistics.



In business, companies are flooded with information and struggle to use it effectively. Luckily, enterprise data warehouses are designed to address many issues. They bring together data from different sources, ensure its accuracy, and help companies manage all the information they collect.


Over the years since becoming .Net Back-End Developer at Forbytes, I’ve seen many requests from clients. The most interesting ones came from clients who wanted to build data warehouses.


As you may guess, in this article, I’ll explain the importance of enterprise data warehouses and guide you on how to build one to enhance your data management. In fact, it might just be the solution to your client’s challenges.

Data Lake vs. Data Warehouse vs. Data Mart: What’s What and How They Differ


When you hear terms like “data warehouse,” “data lake,” and “data mart,” everything that comes into your mind is that they are all about data. No matter how obvious it may sound. In fact, all these terms represent the evolution of data from unstructured and chaotic to structured and subject-oriented.


A data lake is a file system that accumulates various types of data, including unstructured (emails and documents), semi-structured (JSON, loga, and XML), and structured (rows and columns). Data sources for a data lake can be texts, images, JSON, files, and more. Parquet files are a popular column-oriented file format used in data lakes.


Databricks is the world’s first data intelligence platform powered by generative AI, often used to work with data lakes. It integrates with major cloud providers like Microsoft Azure, Google Cloud, and AWS. Databricks has also been implemented into Microsoft Synapse, a centralized platform that manages diverse services and databases, providing opportunities for analytics.


A data warehouse is a repository for structured data that aids in business analysis. It collects data from various sources and makes it easily accessible and analyzable. For example, structured employee data might include the following fields: Employee ID – First Name – Last Name – Date of Birth – Hire Date – Position – Department.


A data mart represents the final stage of data evolution. These are subject-oriented relational databases that contain specific data extracted from analytics from a data warehouse. For example, a sales data mart can include sales transactions, customer purchases, sales performance, regional sales data, and sales forecasts.

From a Data Lake to a Data Mart: Turning Data Jumbles into Smart Insights

I have an on-point story to share. We worked with a large logistics company that deals with a massive amount of data. They stored all this data in a cloud-based system known as a data lake, which has several layers for managing information. One of these layers, Delta Lakes, is an advanced type of data lake designed for better data processing.

Bombarded by tons of data

Initially, our client was satisfied with data storage and processing. However, as the volume of unstructured data grew, our client was confused about how to manage and use them with benefits for the company. That’s why they came to Forbytes and a Swedish IT company with a request to extract valuable data and turn it into actionable analytics.

From data lake to data warehouse

To address this, in partnership with a Swedish company, we decided to organize and migrate their data from the data lake to a data warehouse. Here’s the process: Data first enters the data lake and goes through ETL – Extract, Transform, Load. This involves pulling raw data from its source, cleaning and organizing it, and then moving it to the data warehouse. In the warehouse, the data is sorted and filtered to retain only what’s relevant and valuable for the company.

Creating a tailored data mart for valuable insights

The final stage of data processing was to extract data from the data warehouse for analytics, including reports, invoices, and business statistics, by creating a data mart. A data mart is tailored to specific analytics and customized to a company’s needs. It is used for building KPIs.

Delivering customized reports

We tailored a data mart according to the company’s needs.  For example, we created Service Level Agreement (SLA) reports to review our client's orders and logistics operations with their customers to avoid debates. We managed all their reporting needs and made sure they had everything they required to make informed decisions.

What to Expect from Building a Data Warehouse

I’ve said it before, and I’ll say it again: building a data warehouse is one of the most important ways to handle data and address data management issues. But what I love most about a data warehouse is that it allows you to have full control over your data. So, crafting a data warehouse can provide businesses with several benefits:


It can help unify your data – If you have your data on ERP, cloud platform, and Excel, you can combine them into one large, consistent database. This provides a comprehensive view of your data, standardizes its formats, and enables easy access.


It can ensure efficient data processing – A data warehouse can protect your customer-facing databases from slow, complex queries. So you can move heavy queries to the warehouse and ensure your main system stays quick. As a result, you can handle large volumes and complex queries more efficiently.


It can provide a centralized view – A data warehouse combines all your data sources into one place. This organization ensures that data is consistent and accessible, helping you make better, more informed decisions.


It can guarantee better data quality – With a data warehouse in your pocket, you can improve data accuracy and reduce errors through consistent classifications and descriptions.

How to Build an Enterprise Data Warehouse: A 5-Step Checklist

I’m going to outline the process I used to build an enterprise data warehouse and how I help our clients manage their data.

Step 1: Figure out what your business needs

When you’re first starting your enterprise data warehouse, it can be tempting to try to build a data warehouse schema. But I know from my experience that this will lead you to confusion and more faults than to understanding how to store tons of data.


Don’t jump right into development. That’s an easy way to move in the wrong direction. Determine what you intend to achieve. Whether you want to find the gaps in your performance or plan to grow, a detailed list of your needs will be the basis for a data warehousing solution.

Step 2: Analyze source data

The next step is to identify and analyze source data. For this step, it’s vital to load only the useful and accurate data into your data warehouse. Also, figure out which systems are the main sources of valuable data. This helps avoid including unnecessary data since some data might appear in multiple systems.


For instance, sales order info might flow from your order management system (OMS) to your logistics software for operational purposes. But orient only to OMS as a source of information.

Step 3: Build conceptual, logical, and physical data models

The next piece of this puzzle is building data models to visualize key business processes, meaning business entities and the way they interact with each other.


Conceptual data modeling is an important step where we gather information from a client to create a high-level overview of their data. At this stage, we work closely with the client to identify key concepts and how they relate to each other.


To build logical data models, we should add more details to the conceptual model, like specific attributes and relationships between entities. We also set logical rules. This stage helps us refine the model and make it more detailed.


Physical data modeling presupposes the implementation of the logical model into a real database. This involves choosing the right database system, defining data types and table relationships, and setting up primary and foreign keys.

Step 4: Create your data warehouse schema

Once you build your data models, the next step is to design how your data will be organized in your data warehouse. It means that you should create your data warehouse schema. The most common types of schemas are the star schema, snowflake schema, and data vault schema. Consult with your data architect to choose the most optimal one.

Step 5: Implement a data warehouse architecture

With the right data warehouse schema, you can build an effective enterprise data warehouse. This involves designing a structure that supports data integration, storage, and analysis across your organization.

Key Takeaways

There are some significant points I’ve tried to make throughout this story, but I want to recap them once more time to make them clear for you:


  • Moving from a data lake to a data warehouse and then to a data mart is a natural process for organizing your data and extracting value from them.
  • Building an enterprise data warehouse is not a difficult process if you understand your client’s needs and how data can address them.
  • Moving data from a data lake to a data warehouse and then to a data mart transforms unstructured, chaotic datasets into structured and consistent information, leading to more informed decisions.
  • Always keep the end user in mind. The goal is to build an enterprise data warehouse that organizes your data effectively and maximizes its value.


With a solid understanding of these basics, you’re ready to start building a data warehouse tailored to your client’s needs and requirements.