2010-10-01 2 views
3

Nous savons qu'il existe certains scénarios qui nous obligent à mettre en œuvre des transactions dans le code, tels que SqlTransaction/TransactionScope dans le cadre .Net. Les questions sont:Quels sont les inconvénients de l'implémentation des transactions hors de la base de données?

  1. Quels sont les frais généraux (outre la vitesse )?
  2. Est-ce que cela devient pire si nous ajoutons plus de couches entre la transaction et la base de données? Si oui, quels sont les frais généraux et quelles sont les causes de ces frais généraux ?

Répondre

1

Nous voulons garder les transactions courtes, les commencer le plus tard possible et les terminer le plus tôt possible. Sinon, la concurrence fait mal, et nous recevons plus d'attente de verrouillage et d'interblocages.

0

Une transaction en cours d'exécution peut également entraîner le remplissage du journal des transactions. L'ajout de plusieurs couches entre la transaction et la base de données elle-même n'ajoute pas de frais supplémentaires à la transaction, mais augmente la probabilité que quelque chose se passe mal et laisse la transaction non engagée et longue durée.

+0

De quelles couches parlez-vous, et comment cela augmenterait-il la probabilité que quelque chose ne tourne pas rond? –

Questions connexes