La fonctionnalité de transactions XA de MarkLogic vous permet d'exécuter une transaction ACID unifiée entre MarkLogic et un autre système de base de données.

En conformité avec les normes XA (eXtended Architecture) de The Open Group, les transactions XA MarkLogic garantissent la conservation des propriétés ACID MarkLogic lors des mises à jour transactionnelles, ou, si cela est impossible, que le système sera restauré à son état pré-transaction.

Seule base de données NoSQL prenant en charge les transactions XA

Conservation des propriétés ACID

Les transactions XA permettent d'accéder à de multiples ressources (bases de données, applications, etc.) au cours de la même transaction, ce qui permet de conserver les propriétés ACID sur l'ensemble des ressources.

Gestion du cycle de vie des transactions

MarkLogic est doté d'un gestionnaire de ressources de transactions XA comme requis par la spécification (attention, vous avez néanmoins toujours besoin d'un gestionnaire global de transactions).

Seule base de données NoSQL prenant en charge les transactions XA

MarkLogic est la seule option pour tous ceux qui ont besoin des transactions XA et souhaitent utiliser une base de données NoSQL.

Pourquoi utiliser les transactions XA ?

DBMS hétérogènes synchronisés

La fonctionnalité de transactions XA de MarkLogic vous permet d'exécuter une transaction ACID unifiée entre MarkLogic et un autre système de base de données. Par exemple, si vous souhaitez stocker les données de base d'une entité dans MarkLogic, tout en conservant des métadonnées sur l'entité dans un RDBMS, cette fonctionnalité vous permet d'insérer/mettre à jour/supprimer ces deux aspects de l'entité sur les deux bases de données en une requête. Si l'une des bases de données rencontre un problème avec la mise à jour, la transaction dans son ensemble est annulée.

Migration (et suppression) d'un DBMS vers MarkLogic

Utilisez les transactions XA pour faire migrer pas à pas les données d'un RDBMS vers MarkLogic. Les transactions XA vous permettent de supprimer du RDBMS et d'insérer dans MarkLogic en une seule transaction, sur les deux bases de données simultanément. Le système utilise le JTA de Java comme coordinateur entre les bases de données, et le programmeur n'a pas à se préoccuper du système de coordination complexe entre les deux bases de données.

Synchronisation de clusters MarkLogic distincts

Vous pouvez également effectuer des transactions XA entre deux clusters MarkLogic distincts. C'est indispensable pour faire migrer de manière transactionnelle des données d'un cluster à un autre ou pour charger des données dans un ensemble de clusters en vue d'une publication simultanée. Cet exemple a d'ailleurs été appliqué pendant les Jeux olympiques pendant lesquels les résultats sportifs se mettaient à jour simultanément dans tous les clusters MarkLogic sans qu'un cluster soit en avance sur un autre comme l'exigent les règles du Comité International Olympique.

Fonctionnement des transactions XA

Les API XCC permettent
d'enregistrer MarkLogic en tant que gestionnaire des ressources des transactions XA. Lorsque MarkLogic agit comme un gestionnaire de ressources, les requêtes soumises font toujours partie d'une transaction de mise à jour multi-instruction.

Lire la documentation

En savoir plus
Transactions multi-instructions

En savoir plus

Communication entre la couche Java et MarkLogic

Lire le guide

Très complet et conçu pour les entreprises

Ce site utilise des cookies.

En continuant votre navigation sur ce site, vous acceptez l'utilisation de cookies en accord avec la Déclaration de confidentialité MarkLogic.