Synchronisation des bases de données : un aperçu des approches


Synchroniser des bases de données signifie maintenir à jour deux bases de données distinctes ou plus compte tenu des changements de données apportés à chacune d’entre elles.

Cela peut se révéler une tâche bien délicate. Que votre solution de base de données soit simple ou complexe, vous devez vous poser les cinq questions suivantes :

  1. Quel est le degré de similitude des structures des bases de données à synchroniser ? Si leurs structures sont identiques, vous avez une longueur d’avance. Si leurs structures diffèrent, la synchronisation devient plus difficile et plus abstraite.
  2. Selon quelle fréquence synchroniser les bases de données ?
  3. Comment comptez-vous procéder dans les cas dans lesquels les mêmes données ont été modifiées dans deux bases de données (ou davantage) depuis la dernière session de synchronisation ? Il existe un certain nombre d’approches, des plus simples aux plus complexes.
  4. Quels efforts comptez-vous déployer et/ou quelle somme comptez-vous investir dans le développement d’un système de synchronisation ?
  5. Quels efforts êtes-vous prêt à fournir pour chaque session de synchronisation ?

Avant que nous ne commencions à explorer les différentes approches communes en matière de synchronisation, attardons-nous sur deux scénarios types :

  1. Geoffrey est le seul à utiliser sa base de données. Il ouvre habituellement sa base de données FileMaker sur son ordinateur de bureau, mais l’utilise également sur son ordinateur portable, lors de ses déplacements.
  2. Carole gère une équipe de commerciaux. Chaque membre de l’équipe utilise sa propre copie de la base de données clients sur iPad, à l’aide de FileMaker Go. Le plus souvent, aucun n’a accès à Internet en déplacement. Tous les membres de l’équipe apportent des modifications individuelles aux données dans leurs bases, puis mettent à jour les données communes (comme la diminution des niveaux de stock d’après les ventes réalisées).

Ces scénarios sont très différents l’un de l’autre. Toutefois, ils se ressemblent d’une certaine manière et exigent des approches radicalement opposées.

Approche communes

  1. Utilisez un système hébergé

Il ne s’agit pas d’un système de synchronisation des données à proprement parler mais de quelque chose de bien mieux à vrai dire ! Si toutes les parties qui ont besoin d’utiliser la base de données partagent le même réseau, ou peuvent accéder au serveur de base de données via Internet, vous pouvez utiliser les fonctions de partage de données de FileMaker (partage réseau FileMaker ou publication Web via la Publication Web instantanée ou la Publication Web personnalisée).

Avantages :

  • Les données sont mises à jour en temps réel.
  • Il est inutile de mettre en place des mécanismes de synchronisation complexes ou coûteux car tout le monde utilise la même base de données.

Inconvénient :

  • Ce système ne fonctionne que lorsque vos ordinateurs clients possèdent un accès direct au serveur de base de données.

2. N’introduisez aucune modification dans plusieurs copies de votre base de données

Tout comme l’approche ci-dessus, il ne s’agit pas réellement d’une synchronisation. Néanmoins, à la différence de l’approche ci-dessus, cette méthode est celle qui vous limite le plus. Elle oblige à qualifier l’une de vos copies de base de données de copie « maîtresse » et à utiliser toutes les autres copies en lecture seule exclusivement. Certes, cette approche est celle qui vous limite le plus. Néanmoins, vous constatez que si vos besoins ne sont qu’occasionnels et que vos bases de données sont hors ligne, elle semble moins coûteuse et plus pratique que celle consistant à créer un système de synchronisation.

Avantage :

  • Cette approche est la plus simple.

Inconvénient :

  • Il est impossible d’utiliser des bases de données hors ligne pour saisir ou mettre à jour les données.

3. Utilisez les fonctionnalités de FileMaker pour mettre à jour les données des enregistrements existants au cours d’une importation

Il ne s’agit pas non plus d’une synchronisation des données à proprement parler, mais plutôt d’une première étape pour y parvenir. Lorsque vous mettez à jour les données existantes au cours d’une importation, vous remplacez les données dans la table d’importation par des données d’enregistrements identiques provenant de la table d’exportation. Cette approche se révèle utile si vous êtes certain que les données provenant des mêmes enregistrements n’ont pas été modifiées dans les deux tables, depuis la dernière synchronisation.

Avantage :

  • Cette approche est aussi simple que peut l’être une importation.

Inconvénient :

  • Cette méthode est incomplète lorsqu’un enregistrement donné a été modifié dans les deux exemplaires de la base de données. Les données de l’enregistrement importé l’« emporteront » toujours sur les données de l’enregistrement existant dans lequel l’importation a lieu.

4. Utilisez un outil tiers dédié à la synchronisation des bases de données.

L’utilisation d’un tel outil peut considérablement simplifier la mise en œuvre d’un système de synchronisation complet. Cliquez ici pour rechercher un outil tiers.

Avantages :

  • Il s’agit d’une véritable synchronisation des données sur plusieurs fichiers/tables/copies de la base de données.
  • La plupart des tâches complexes sont réalisées au préalable.

Inconvénients :

  • Il faut inclure les frais d’achat/d’acquisition de licence d’un outil de synchronisation tiers.
  • En fonction de l’outil, la mise en œuvre d’un tel système peut obliger à acquérir des compétences techniques particulières en matière de développement.

Pour en savoir plus sur les outils tiers, visitez notre page Made for FileMaker.

5. Créez votre propre système de synchronisation

FileMaker Pro possède tous les outils dont vous avez besoin pour créer un solide système de synchronisation. En utilisant les scripts, déclencheurs de script, importations et calculs, automatisez la synchronisation sur plusieurs copies de vos fichiers, le tout optimisé pour votre solution de base de données. Ceci étant dit, la création de votre propre système de synchronisation se révèle complexe, tant du point de vue technique que (souvent) sémantique. Cette tâche exige des connaissances très avancées en développement FileMaker, ainsi qu’une compréhension approfondie des scripts, des calculs et de la structure des données. Les développeurs non aguerris à ces techniques pourront demander l’aide d’un consultant FileMaker professionnel pour toutes les solutions de base de données, à l’exception des plus simples.

Avantage :

  • Il est possible d’entièrement optimiser un système personnalisé pour votre solution de base de données et votre environnement de travail.

Inconvénients :

  • Cette approche est vraisemblablement la plus complexe à mettre en œuvre. Elle exige des compétences techniques professionnelles dignes d’un développeur..
  • Cette approche peut également se révéler la plus coûteuse. En fonction de la complexité de votre solution de base de données, elle peut vous demander beaucoup de temps (si vous réalisez le développement) ou d’argent (si vous engagez un développeur).
Show your support

Clapping shows how much you appreciated Equipe éditoriale FileMaker’s story.