---
title: PIT
description: A PIT stores, for each business key of a Hub or Link and each point in time, which version of each of its satellites was valid.
---

[Skip to content](https://knowledge.bigenius-x.com/create-a-pit#main-content)

[Contact us](https://knowledge.bigenius-x.com/kb-tickets/new?hsLang=en) [Go to Customer Portal](https://knowledge.bigenius-x.com/customer-portal?hsLang=en)

[![TRI\_Logo\_biGENIUS\_2020\_RGB\_s](https://knowledge.bigenius-x.com/hs-fs/hubfs/Marketing/TRI_Logo_biGENIUS_2020_RGB_s.png?width=150&height=42&name=TRI_Logo_biGENIUS_2020_RGB_s.png)](https://www.bigenius-x.com/)

Open main navigation

Close main navigation

- [Contact us](https://knowledge.bigenius-x.com/kb-tickets/new)
- [Go to Customer Portal](https://knowledge.bigenius-x.com/customer-portal)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [biGENIUS-X Knowledge Base](https://knowledge.bigenius-x.com/?hsLang=en)
2. [Generators](https://knowledge.bigenius-x.com/generators?hsLang=en)
3. [Model Object Type](https://knowledge.bigenius-x.com/generators?hsLang=en#model-object-type)

# PIT

**Applies to**  
Platform: Microsoft SQL Server · Snowflake · Snowflake dbt · Databricks · Databricks dbt · Fabric Lakehouse · Fabric Warehouse · Oracle  
Architecture: Data Vault

A PIT stores, for each business key of a Hub or Link and each point in time, which version of each of its satellites was valid. Use it to join several satellites of the same Hub or Link at a common point in time, for example in a Current View, a History View or a mart. After each load, the PIT table holds one row per key and per start of a satellite version.

### Sources and relationships

A PIT has relationships to [Satellites](https://knowledge.bigenius-x.com/create-a-satellite?hsLang=en) or [Link Satellites](https://knowledge.bigenius-x.com/create-a-link-satellite?hsLang=en) that all belong to the same [Hub](https://knowledge.bigenius-x.com/create-a-hub?hsLang=en) or [Link](https://knowledge.bigenius-x.com/create-a-link?hsLang=en); validation checks this rule. It has exactly one dataflow, whose dataflow set contains these satellites and can also contain the Hub or Link. Each relationship adds two terms to the PIT, which the dataflow maps from the satellite:

- [`DVPIT_ForeignKey_Identity`](https://knowledge.bigenius-x.com/dvpit_foreignkey_identity?hsLang=en), named `<satellite name>_<role>_HK`, from the `Hub_HK` or `Link_HK` of the satellite.
- [`DVPIT_ForeignKey_LoadDate`](https://knowledge.bigenius-x.com/dvpit_foreignkey_loaddate?hsLang=en), named `<role>_BG_ValidFromTimestamp`, from its `BG_ValidFromTimestamp`.

`<satellite name>` is the name of the satellite and `<role>` the role of the relationship. Current View, History View, Business Current View, Business History View, [Business Driving Key Link](https://knowledge.bigenius-x.com/business-driving-key-link?hsLang=en) and [Vault Out](https://knowledge.bigenius-x.com/create-a-vault-out?hsLang=en) can read a PIT.

### Create the model object

- With the wizard: open the menu of a Hub and choose **Automate** and then **Create PIT from Hub**. On a Link, Driving Key Link, Hierarchical Link or Same As Link, choose **Create PIT from Link**. The steps are [Create Model Object](https://knowledge.bigenius-x.com/wizard-step-create-model-object?hsLang=en), Select Relationship (no article yet), [Create Dataflow](https://knowledge.bigenius-x.com/wizard-step-create-dataflow?hsLang=en) and [Add to View](https://knowledge.bigenius-x.com/wizard-step-add-to-view?hsLang=en). See [Create a Model Object with the wizard](https://knowledge.bigenius-x.com/create-a-model-object-with-the-wizard?hsLang=en).
- Manually: [create a model object](https://knowledge.bigenius-x.com/create-a-model-object?hsLang=en) of type PIT in the Raw Vault layer, [add a relationship](https://knowledge.bigenius-x.com/add-a-relationship?hsLang=en) to each satellite, [create a dataflow set](https://knowledge.bigenius-x.com/create-a-data-flow-set?hsLang=en), [add the satellites](https://knowledge.bigenius-x.com/add-a-model-object-into-a-data-flow-set?hsLang=en) and [map the two terms of each relationship](https://knowledge.bigenius-x.com/map-a-source-term-with-a-target-term?hsLang=en).

### Loading behavior

- The source view collects every combination of key and `BG_ValidFromTimestamp` that occurs in any related satellite table. The unknown-member rows of the satellites are left out.
- For each satellite, it takes the latest version whose `BG_ValidFromTimestamp` is not later than that point in time. A satellite without such a version contributes the key of zero bytes and 1900-01-01, which point to its unknown-member row.
- With Implementation Type `Permanent`, the delta view keeps the rows whose key and `BG_ValidFromTimestamp` are not in the table yet, and the loader inserts them. With `Cached`, the loader empties the table and inserts all rows of the source view.
- The result view adds `BG_ValidToTimestamp`: the next point in time of the same key, or the End of Universe.

### Properties

- [Implementation Type](https://knowledge.bigenius-x.com/implementation-type-model-object?hsLang=en): `Permanent` (default) or `Cached`, see Loading behavior.
- [Foreign Key Mode](https://knowledge.bigenius-x.com/foreign-key-mode-model-object?hsLang=en): whether the table gets a foreign key to each satellite table, on the two terms of the relationship. With `Create Disabled`, the default, they are created and disabled.
- Increment Management Type: `Auto` (default) or `User`, for an incremental load. See [Configure an incremental load](https://knowledge.bigenius-x.com/configure-an-incremental-load?hsLang=en). Available since Generator 2.2.

The project properties [Persist Validity](https://knowledge.bigenius-x.com/persist-validity-project?hsLang=en) and [Create Result Views](https://knowledge.bigenius-x.com/create-result-views-project?hsLang=en) also apply.

### Default Terms

- [`PIT_HK`](https://knowledge.bigenius-x.com/pit_hk?hsLang=en): the key of the Hub or Link that the satellites belong to. With `BG_ValidFromTimestamp` it forms the primary key.
- [`BG_ValidFromTimestamp`](https://knowledge.bigenius-x.com/bg_validfromtimestamp?hsLang=en): the point in time.
- [`BG_ValidToTimestamp`](https://knowledge.bigenius-x.com/bg_validtotimestamp?hsLang=en): the next point in time of the same key.
- [`BG_LoadTimestamp`](https://knowledge.bigenius-x.com/bg_loadtimestamp?hsLang=en): the load that inserted the row.
- `DVPIT_ForeignKey_Identity` and `DVPIT_ForeignKey_LoadDate`: one pair per relationship, see Sources and relationships.

### Generated objects

These are the names on Microsoft SQL Server for a PIT with the default settings. `<model object name>` stands for the name of the model object:

| Role | Generated name | Purpose |
| --- | --- | --- |
| Source | `RDV_PIT_<model object name>_Source` | Builds the points in time |
| Delta | `RDV_PIT_<model object name>_Delta` | Selects new points in time |
| Loader | `RDV_PIT_<model object name>_Loader` | Inserts the new rows |
| Storage | `RDV_PIT_<model object name>` | PIT table |
| Result | `RDV_PIT_<model object name>_Result` | Query view with validity |

- The loader is a stored procedure, the PIT table is a table, and the other objects are views.
- The delta view exists only with Implementation Type `Permanent`.
- The table has an index on the two terms of each relationship.
- The result view exists only with Create Result Views; without it, Persist Validity must be true.
- The table has no unknown-member row.

With the default settings, a load runs this chain after the satellites are loaded:

```
satellite tables and result views -> _Source -> _Delta -> _Loader
_Loader -> RDV_PIT_<model object name> -> _Result
```

The source view reads the satellite tables for the points in time and their result views for the valid versions. The delta view compares the source view with the PIT table. The loader inserts the new rows with the load timestamp as `BG_LoadTimestamp`.

### Example

The PIT `customer_based_on_hub` on Microsoft SQL Server belongs to the Hub `load_customer_hub`. It has relationships to two Satellites of this Hub: `load_customer_sat` with the role `CUSTOMER` holds the customer name, and `load_caching_hashing` with the role `CUSTOMER_Hashing` holds the address. Persist Validity is false. The loads deliver these customers:

- Load 1 on 2026-10-28 08:00: customer 1 Contoso Ltd at Bahnhofstrasse 1 and customer 2 Fabrikam AG.
- Load 2 on 2026-10-29 08:00: customer 1 is renamed to Contoso Group, and customer 3 Northwind arrives.
- Load 3 on 2026-10-30 08:00: customer 1 moves to Hardturmstrasse 100.
- Load 4 on 2026-10-31 08:00: no change.

### Check the result

Query the result view with the business key of the Hub, here in the schema `p2`:

```
SELECT h.CUSTOMER_ID, p.BG_ValidFromTimestamp, p.BG_ValidToTimestamp,
       p.CUSTOMER_BG_ValidFromTimestamp,
       p.CUSTOMER_Hashing_BG_ValidFromTimestamp
FROM p2.RDV_PIT_customer_based_on_hub_Result AS p
JOIN p2.RDV_HUB_load_customer_hub_Result AS h
  ON h.Hub_HK = p.PIT_HK
ORDER BY h.CUSTOMER_ID, p.BG_ValidFromTimestamp;
```

This is the result after load 4, with the column names and timestamps shortened:

```
ID  ValidFrom         ValidTo           CUSTOMER          CUSTOMER_Hashing
1   2026-10-28 08:00  2026-10-29 08:00  2026-10-28 08:00  2026-10-28 08:00
1   2026-10-29 08:00  2026-10-30 08:00  2026-10-29 08:00  2026-10-28 08:00
1   2026-10-30 08:00  9999-12-31 00:00  2026-10-29 08:00  2026-10-30 08:00
2   2026-10-28 08:00  9999-12-31 00:00  2026-10-28 08:00  2026-10-28 08:00
3   2026-10-29 08:00  9999-12-31 00:00  2026-10-29 08:00  2026-10-29 08:00
```

- Customer 1 has three points in time: the first load, the new name and the new address. At 2026-10-29 the PIT references the new name version and still the first address version.
- Load 4 changed no satellite and inserted no PIT row.

### Platform differences

- Persist Validity is true by default on Snowflake, Snowflake dbt, Databricks, Databricks dbt, Fabric Lakehouse and Fabric Warehouse, and false on Microsoft SQL Server and Oracle. With true, the table stores `BG_ValidToTimestamp`, and the loader sets it.
- Snowflake: names are in capitals, and the loader is a stored procedure. A load control task calls it. The dataflow property Warehouse Placeholder Variable Name applies.
- Databricks and Fabric Lakehouse: table and view names are in lowercase, and the loader is the notebook `RDV_PIT_<model object name>_Loader`. The properties [File Format](https://knowledge.bigenius-x.com/file-format-model-object?hsLang=en), [Optimization Method](https://knowledge.bigenius-x.com/optimization-method-model-object?hsLang=en) and [Optimization Method Columns](https://knowledge.bigenius-x.com/optimization-method-columns-model-object?hsLang=en) apply. Fabric Lakehouse allows only Foreign Key Mode `None`.
- Databricks dbt and Snowflake dbt: the PIT becomes the dbt models `rdv_pit_<model object name>_source` and `rdv_pit_<model object name>`. The model `rdv_pit_<model object name>_result` exists only when Create Result Views is true; the default on dbt is false. Increment Management Type is not available.
- Fabric Warehouse: the same objects as on Microsoft SQL Server, deployed by notebooks.
- Oracle: names are in capitals, and the loader is a PL/SQL package. Partition Clause adds its text to the `CREATE TABLE` statement. Table Compression, the tablespaces and the statistics properties also apply.
- Foreign Key Mode `Create Enforced` exists only on Microsoft SQL Server and Oracle.

### Limitations

- All related satellites must belong to the same Hub or Link. See [Relationships from PIT (Business Rule)](https://knowledge.bigenius-x.com/relationships-from-pit-business-rule?hsLang=en).
- A PIT has exactly one dataflow. A relationship to the Hub or Link itself raises a validation error.
- A Current View or History View that maps the `DrivingKeyLink_HK` of a Driving Key Link cannot read a PIT.

### Related articles

- Previous: [Satellite](https://knowledge.bigenius-x.com/create-a-satellite?hsLang=en), [Link Satellite](https://knowledge.bigenius-x.com/create-a-link-satellite?hsLang=en)
- Next: [Current View](https://knowledge.bigenius-x.com/create-a-current-view?hsLang=en), [History View](https://knowledge.bigenius-x.com/create-a-history-view?hsLang=en)
- Reference: [PIT\_HK](https://knowledge.bigenius-x.com/pit_hk?hsLang=en), [DVPIT\_ForeignKey\_Identity](https://knowledge.bigenius-x.com/dvpit_foreignkey_identity?hsLang=en), [DVPIT\_ForeignKey\_LoadDate](https://knowledge.bigenius-x.com/dvpit_foreignkey_loaddate?hsLang=en), [Persist Validity (Project)](https://knowledge.bigenius-x.com/persist-validity-project?hsLang=en), [Create Result Views (Project)](https://knowledge.bigenius-x.com/create-result-views-project?hsLang=en), [Foreign Key Mode (Model Object)](https://knowledge.bigenius-x.com/foreign-key-mode-model-object?hsLang=en), [Relationships from PIT (Business Rule)](https://knowledge.bigenius-x.com/relationships-from-pit-business-rule?hsLang=en)
- See also: [Business PIT](https://knowledge.bigenius-x.com/create-a-business-pit?hsLang=en), [Model a Data Vault Solution](https://knowledge.bigenius-x.com/model-a-data-vault-solution?hsLang=en), [Create a Model Object with the wizard](https://knowledge.bigenius-x.com/create-a-model-object-with-the-wizard?hsLang=en)

- [Getting started](https://knowledge.bigenius-x.com/getting-started?hsLang=en#main-content)

    - [Guidelines](https://knowledge.bigenius-x.com/getting-started?hsLang=en#guidelines)
    - [Start working](https://knowledge.bigenius-x.com/getting-started?hsLang=en#start-working)
    - [Account](https://knowledge.bigenius-x.com/getting-started?hsLang=en#account)
- [General overview](https://knowledge.bigenius-x.com/general-overview?hsLang=en)
- [Artificial Intelligence](https://knowledge.bigenius-x.com/artificial-intelligence?hsLang=en)
- [Application Modules](https://knowledge.bigenius-x.com/application-modules?hsLang=en#main-content)

    - [Administration](https://knowledge.bigenius-x.com/application-modules?hsLang=en#administration)
    - [Solutions](https://knowledge.bigenius-x.com/application-modules?hsLang=en#solutions)
    - [Global Features](https://knowledge.bigenius-x.com/application-modules?hsLang=en#global-features)
    - [Projects](https://knowledge.bigenius-x.com/application-modules?hsLang=en#projects)
    - [Branches](https://knowledge.bigenius-x.com/application-modules?hsLang=en#branches)
    - [Data Connections](https://knowledge.bigenius-x.com/application-modules?hsLang=en#data-connections)
    - [Dataflow Modeling - Overview](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-overview)
    - [Dataflow Modeling - Wizard Steps](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-wizard-steps)
    - [Dataflow Modeling - Terms](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-terms)
    - [Dataflow Modeling - Term Mapping](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-term-mapping)
    - [Dataflow Modeling - Relationships](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-relationships)
    - [Dataflow Modeling - Data Quality](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-data-quality)
    - [Dataflow Modeling - Indexes](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-indexes)
    - [Relationship Modeling](https://knowledge.bigenius-x.com/application-modules?hsLang=en#relationship-modeling)
    - [Generate Artifacts](https://knowledge.bigenius-x.com/application-modules?hsLang=en#generate-artifacts)
    - [Project Settings](https://knowledge.bigenius-x.com/application-modules?hsLang=en#project-settings)
    - [Data Marketplace](https://knowledge.bigenius-x.com/application-modules?hsLang=en#data-marketplace)
- [Generators](https://knowledge.bigenius-x.com/generators?hsLang=en#main-content)

    - [Fabric Warehouse](https://knowledge.bigenius-x.com/generators?hsLang=en#fabric-warehouse)
    - [Fabric Lakehouse](https://knowledge.bigenius-x.com/generators?hsLang=en#fabric-lakehouse)
    - [Databricks](https://knowledge.bigenius-x.com/generators?hsLang=en#databricks)
    - [Snowflake](https://knowledge.bigenius-x.com/generators?hsLang=en#snowflake)
    - [Microsoft SQL Server](https://knowledge.bigenius-x.com/generators?hsLang=en#microsoft-sql-server)
    - [Artifacts](https://knowledge.bigenius-x.com/generators?hsLang=en#artifacts)
    - [Replace Placeholders](https://knowledge.bigenius-x.com/generators?hsLang=en#replace-placeholders)
    - [Target solution environment](https://knowledge.bigenius-x.com/generators?hsLang=en#target-solution-environment)
    - [Deployment](https://knowledge.bigenius-x.com/generators?hsLang=en#deployment)
    - [Deployment with an Azuze DevOps pipeline](https://knowledge.bigenius-x.com/generators?hsLang=en#deployment-with-an-azuze-devops-pipeline)
    - [Delta Deployment](https://knowledge.bigenius-x.com/generators?hsLang=en#delta-deployment)
    - [Load control environment](https://knowledge.bigenius-x.com/generators?hsLang=en#load-control-environment)
    - [Load data with a native load control](https://knowledge.bigenius-x.com/generators?hsLang=en#load-data-with-a-native-load-control)
    - [Load data with Apache Airflow](https://knowledge.bigenius-x.com/generators?hsLang=en#load-data-with-apache-airflow)
    - [Model Object Type](https://knowledge.bigenius-x.com/generators?hsLang=en#model-object-type)
    - [Properties](https://knowledge.bigenius-x.com/generators?hsLang=en#properties)
    - [Default Terms](https://knowledge.bigenius-x.com/generators?hsLang=en#default-terms)
- [Discovery application](https://knowledge.bigenius-x.com/discovery-application?hsLang=en#main-content)

    - [Discovery configurations](https://knowledge.bigenius-x.com/discovery-application?hsLang=en#discovery-configurations)
- [Best practices](https://knowledge.bigenius-x.com/best-practices?hsLang=en#main-content)

    - [Modeling Approaches](https://knowledge.bigenius-x.com/best-practices?hsLang=en#modeling-approaches)
    - [Use Cases](https://knowledge.bigenius-x.com/best-practices?hsLang=en#use-cases)
    - [Business Rules](https://knowledge.bigenius-x.com/best-practices?hsLang=en#business-rules)
    - [Data Quality Rules](https://knowledge.bigenius-x.com/best-practices?hsLang=en#data-quality-rules)
- [FAQs](https://knowledge.bigenius-x.com/faqs?hsLang=en)
- [Product Release Notes](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en#main-content)

    - [SaaS Application](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en#saas-application)
    - [Discovery application](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en#discovery-application)
    - [Generators](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en#generators)
- [Legal Documents](https://knowledge.bigenius-x.com/legal-documents?hsLang=en#main-content)

    - [Current legal docs](https://knowledge.bigenius-x.com/legal-documents?hsLang=en#current-legal-docs)
    - [Software Product and Limits](https://knowledge.bigenius-x.com/legal-documents?hsLang=en#software-product-and-limits)

- [Contact us](https://knowledge.bigenius-x.com/kb-tickets/new?hsLang=en)
- [Customer Portal](https://knowledge.bigenius-x.com/customer-portal)
- [Sign in](https://knowledge.bigenius-x.com/_hcms/mem/login)

[![biGENIUS logo](https://knowledge.bigenius-x.com/hubfs/TRI_Logo_biGENIUS_2020_RGB-1.svg "biGENIUS logo")](https://www.bigenius-x.com)

<https://www.linkedin.com/company/bigenius> <https://www.youtube.com/@biGENIUS_DWA>

All rights reserved © 2025, biGENIUS AG