Skip to content

Get a data lakehouse built

We build a data lakehouse in bronze, silver and gold layers, starting with one use case, as we did for Fokker Services Group.

We’re building a data platform for Fokker Services Group using the medallion architecture

Data from many sources is brought together, cleaned and modelled using the medallion architecture, with Databricks on Azure and dbt. The data flows are directly linked to use cases such as planning, inventory management and insight into costs.

Read the case study

Why does our data team calculate from a different copy of the data than the dashboard uses?

The data scientist retrieves raw files from the data lake, the controller reports from a separate data warehouse, and every night a job copies tables from one to the other. A lakehouse lets both work from the same tables, with a single set of permissions.

Schedule a conversation
Man staat voor een whiteboard met een getekend stroomschema en schetsen, met papieren onder zijn arm.

You get one storage layer for reporting and machine learning, organised into bronze, silver and gold

Discuss your lakehouse

Raw data retained

Bronze retains the source data as it arrived, so you can process it again. At Vivara, data arrives daily from sources including SAP, Magento and SharePoint.

Cleaned in silver, ready in gold

Silver validates and deduplicates the data; gold provides tables for specific questions. At Fokker Services Group, data quality checks are built into the platform itself.

Open tables in your own storage

The tables are stored in the open Delta format in your own cloud storage or in OneLake. Power BI, SQL and Python read the same tables.

Permissions and provenance for each table

A catalogue controls who can see what and where each table comes from. For Koninklijk Concertgebouworkest, we use Delta Lake and Unity Catalog.

One question goes through every layer first, then we connect the next data sources

  1. Choose the platform and layers

    We choose a platform that fits your cloud environment and team, and define the catalogues or workspaces and an owner for each layer.

  2. Take one use case through the layers

    For one specific question, we load the sources into the bronze layer and build the silver and gold layers. Users validate the result.

  3. Expand and manage

    New sources use the same layers, and releases go through Git. After that, your team manages the platform, or we do.

Do we need a lakehouse, or would something simpler do?

Talk it through with us

A good fit when

Alongside ERP and CRM tables, you have sensor data, log files, documents or JSON from APIs, and you want to use the same data for reporting and machine learning without maintaining two copies.

Not a good fit when

You report on a few structured sources and your team works in SQL. A data warehouse is simpler in that case. If you only need a handful of reports, a Power BI model connected to the source is often enough.

What determines the scale

The number of sources and how often they refresh, whether streaming is needed, how much historical data you retain, whether there is an existing environment we can reuse, and who will manage it.

Will we be tied to one vendor afterwards?

The data is stored in the open Delta format in your own storage, while pipelines and transformations are kept as code in your own Git repository. Switching takes work, but your data remains yours and readable.

Should we build the lakehouse on Databricks, Microsoft Fabric or both?

Databricks

Choose this if your team works in Python and Spark, your data is on Azure, AWS or Google Cloud, or your models need to go into production with version control. See Databricks implementation.

Microsoft Fabric

Choose this if Power BI is already your standard and you want to manage less infrastructure. Bronze and silver become lakehouses; gold can be a warehouse. See Microsoft Fabric implementation.

Both

Choose this if your engineering work is in Azure Databricks and your organisation uses Power BI. Fabric can then read the catalogue without making a copy. Our advice: keep one place where tables are written.

As a Databricks and Microsoft partner, we recommend the platform that suits your organisation

Data Science Lab has worked with data and AI since 2016 and is based in Amsterdam. We build data platforms on Databricks for Fokker Services Group, Vivara and Koninklijk Concertgebouworkest, among others.

Book an introductory meeting

In our first conversation, we’ll decide together which source moves to bronze first

Stef Stoelwinder

Stef Stoelwinder

Business Development

Stef is your first point of contact. In our first conversation, we’ll discuss your data sources, your current platform and the first question you want to address with the lakehouse.

Which sources will we need to bring together in our lakehouse?

Tell us which sources and platform you currently use. We’ll reply by email or arrange an initial conversation.

Enter a valid email address.

Let us know how we can help you.

Frequently asked questions

A data lakehouse combines the low-cost, open storage of a data lake with the reliability of a data warehouse. Data is stored as files in an open format, with a layer on top that manages transactions, schema validation and access rights.

This lets reporting, analysis and machine learning use the same validated tables instead of each relying on a separate copy. The lakehouse is part of our data foundation.

A data warehouse provides clean, structured tables for BI and is usually developed in SQL. A lakehouse can also store unstructured and semi-structured data, such as log files and JSON, and is built for Spark and Python alongside SQL.

The distinction is becoming less clear: in Microsoft Fabric, both the lakehouse and the warehouse store Delta tables in OneLake. According to Microsoft, a warehouse is a good fit if you need T-SQL and transactions across multiple tables. If you mainly work with structured data from ERP and CRM systems, read about building a data warehouse.

The medallion architecture divides a lakehouse into three layers. Bronze contains raw, unvalidated data as it came from the source. Silver contains validated, cleaned and deduplicated data. Gold contains tables organised around business questions, for dashboards and models.

Databricks describes it as a recommended practice, not a requirement, and advises against writing directly from ingestion to silver: a schema change at the source could then break your pipeline. Microsoft recommends placing each layer in its own workspace in Fabric to give you more control over each one.

Delta Lake stores data as Parquet files with an accompanying transaction log. This provides ACID transactions, schema validation when writing and a version for every change, so you can use time travel to retrieve an earlier state. It is the default format in both Databricks and Microsoft Fabric.

Because the protocol is open, other tools can read the tables too. With UniForm, Databricks adds Iceberg metadata so Iceberg readers can read the same files without a copy.

On Databricks, you use Unity Catalog: tables, volumes and models receive names such as catalog.schema.table, access rights are assigned through groups, and lineage shows which source feeds into which dashboard. For the Koninklijk Concertgebouworkest, we work with Delta Lake and Unity Catalog.

In Fabric, workspace roles, OneLake security down to row and column level, and sensitivity labels from Microsoft Purview do that work. Agreements on ownership and definitions are part of data governance.

If someone asks for their data to be erased under the GDPR, a DELETE is not enough. Delta Lake retains old table versions for time travel, so the data remains in the files until VACUUM removes it. For tables with deletion vectors, a REORG step is also needed first.

Databricks recommends starting in the bronze layer, then applying the deletion to silver and gold. Document that process before the first request arrives. Your legal counsel or privacy officer should decide on the legal aspects.

Rarely the technology. More often, no one owns each table, every team writes to its own folder, and nobody knows which notebook populates a gold table. The lakehouse then becomes a swamp of files after all.

Maintenance is also overlooked. Many small files slow down queries, and without VACUUM, old versions make storage grow. On Databricks, predictive optimization handles this for managed tables. Agree in advance who will maintain the platform after it goes live; that could be your own team or our management and continuous improvement service.

If you report on a few structured sources, your team works in SQL, and you do not expect to use machine learning or unstructured data. In that case, a data warehouse is simpler to build and manage. If you only need a handful of reports from one system, a Power BI model connected to the source is often enough.

A lakehouse will not fix a messy source either; start by agreeing how data should be entered. If a simpler solution is a better fit, we will say so. If you want to compare providers first, see our overview of data platform consultancies.