Suivre les changements de données dans votre base de données

Dans cet article de blog, nous sommes ravis de vous présenter une méthode puissante qui va révolutionner la façon dont vous gérez et suivez les modifications au sein de votre data store. Nous dévoilerons le concept de « stamp », un marqueur conçu pour rationaliser le suivi des modifications de données, et nous vous montrerons comment adapter ces stamps à vos besoins spécifiques.

 

Data Change Tracking

Qu’est-ce qu’un Stamp ?

Avant d’entrer dans les détails, précisons ce que nous entendons par « stamp » dans ce contexte. Il s’agit essentiellement d’un marqueur utilisé pour suivre la modification d’une entité de données, ce qui vous permet de conserver un enregistrement complet des changements apportés à vos données.

Suivi des modifications de données

ACTIVER LE SUIVI DES MODIFICATIONS DE DONNÉES

Vous pouvez lancer le suivi des modifications de données en suivant un processus simple. Commencez par un clic droit sur la ou les tables que vous souhaitez surveiller dans la fenêtre de structure, puis sélectionnez ensuite l’item de menu intitulé « Activer le suivi des changements de données ».

Remarque : cette simple action déclenche la création de deux composants indispensables : un champ « __GlobalStamp » et une table « __DeletedRecords ». Ces éléments constituent la base d’un suivi et d’une gestion précis et efficace des modifications de données au sein de votre magasin de données.

Obtenir des modifications de données

La fonction .getGlobalStamp() est un outil clé qui permet aux utilisateurs de récupérer les stamps de modification globale associés à leur data store. Ces stamps servent d’indicateurs de l’état de modification de vos données et fournissent des informations précieuses sur les changements et les mises à jour au sein de votre dataset.

Exemple de modification des données depuis hier

//1. First we store the current global stamp for a futur usage 
StoreTodayStamp(ds.getGlobalStamp())
//2. Then the next day, we read the stamp that we stored the day before.
var $yesterdayStamp : Integer
$yesterdayStamp := ReadStoredStamp()

//3. Get the list of modified entities in our 'product' table 
//since the stamp stored the previous day.
var $modifiedProd : cs.productSelection
$modifiedProd:=ds.product.query("__GlobalStamp >= :1"; $yesterdayStamp)

Dans cet exemple, StoreTodayStamp et ReadStoredStamp sont des méthodes projet que vous devrez créer afin de stocker et d’extraire un cachet de référence.

Obtenir des informations sur les enregistrements supprimés depuis hier exemple

//4. Get info about deleted entities since the stamp stored the previous day.

var $deletedProdInfo : cs.__DeletedRecordsSelection 
$deletedProdInfo:=ds.__DeletedRecords.query("__Stamp >= :1"; $yesterdayStamp)

Dans un monde où la gestion précise des données est cruciale, cette fonctionnalité vous place aux commandes. Elle fournit des informations claires sur les changements de vos données, ce qui vous permet de les contrôler efficacement, comme dans le How Do I. En outre, elle permet une synchronisation précise des données, parfaite pour des tâches telles que les mises à jour incrémentales. Il s’agit également d’une méthode de gestion de données plus moderne que la réplication via SQL. Cette fonctionnalité est la clé d’un contrôle efficace des données, facilitant la gestion, la surveillance et le suivi des changements dans votre data store.

 

David Azancot
- 4D for iOS Product Owner -David Azancot a rejoint l'équipe de 4D Product en tant que Product Owner en 2017. Il est chargé de rédiger les user stories et de les traduire en spécifications fonctionnelles. Son rôle consiste également à s'assurer que les implémentations des fonctionnalités répondent aux besoins des clients.David est diplômé d'un MBA en marketing, Internet et mobilité de l'Institut Léonard De Vinci et a commencé sa carrière en 2011 au sein d'une start-up mobile, rachetée ensuite par Madvertise (groupe de marketing mobile). Passionné par les interfaces mobiles, il a été le choix naturel pour développer des formats publicitaires mobiles interactifs pour le groupe en 2015. En parallèle, David développe ses propres applications iOS et Android depuis 2012.