Developer Docs

Data Schema Fundamentals

Relational Data Concepts

Our data platform is built on top of PostgreSQL. PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. Our data schema enforces referential integrity. This affects how records are inserted, the order in which they are inserted and how they are deleted. The RESTful APIs will not accept records which will break a referential constraint (e.g. inserting a daily production record for a well which does not yet exist in the well header table). Read More: Relational Database concepts

Data ingest from WellView® and OpenWells® Source Systems

The data ingest RESTful APIs use the original source system IDs as key fields. For WellView and OpenWells the data schema documentation provides guidance as to which table/view and which column/value to use as the source system ID. Guidance is provided for the Well Header, the Wellbore and all other Wellbore related data sets

WellView is a registered trademark of Peloton Computer Enterprises Ltd. OpenWells is a registered trademark of Halliburton Landmark.

CRUD Operations

Database CRUD operations are performed using the REST APIs. Detailed API tutorials and examples are available for Postman, Python, and C#.NET

Data must be pushed in the correct order to maintain referential integrity. The API REST based POST commands perform data UPSERTS. Each UPSERT must pass a series of data validation checks to maintain referential integrity. UPSERTS that fail the data integrity check will be rejected. Table specific data integrity check rules are documented at the bottom of each table specification.

UPSERTS

If a duplicate record exists, the previous record will be UPSERTED (overwritten) with the new data provided by the conflicting INSERT request. The REST based POST command will UPSERT if a record exists.

DELETES

CASCADE DELETE functionality is enabled. This means that if a parent record is deleted, all child records will delete also. (e.g. - if a Well Header is deleted, all data related to that well is also deleted). The REST based DELETE command will DELETE data.

SELECT

Various datasets are available for retrieval. The REST based GET command will return JSON based data sets. These datasets can be used by other applications such as Microsoft Power BI or can be integrated into custom workflows, data warehouses or applications.