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.

Last updated