LogoLogo
Go to Syntho.AI
French (AI Translated)
French (AI Translated)
  • Welcome to Syntho
  • Vue d'ensemble
    • 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
  • Setup Workspaces
    • 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
  • Configurer une tâche de génération de données
    • 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
  • Déployer Syntho
    • 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
  • Sous-ensemble
    • What is subsetting
    • Verify foreign keys
    • Configure subsetting
  • Syntho API
    • Syntho REST API
Powered by GitBook
On this page
  • Modes de sous-ensembles
  • Comment fonctionne le sous-ensemble Syntho
  • Limites et recommandations

Was this helpful?

  1. Sous-ensemble

What is subsetting

Coming soon

Cette fonctionnalité sera bientôt disponible.

Le sous-ensemble de base de données est la pratique qui consiste à créer un sous-ensemble plus petit et représentatif d'une base de données plus importante. Il vous permet de réduire efficacement la taille de votre base de données de destination tout en maintenant l'intégrité référentielle des données. Vous pouvez configurer la manière dont Syntho doit générer un sous-ensemble. Par exemple, vous pouvez configurer le sous-ensemble pour qu'il n'inclue que 5% de toutes les transactions ou toutes les données associées aux patients des Pays-Bas.

Le sous-ensemble peut être pertinent pour plusieurs raisons :

  1. Test : Un sous-ensemble d'une base de données peut être utilisé pour tester de nouvelles fonctionnalités, des modifications ou des mises à niveau avant de les mettre en œuvre dans la base de données de production. Cela permet d'identifier les problèmes ou les bogues potentiels avant qu'ils n'affectent l'ensemble de la base de données.

  2. Développement : Les développeurs ont souvent besoin d'un sous-ensemble de la base de données pour travailler sur de nouvelles fonctionnalités ou applications sans interférer avec la base de données de production. Cela permet d'accélérer le processus de développement et de réduire le risque de perte ou de corruption des données.

  3. Formation : Un sous-ensemble (synthétique) de la base de données peut être utilisé à des fins de formation, ce qui permet aux utilisateurs d'apprendre à utiliser la base de données dans un environnement sûr et contrôlé.

  4. Conformité : Certaines exigences réglementaires ou lois sur la confidentialité des données peuvent nécessiter l'utilisation d'un sous-ensemble de données à des fins spécifiques, telles que des tests ou des audits, afin de garantir la protection des informations sensibles.

Modes de sous-ensembles

Le sous-ensemble dans Syntho utilise des clés étrangères pour identifier les relations dans les données. Ces relations sont soit déjà présentes dans la base de données source, soit peuvent être créées à l'aide de l'outil de clés étrangères de Syntho. Le processus de sous-ensemble utilise ces relations pour naviguer dans la base de données et construire le sous-ensemble.

Chaque table de la base de données source est classée dans l'une des catégories suivantes pour le sous-ensemble :

  1. Target table: La table cible est le point de départ de la construction du sous-ensemble et fournit l'ensemble initial de lignes. Syntho récupère les données de la table cible pour ensuite identifier les informations des tables liées. Une table cible contient généralement des entités qui sont associées à la plupart des autres informations de la base de données, telles que les patients, les clients ou les transactions.\N- La table cible est le point de départ de la construction du sous-ensemble et fournit l'ensemble initial de lignes. Pour garantir l'intégrité référentielle, une seule table cible peut être définie.

  2. Linked tables: Ces tables sont connectées directement ou indirectement à une table cible.

    • Les tables en aval contiennent des données nécessaires au maintien de l'intégrité référentielle dans le sous-ensemble et ont des clés primaires qui sont référencées par des clés étrangères dans des tables liées.

    • Les tables en amont contiennent des données dont la clé étrangère fait référence à une clé primaire de la table cible et peuvent contenir des informations utiles.

    Certaines tables liées peuvent être à la fois en aval et en amont, auquel cas le filtrage ne peut être appliqué qu'aux enregistrements en amont. Syntho extrait les données des tables liées pour préserver l'intégrité référentielle dans le sous-ensemble de sortie. Les liens entre les tables peuvent être directs, comme une table cible listant les allergies et référençant une table de patients par le biais d'une relation de clé étrangère, ou indirects, comme une table cible référençant une table de patients, qui à son tour référence une table d'hôpitaux.\NLes liens entre les tables peuvent être directs ou indirects. Le sous-ensemble comprend toutes les informations pertinentes provenant des tables liées.

  3. Duplicated tables: Une table dupliquée contient des valeurs statiques qui sont utilisées dans d'autres tables du sous-ensemble. Syntho récupère toutes les données d'une table de recherche, indépendamment du fait que les valeurs soient utilisées ou non.\N- Syntho récupère toutes les données d'une table de recherche, indépendamment du fait que les valeurs soient utilisées ou non. Les relations avec les tables dupliquées ne sont pas prises en compte lors du processus de sous-ensemble.

  4. Excluded tables: Les tables qui ne sont pas désignées comme tables cibles, tables liées ou tables dupliquées sont exclues du sous-ensemble.

Comment fonctionne le sous-ensemble Syntho

L'algorithme de sous-ensemble Syntho traite une base de données source comme un graphe acyclique directionnel où chaque table est un noeud et les relations sont les arêtes dirigées. Avec cette abstraction à l'esprit, nous pouvons parcourir l'ensemble du graphe à partir de n'importe quel point (table cible) vers toutes les autres tables connectées en utilisant l'ordre topologique.

Une fois que la table cible a été copiée dans la base de données cible, le processus en amont et en aval commence où les données des tables liées sont copiées de manière à ce que toutes les lignes soient référencées correctement et que le contrôle de l'intégrité référentielle n'échoue pas. Si des tables en double ou exclues sont définies dans la configuration, elles sont copiées comme suit, mais l'intégrité référentielle ne peut être garantie.

Une vue générale du flux de sous-ensembles est présentée ci-dessous :

  1. Supprimer les relations cycliques de la base de données

  2. Copier la table cible de la base de données source à la base de données de destination

  3. Copier les tables en double dans la base de données de destination

  4. Copie des tables en amont dans la base de données de destination

  5. Copie des tables en aval vers la base de données de destination

Limites et recommandations

  • Le processus de sous-ensemble prend en entrée un graphe acyclique dirigé et donc si la base de données source contient des cycles, cela ne fonctionnera pas. Syntho peut gérer de tels cas en supprimant l'une des arêtes qui cause l'existence du cycle. Cela signifie également que l'intégrité référentielle ne peut pas être préservée dans le produit final. Il est recommandé de supprimer manuellement les cycles pour obtenir le sous-ensemble le plus représentatif.

  • Le processus de sous-ensemble dépend fortement de la configuration de la table cible. Bien que l'utilisateur puisse sélectionner 5 % de la table cible, cela ne signifie pas que la base de données finale contiendra 5 % de toutes les données. Il est possible que les 5 % de la table cible soient liés à toutes les données des autres tables, ce qui signifie que pour maintenir l'intégrité référentielle, tous les autres enregistrements seront copiés. Pour obtenir un sous-ensemble final dont les valeurs sont proches de celles des liens, il convient de sélectionner une table cible adéquate.

Caution: Le processus de sous-ensemble n'est pas parallélisable par nature, ce qui signifie que pour les grandes bases de données, le processus peut prendre des heures, voire une journée entière, car il dépend des vitesses de lecture et d'écriture de la base de données.

PreviousLogs and monitoringNextVerify foreign keys

Last updated 11 months ago

Was this helpful?