2012-10-21 6 views
2

Certaines applications nécessitent une réponse très rapide pour répondre aux attentes des utilisateurs. Je construis une telle application et j'utilise mnesia. Maintenant, quand nous avons le gestionnaire de transactions Mnesia, nous approchons de bonnes performances. Cependant, c'est le problème:

Nous devons répliquer cette base de données dans le cadre de load balancing, après tout, Mnesia fait la réplication pour nous. Nous utilisons ONLYdirty opérations dans cette application. Nous avons quelques parties en utilisant async_dirty contexte. Je me demande si la réplication mnesia serait affectée si nous n'utilisions pas le contexte transaction à cette échelle?

Trop fréquentes dirty opérations se produisent sur les enregistrements tout le temps, donc je me demande si une demande faite sur side B réplique, trouverait les changements que vient d'être faite par side A réplique via une opération sale?Réplication Mnesia et nombre important d'opérations sales

Répondre

1

Selon Mnesia User's Guide:

  • async_dirty activités « attendront l'opération à effectuer sur un nœud, mais pas les autres ».
  • Pour sync_dirty activités: "L'appelant attendra que les mises à jour soient effectuées sur toutes les répliques actives".