How to Build a Unified Data Lake for Upstream Oil and Gas Operations

By Johnson on August 11, 2026

how-to-build-unified-data-lake-upstream-oil-gas-operations

A data lake sounds like a storage decision, but for upstream oil and gas operations the hard part is almost never storage, it is the four different protocols standing between your field data and anything queryable. SCADA speaks OPC UA, your historian speaks PI Web API, geological data lives in WITSML, and production systems expose REST APIs, and none of them were designed with the others in mind. Building a queryable, AI-ready data lake means bridging all four cleanly, and you can book a demo to see this architecture applied to your own systems.

UPSTREAM INTELLIGENCE · DATA ARCHITECTURE · SCADA · HISTORIAN · WITSML

How to Build a Unified Data Lake for Upstream Oil and Gas Operations

An architecture guide to ingesting SCADA via OPC UA, historian data via PI Web API, geological data via WITSML, and production data via REST into one queryable, AI-ready upstream data lake.

WHY THIS IS HARDER THAN IT LOOKS

Four Protocols, One Data Lake, and No Shortcuts Between Them

Most upstream data lake projects underestimate the protocol bridging work because each individual connection looks straightforward in isolation. OPC UA to SCADA is a documented, standard interface. PI Web API to a historian is equally well documented. The difficulty appears when all four sources need to land in a common, well-indexed schema that an AI model or analyst can actually query without knowing which source system a given field originally came from.

4
Core Protocols in a Typical Upstream Stack
60-70%
Of Project Time Spent on Schema Reconciliation
3-6 Mo
Typical Timeline for a Well-Scoped Build
2-3x
Longer When Schema Is Designed After Ingestion Starts
PROTOCOL REFERENCE

The Four Data Sources and How Each One Connects

Each source system requires a different connection method and produces a different native data shape, and understanding those differences up front is what keeps the ingestion layer from becoming a permanent maintenance burden.

Source Protocol Data Type Typical Frequency
SCADA OPC UA Real-time flow, pressure, status tags Seconds to minutes
Historian PI Web API Time-series trend and event data Sub-minute to hourly
Geological Data WITSML Well logs, drilling and completion data Event-based, per well
Production Systems REST API Allocation, test, and accounting data Daily to monthly
THE THREE-LAYER BLUEPRINT

How the Data Lake Is Structured Once It Is Built

A well-built upstream data lake separates raw ingestion from queryable structure, so that new source systems can be added later without reworking everything built on top of the existing schema.

Layer 1

Raw Ingestion Zone

Data lands in its native structure directly from each protocol connection, preserved exactly as received so nothing is lost if downstream schema decisions need to be revisited later.

Layer 2

Normalized Schema Zone

Raw data is mapped into a common well-centric schema, with unit conversion, timestamp alignment, and well-ID resolution applied consistently across all four source types.

Layer 3

AI-Ready Query Zone

Normalized data is indexed and exposed for direct querying by analytics tools and AI models, with well-level, field-level, and time-range queries all returning consistent results regardless of source.

Skip the Months of Protocol Bridging Trial and Error

iFactory's platform already speaks OPC UA, PI Web API, WITSML, and REST, so the schema reconciliation work that consumes most build timelines is handled from day one. Book a demo and see the architecture applied to your own source systems.

HOW TO BUILD IT

A Step-by-Step Approach to Building Your Data Lake

The build sequence below reflects the order that avoids the most common cause of scope creep and schedule overrun: designing the normalized schema before ingestion starts rather than after.

1

Inventory Every Source System and Protocol Version

Catalogue every SCADA, historian, WITSML, and production system in use, including specific protocol versions, since older OPC UA and WITSML implementations can differ meaningfully from current standards.

2

Design the Normalized Schema First

Define the well-centric target schema, including well-ID conventions and unit standards, before any ingestion pipeline is built, so every connector is written against a fixed target rather than a moving one.

3

Build Ingestion Connectors by Protocol

Connect OPC UA, PI Web API, WITSML, and REST sources into the raw ingestion zone, validating data completeness against the source system before moving to normalization.

4

Apply Normalization and Validation Rules

Map raw data into the normalized schema with automated validation checks that flag unit mismatches, missing well-IDs, and timestamp misalignment before they propagate into the query layer.

5

Expose the AI-Ready Query Layer

Index the normalized data and expose it for analytics and AI model queries, confirming that well-level and field-level queries return consistent results regardless of originating source system.

VALIDATION CHECKLIST

How to Confirm the Data Lake Is Actually AI-Ready

A data lake that stores everything but cannot be queried reliably is not AI-ready, it is just a larger version of the fragmented storage problem it was meant to solve. The checklist below covers the validation points most builds skip until an AI model surfaces the gap downstream.

Well-ID Consistency

Every source system's well identifier resolves to the same canonical well record, with no orphaned or duplicate entries across SCADA, historian, WITSML, and production data.

Unit Standardization

Pressure, flow, and volume units are converted consistently across all sources, with no mixed-unit fields that would silently corrupt AI model training or query results.

Timestamp Alignment

Time zones and sampling intervals are normalized across sources, so a query joining real-time SCADA data with daily production data returns a coherent, correctly aligned result.

Query Performance at Scale

Well-level and field-level queries return results within an acceptable window even as historical data volume grows, validated under realistic multi-year data retention loads.

SCALING THE LAKE

What Changes as You Add More Wells, Years, and Source Systems

A data lake architecture that performs well during initial build and testing does not automatically stay performant as data volume grows across additional wells, additional years of history, and additional source systems added after the initial build. Planning for that growth during the original schema design avoids a costly re-architecture later.

Historical data retention is often the first scaling pressure teams encounter, since multi-year SCADA and historian data volumes grow quickly once every well in a large portfolio is included. Query performance needs to be validated not just against current data volume but against the volume expected two or three years into the platform's life, particularly for time-range queries that span the full retention window.

Adding new source systems after the initial build, such as a newly acquired field running a different SCADA vendor, is far less disruptive when the normalized schema was designed to be source-agnostic from the start, since the new system only needs a new ingestion connector rather than a redesign of the schema itself.

TEAM OWNERSHIP

Who Should Own the Data Lake Once It Is Built

A data lake without a clear owner tends to drift out of sync with the source systems it depends on, as protocol versions change and new wells come online without anyone responsible for keeping the ingestion layer current.

IT and Data Engineering

Typically owns ingestion pipeline health, schema versioning, and query performance, maintaining the technical infrastructure as source systems evolve.

Reservoir and Production Engineering

Defines the well-centric schema requirements and validates that normalized data accurately reflects what engineering teams need for analysis and AI model input.

FROM STORAGE TO INSIGHT

What Becomes Possible Once the Query Layer Is Live

The value of a unified data lake is rarely visible during the build itself, since most of that work is invisible plumbing that only pays off once analysts and AI models can query across sources they previously could not touch together. A reservoir engineer investigating a production anomaly can query WITSML completion data alongside real-time SCADA pressure trends in a single request, rather than pulling each dataset separately and reconciling them manually, which is often where the earliest and clearest wins from the project appear.

Over time, the AI-ready query layer also becomes the foundation for more advanced applications, such as training predictive models across the full historical dataset or running field-wide comparative analysis that would have required a dedicated data engineering effort under the old fragmented system. The data lake, once built correctly, tends to keep paying off in ways the original project scope did not fully anticipate.

FREQUENTLY ASKED QUESTIONS

Common Questions From Data and Engineering Teams

Do we need to migrate off our existing historian or SCADA system to build this?
No, the data lake is built by connecting to your existing SCADA, historian, WITSML, and production systems through their native protocols rather than replacing them, so field operations and existing workflows continue unchanged while the unified query layer is built on top. Contact our support team for a compatibility review of your current systems.
How long does a typical data lake build actually take?
A well-scoped build with the normalized schema designed up front typically takes three to six months from initial source inventory to a validated, AI-ready query layer, though the timeline depends heavily on how many distinct protocol versions and vendor systems are present across the portfolio. Book a demo for a timeline estimate specific to your systems.
Why does schema design need to happen before ingestion instead of alongside it?
Building ingestion pipelines against an undefined target schema is the most common reason data lake projects run two to three times longer than planned, since every connector often has to be reworked once the schema is finally settled, whereas designing the schema first lets every connector be built once against a fixed target. Contact our support team to review your schema design approach.
Can WITSML geological data really be queried alongside real-time SCADA data?
Yes, once both are mapped into the same well-centric normalized schema, an analyst or AI model can query drilling and completion data from WITSML alongside real-time production data from SCADA within a single request, which is precisely the cross-source query capability that makes a unified data lake more valuable than separate source-system dashboards. Book a demo to see a cross-source query in action.
What is the biggest risk to watch for during the build?
The most common failure point is validating data completeness against the source system too late in the process, allowing gaps or misalignments introduced during ingestion to propagate silently into the normalized schema and eventually into AI model outputs, so validation checkpoints belong at every layer rather than only at the end. Contact our support team to discuss a validation plan for your build.

Build Your Upstream Data Lake on Architecture That Already Works

Connect SCADA, historian, WITSML, and production data into one AI-ready query layer without months of protocol bridging trial and error.


Share This Story, Choose Your Platform!