---
title: Embryo Loader
description: The Embryo Loader adds business keys to a Hub or Link when a satellite or link delivers them before the Hub's or Link's own source does.
---

[Skip to content](https://knowledge.bigenius-x.com/embryo-loader#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. [Properties](https://knowledge.bigenius-x.com/generators?hsLang=en#properties)

# Embryo Loader

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

The Embryo Loader adds business keys to a Hub or Link when a satellite or link delivers them before the Hub's or Link's own source does. Use it when satellites or links can deliver keys that the Hub's own source has not loaded yet. After the load, every row of such a relationship has its parent row in the Hub or Link.

Available since Generator 2.2. The Snowflake dbt and Databricks dbt generators do not offer it. In Dimensional and Data Mart, a fact row without a matching dimension row gets the unknown-member row instead, see [Custom Singleton Values (Model Object)](https://knowledge.bigenius-x.com/custom-singleton-values-model-object?hsLang=en).

### Switch it on

Use Embryo Loader (`UseEmbryoLoader`) is a property of a relationship. The default is `false`.

1. Open the action menu of the satellite or link and choose **Manage Relationships**.
2. Open the action menu of the relationship to the Hub or Link and choose **Edit Relationship**.
3. In the Implementation group, select **Use Embryo Loader** and choose **SAVE**.  
   ![Edit Relationship dialog with Role common\_customer and the Implementation group with Use Embryo Loader selected](https://knowledge.bigenius-x.com/hs-fs/hubfs/knowledge_base_screenshots/embryo-loader-edit-relationship.png?width=620&height=272&name=embryo-loader-edit-relationship.png)

The property is available on relationships of these model object types:

- Links: Link, Same As Link, Hierarchical Link, Driving Key Link, Business Link, Same As Business Link, Hierarchical Business Link, Business Driving Key Link
- Satellites: Satellite, Multi-Active Satellite, Record Tracking Satellite, Effectivity Satellite, Non-Historized Satellite, Business Satellite, Effectivity Business Satellite, Non-Historized Business Satellite
- Link Satellites: Link Satellite, Record Tracking Link Satellite, Effectivity Link Satellite, Non-Historized Link Satellite, Business Link Satellite, Effectivity Business Link Satellite, Record Tracking Business Link Satellite, Non-Historized Business Link Satellite

### When to use it

Without an Embryo Loader, a satellite row whose key is not in the Hub is loaded anyway and has no parent row. To log or stop such rows instead, use [Missing Foreign Keys (Data Quality Rule)](https://knowledge.bigenius-x.com/missing-foreign-keys-data-quality-rule?hsLang=en).

### Generated objects

Each model object with a selected relationship gets one Embryo Loader. In the load control it is the part `<model object type> Embryo Loader`, for example `Satellite Embryo Loader`.

| Platform | Generated loader |
| --- | --- |
| Microsoft SQL Server, Fabric Warehouse | Stored procedure `<object name>_EmbryoLoader` |
| Oracle | Package `<OBJECT NAME>_EMBRYOLOADER` |
| Snowflake | Procedure `<OBJECT NAME>_EMBRYOLOADER` |
| Databricks, Fabric Lakehouse | Notebook `<object name>_EmbryoLoader` |

Here `<object name>` is the table name of the model object, for example `RDV_SAT_customer_sat`. On Snowflake, the load control adds the task `LC_<OBJECT NAME>_EMBRYOTASK`.

The loader reads the keys of the current load from the object's Hashing view. It inserts, or seeds, each key whose hash key is not yet in the related Hub or Link table, in one transaction. The new row gets the load timestamp of the run, the hash key, the business key and the `BG_SourceSystem` of the delivering object. The Embryo Loader of a Link seeds its Hubs. With Use Embryo Loader selected on the Link Satellite's relationship to its Link and on the Link's relationships to its Hubs, the Embryo Loader of the Link Satellite seeds the Link and those Hubs.

### Load order

The Embryo Loader runs after the Loader of each Hub or Link it seeds and before the Loader of its own object. Embryo Loaders that seed the same Hub run one after another. A key that the Hub's own source delivers later is not loaded again, so the row keeps its `BG_SourceSystem` and load timestamp.

### Interactions and limitations

- Missing Foreign Keys on the same relationship checks the key before the Embryo Loader adds it. With **Load** cleared, the rule logs the row and stops it, so the Embryo Loader does not add its key. With **Load** selected, the rule logs the row and the Embryo Loader adds the key. Generation reports a validation warning for this rule on Data Vault relationships, because related objects can load in parallel.
- The unknown-member row of a Hub comes from the deployment script. The Embryo Loader never changes it.
- The business key of a Hub is unique. A source key equal to the business key of the unknown-member row makes the Embryo Loader fail; see [Custom Singleton Values (Model Object)](https://knowledge.bigenius-x.com/custom-singleton-values-model-object?hsLang=en).

### Example

The stage `CUSTOMER` delivers customers `941`, `950`, `951`, `960` and `980`. Each model object loads only some of them, and each sets `BG_SourceSystem` to a short name such as `hub` or `sat`:

- Hub `embryo_customer`: `941`
- Link `embryo_customer_link`: `941`, `951`
- Link Satellite `embryo_customer_lsat` on that Link: `941`, `960`
- Satellites `embryo_customer_sat`: `941`, `950`, and `embryo_customer_sat2`: `941`, `980`

All relationships have Use Embryo Loader selected. After one load on Microsoft SQL Server, the Hub contains:

```
CUSTOMER_ID  BG_SourceSystem  BG_LoadTimestamp
0            Unknown          1900-01-01 00:00
941          hub              2026-10-27 10:00
950          sat              2026-10-27 10:00
951          link             2026-10-27 10:00
960          lsat             2026-10-27 10:00
980          sat2             2026-10-27 10:00
```

### Check the result

On Microsoft SQL Server, each Embryo Loader returns the inserted rows in its `@RowCountInserted` output. A second load of the same data inserts `0` rows. Every satellite row has a Hub row with the same hash key:

```
SELECT COUNT(*) AS rows_without_hub
FROM RDV_SAT_embryo_customer_sat AS s
WHERE NOT EXISTS (
  SELECT 1 FROM RDV_HUB_embryo_customer AS h
  WHERE h.Hub_HK = s.Hub_HK);
```

The query returns `0`. With Use Embryo Loader cleared on this relationship, it returns `1`, because the Hub has no row `950`.

### Release differences

- Generator 2.2: Use Embryo Loader is introduced.
- Generator 2.4: Non-Historized Satellite and Non-Historized Business Satellite support it.

### Related articles

- Previous: [Edit a Relationship](https://knowledge.bigenius-x.com/edit-a-relationship?hsLang=en)
- Reference: [Custom Singleton Values (Model Object)](https://knowledge.bigenius-x.com/custom-singleton-values-model-object?hsLang=en), [Missing Foreign Keys (Data Quality Rule)](https://knowledge.bigenius-x.com/missing-foreign-keys-data-quality-rule?hsLang=en), [Behaviour for Nulled Business Keys in Links (Project)](https://knowledge.bigenius-x.com/behaviour-for-nulled-business-keys-in-links?hsLang=en)
- See also: [Create a Hub](https://knowledge.bigenius-x.com/create-a-hub?hsLang=en), [Create a Link](https://knowledge.bigenius-x.com/create-a-link?hsLang=en), [Create a Satellite](https://knowledge.bigenius-x.com/create-a-satellite?hsLang=en), [Create a Link Satellite](https://knowledge.bigenius-x.com/create-a-link-satellite?hsLang=en), [How biGENIUS-X builds hash values](https://knowledge.bigenius-x.com/how-bigenius-x-builds-hash-values?hsLang=en), [Generators Release - 2.2.0](https://knowledge.bigenius-x.com/generators-release-2.2.0?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