Fullstack Almanac

Modern Data Architectures – Data Lake, Data Warehouse, Data Mart or Data Lakehouse?

Cover Image for Modern Data Architectures – Data Lake, Data Warehouse, Data Mart or Data Lakehouse?

In today’s data-driven world, data is the new gold. Businesses are constantly generating and collecting vast amounts of data. From the time and place a customer buys a product, to the emojis used in social media comments, to weather data to adjust the price of ice cream in real time on hot summer days.

All this data is used to power business intelligence, drive strategic decisions and gain a competitive edge. However, the sheer volume and variety of data introduces challenges like data inconsistency with different date formats, query performance and more.

In this blog post, we’ll explore 4 popular modern data architectures: Data Lake, Data Warehouse, Data Mart and the new kid on the block, Data Lakehouse. We’ll discuss their unique characteristics, use cases and how to choose the right one for your needs.

What is a Data Lake?

Data Lake is a term used to describe a centralised repository for storing vast amounts of structured and unstructured data, typically at a low cost. It is designed to store data in its raw, unprocessed format without any structure or schema, enabling organisations to capture and store data from a wide variety of sources, including logs, IoT devices, social media, spreadsheets, and more.

One of the main benefits of data lakes is that they are very flexible and scalable. You can store any type of data in a data lake, easily adding new data sources as needed.

However, data lakes can be complex to manage, and it can be difficult to get insights without first processing the raw data. They can also be a security risk if not properly managed. Mainly because after a while you don’t know which data is in the Data Lake and what exactly could be exposed when an attacker gains access to it.

Data Lakes are used in the following scenarios:

  • Data Ingestion: Storing large volumes of raw data from a variety of sources without the need for immediate processing or transformation.
  • Data Variety: Handling diverse data types, including structured, semi-structured, and unstructured data.
  • Data Exploration: Allowing data scientists and analysts to access and experiment with raw data to discover hidden patterns and insights.

Example: You have a social media company that collects vast amounts of user-generated content from various sources, you want to use a Data Lake to store this raw data for future analysis. This could include text, images, videos, and user interaction data.

What is a Data Warehouse?

A Data Warehouse, on the other hand, is a structured, highly organised database designed for efficient querying and reporting. They are optimised for analytical and business intelligence (BI) workloads, and the data is typically cleaned, transformed, and modelled into consistent formats before being loaded into the warehouse.

Data Warehouses are more expensive to set up and maintain than a Data Lake but they provide a number of benefits:

  • Structured Data Sets: Aggregating and storing data from various sources in a consistent, structured format.
  • Reporting and Analytics: You can support decision-makers with fast, reliable data for business intelligence and analytics. Because a data warehouse is optimised for complex queries.
  • Historical Data: Storing historical records and enabling time-based analysis.
  • Data governance: Data warehouses provide features for managing data quality and security.

Example: You own a retail company, and you can set up a Data Warehouse to combine sales data from multiple locations, product information, and customer data. Providing a comprehensive view for your executives to make informed decisions.

What is a Data Mart?

A Data Mart is a subset of a Data Warehouse, focused on specific business units, departments, or user groups within an organisation. For example, sales, marketing, and customer service. Data Marts are smaller and less complex than data warehouses, they are designed to provide domain-specific data that caters to the needs of a particular team or set of users.

The main benefits are:

  • Subject-Specific: Focused on a particular aspect of the business, such as sales, marketing, or finance. They are easier to manage and use than data warehouses.
  • User-Friendly: Designed with the needs of specific user groups in mind, making data access and analysis more intuitive.
  • Quick to Deploy: Easier to set up than a full-scale Data Warehouse, as they are smaller in scope. They are also less expensive and easier to maintain.
  • Easier to manage access: Because they are smaller, it is easier to manage access for a (specific set of) user(s). This allows you to keep better track of who has access to the data.

Example: In a large healthcare organisation, individual departments like radiology, cardiology, and laboratory services may each have their Data Mart to analyse and report on data specific to their domain.

What is a Data Lakehouse?

A Data Lakehouse is a new type of data architecture that combines the flexibility, cost-efficiency, and scale of data lakes with the data management and query performance of data warehouses. This enables business intelligence (BI) and machine learning (ML) on all data.

A Data Lakehouse enables organisations to ingest, store, and process raw data in real-time while also supporting traditional BI and analytics needs.

Data lakehouses are built on top of cloud object storage, which makes them very scalable and cost-efficient. The data is often analysed by AI to do, for example, object or text detection and add fields to the metadata of the objects that you can query.

I first learned about Data Lakehouses from Google’s Dataplex Service.

Main Benefits:

  • Combine Raw and Structured Data: You can store and manage a large volume of data from a variety of sources, including structured, semi-structured, and unstructured data while benefiting from structured, queryable data.
  • Real-Time Data Processing: Handle streaming data and real-time analytics alongside batch processing.
  • Scalability and Performance: Accommodate data growth and deliver fast, reliable query performance.

Example: An e-commerce company may utilise a Data Lakehouse to store unprocessed clickstream data from its website, which can be used for real-time personalization and analytics, while also providing a structured schema for business intelligence reporting.

Modern data architecture is no longer a one-size-fits-all solution. The best type of data architecture for your business will depend on your specific needs. No matter which type of data architecture you choose, it is important to have a plan for managing your data. This includes developing data governance policies, implementing data security measures, and monitoring your data quality.

Combining Data Lake with Data Warehouse and Data Mart

Choosing one also doesn’t mean ignoring all the others. In bigger companies, we definitely see a combination of 2 or more architectures depending on the use case.

They might opt for a data lake to start ingesting and centralising all the data from different systems they have running in the company, this can be data from Google Analytics, the ERP systems of the warehouse, SQL data from the application databases, etc.

Most of the data is later processed with an Extract, Transform, Load workflow to structured data that can be organised in a big Data Warehouse where data scientists can access the data, experiment and discover insights.

Afterwards, several use cases are identified by different departments, the finance department, for example, would like the amount of sales per product and per customer segment, together with tables of customers who have open invoices. Other departments might need data for other use cases. To accommodate them, each department gets a Data mart with data tailored to their needs.

In conclusion, the world of data is a treasure trove of information waiting to be unearthed. By collecting and analysing surprising data points, businesses can uncover new opportunities, enhance customer satisfaction, and drive growth. The journey towards a data-driven future is ongoing, and it’s a path filled with both exciting discoveries and ethical responsibilities.

TaggedData Engineering