LogoLogo
Go to Syntho.AI
Dutch (AI Translated)
Dutch (AI Translated)
  • Welcome to Syntho
  • Overzicht
    • About Syntho
    • Get started
      • Introduction to data generation methods
      • Use Case: AI-generated synthetic data
      • Use Case: AI-generated synthetic time series data
      • Use Case: Database de-identification
    • Frequently asked questions
  • Werkruimten instellen
    • View workspaces
    • Create a workspace
      • Connect to a database
        • PostgreSQL
        • MySQL / MariaDB
        • Oracle
        • Microsoft SQL Server
        • DB2
        • Databricks
        • Hive
        • SAP Sybase
        • Azure Data Lake Storage (ADLS)
        • Amazon Simple Storage Service (S3)
    • Edit a workspace
    • Delete a workspace
    • Share a workspace
    • Transfer workspace ownership
  • Een gegevensgeneratietaak configureren
    • Configure table settings
    • Configure column settings
      • AI-powered generation
        • Sequence model
          • Prepare your sequence data
      • Mockers
        • Consistent mapping
        • Supported languages
      • Duplicate
      • Exclude
      • Hashing
      • Calculated columns
      • Primary Key / Foreign Key
    • Manage personally identifiable information (PII)
      • Discover and de-identify PII columns
        • Identify PII columns manually
        • Automatic PII discovery with PII scanner
      • Remove columns from PII list
      • Automatic PII discovery and de-identification in free text columns
      • Supported PII & PHI entities
    • Manage foreign keys
      • Foreign key inheritance
      • Add virtual foreign keys
        • Add virtual foreign keys
        • Use foreign key scanner
        • Import foreign keys via JSON
        • Export foreign keys via JSON
      • Delete foreign keys
      • Circular foreign key references
    • Validate and Synchronize workspace
    • View and adjust generation settings
    • Table relationships
      • Verify foreign keys
      • Synthesize individual tables with automatic key matching
      • De-identify PII columns
  • Syntho implementeren
    • Introduction
      • Syntho architecture
      • Requirements
        • Requirements for Docker deployments
        • Requirements for Kubernetes deployments
      • Access Docker images
        • Using internet
        • Without internet
    • Deploy Syntho using Docker
      • Preparations
      • Deploy using Docker Compose
      • Run the application
      • Manually saving logs
    • Deploy Syntho using Kubernetes
      • Preparations
      • Deploy Ray using Helm
        • Troubleshooting
      • Deploy Syntho using Helm
      • Validate the deployment
      • Troubleshooting
      • Upgrading the applications
    • Manage users and access
      • Single Sign-On (SSO) in Azure
      • Manage admin users
      • Manage non-admin users
    • Logs and monitoring
  • Subsetting
    • What is subsetting
    • Verify foreign keys
    • Configure subsetting
  • Syntho API
    • Syntho REST API
Powered by GitBook
On this page
  • Subsetting modi
  • Hoe werkt Syntho subsetting?
  • Beperkingen en aanbevelingen

Was this helpful?

  1. Subsetting

What is subsetting

Coming soon

Deze functie zal binnenkort worden vrijgegeven.

Database subsetting verwijst naar de praktijk van het maken van een kleinere, representatieve subset van een grotere database. Hiermee kun je op een efficiënte manier de grootte van je doeldatabase verkleinen met behoud van de referentiële integriteit van de gegevens. Je kunt instellen hoe Syntho een subset moet genereren. Je kunt bijvoorbeeld instellen dat subsetting slechts 5% van alle transacties of alle gegevens van patiënten in Nederland bevat.

Subsetting kan om verschillende redenen relevant zijn:

  1. Testen: Een subset van een database kan worden gebruikt voor het testen van nieuwe functies, wijzigingen of upgrades voordat deze in de productiedatabase worden geïmplementeerd. Dit kan helpen om potentiële problemen of bugs te identificeren voordat ze de hele database beïnvloeden.

  2. Ontwikkeling: Ontwikkelaars hebben vaak een subset van de database nodig om aan nieuwe functies of toepassingen te werken zonder de productiedatabase te verstoren. Dit kan het ontwikkelingsproces versnellen en het risico op gegevensverlies of corruptie verkleinen.

  3. Training: Een (synthetische) subset van de database kan worden gebruikt voor trainingsdoeleinden, zodat gebruikers kunnen leren hoe ze de database moeten gebruiken in een veilige en gecontroleerde omgeving.

  4. Naleving: Sommige wettelijke vereisten of privacywetten kunnen het gebruik van een subset van gegevens vereisen voor specifieke doeleinden, zoals testen of auditen, om ervoor te zorgen dat gevoelige informatie wordt beschermd.

Subsetting modi

Subsetting in Syntho maakt gebruik van foreign keys om relaties in de gegevens te identificeren. Deze relaties zijn al aanwezig in de brondatabase of kunnen worden aangemaakt met de foreign keys tool van Syntho. Het subsettingproces gebruikt deze relaties om door de database te navigeren en de subset op te bouwen.

Elke tabel in de brondatabase valt in een van de volgende categorieën voor subsetting:

  1. Target table: De doeltabel is het startpunt voor het opbouwen van de subset en levert de initiële set rijen. Syntho haalt gegevens op uit de doeltabel om vervolgens informatie uit gekoppelde tabellen te identificeren. Een doeltabel bevat meestal entiteiten die geassocieerd zijn met de meeste andere informatie in de database, zoals patiënten, klanten of transacties. Om referentiële integriteit te waarborgen, kan niet meer dan één doeltabel worden ingesteld.

  2. Linked tables: Deze tabellen zijn direct of indirect verbonden met een doeltabel.

    • Downstream tabellen bevatten gegevens die nodig zijn om de referentiële integriteit in de subset te behouden en hebben primaire sleutels waarnaar verwezen wordt door foreign keys in gerelateerde tabellen.

    • Upstream tabellen bevatten gegevens met een foreign key die verwijst naar een primary key in de doeltabel en kunnen nuttige informatie bevatten.

    Sommige verwante tabellen kunnen zowel stroomopwaarts als stroomafwaarts zijn, in welk geval filtering alleen kan worden toegepast op stroomopwaarts records. Syntho haalt gegevens uit gekoppelde tabellen om referentiële integriteit te behouden in de output subset. Koppelingen tussen tabellen kunnen direct zijn, zoals een doeltabel met allergieën die verwijst naar een patiëntentabel via een foreign key relatie, of indirect, zoals een doeltabel die verwijst naar een patiëntentabel die op zijn beurt verwijst naar een ziekenhuistabel. De subset bevat alle relevante informatie uit gekoppelde tabellen.

  3. Duplicated tables: Een dubbeltabel bevat statische waarden die gebruikt worden in andere tabellen in de subset. Syntho haalt alle gegevens in een opzoektabel op, ongeacht of en waar de waarden gebruikt worden. Relaties met dubbele tabellen worden niet meegenomen in de subsetting.

  4. Excluded tables: Tabellen die niet zijn aangemerkt als doeltabellen, gekoppelde tabellen of gedupliceerde tabellen, worden uitgesloten van de subset.

Hoe werkt Syntho subsetting?

Het Syntho subsetting algoritme behandelt een brondatabase als een gerichte acyclische grafiek waarin elke tabel een knooppunt is en de relaties de gerichte randen zijn. Met deze abstractie in gedachten kunnen we de hele grafiek doorkruisen vanaf elk punt (doeltabel) naar alle andere verbonden tabellen met behulp van de topologische volgorde.

Zodra de doeltabel naar de doeldatabase is gekopieerd, begint het upstream en downstream proces waarbij gegevens voor de gekoppelde tabellen zodanig worden gekopieerd dat naar alle rijen correct wordt verwezen zodat referentiële integriteitscontrole niet faalt. Als er dubbele of uitgesloten tabellen zijn ingesteld in de configuratie, worden deze als volgt gekopieerd, maar de referentiële integriteit kan niet worden gegarandeerd.

Een algemeen overzicht van de subsetting stroom kan hieronder worden gezien:

  1. Verwijder cyclische relaties uit de database

  2. Doeltabel kopiëren van bron- naar doeldatabase

  3. Duplicaattabellen naar doeldatabase kopiëren

  4. Kopieer upstream tabellen naar doel database

  5. Downstream tabellen naar doel database kopiëren

Beperkingen en aanbevelingen

  • Het subsetting proces neemt als invoer een acyclische gerichte grafiek en als de bron database cycli bevat zou dit niet werken. Syntho kan zulke gevallen behandelen door een van de randen te verwijderen die de cyclus veroorzaakt. Dit betekent ook dat referentiële integriteit niet behouden kan blijven in het eindproduct. Het wordt aanbevolen om cycli handmatig te verwijderen om de meest representatieve subset te krijgen.

  • Het subsetproces is erg afhankelijk van de configuratie van de doeltabel. Hoewel de gebruiker 5% van de doeltabel kan selecteren, betekent dat niet dat de uiteindelijke database 5% van alle gegevens zal bevatten. Er is een mogelijkheid dat de 5% van de doeltabel koppelt aan alle gegevens in de andere tabellen, wat betekent dat om referentiële integriteit te behouden alle andere records worden gekopieerd. Om de uiteindelijke subsetwaarden dicht bij de koppelingen te krijgen, moet een geschikte doeltabel worden geselecteerd.

Caution: Het subsettingproces is van nature niet parallelleerbaar, wat betekent dat het proces voor grote databases uren kan duren, of zelfs een hele dag, omdat het afhangt van de lees- en schrijfsnelheid van de database.

PreviousLogs and monitoringNextVerify foreign keys

Last updated 10 months ago

Was this helpful?