Qu’est-ce qu’une transaction de firebase database?

Quelqu’un peut-il fournir une explication simple (mais pas plus simple que possible) d’une transaction telle qu’elle est appliquée à l’informatique (même si elle est copiée à partir de Wikipedia)?

    Une transaction est une unité de travail que vous souhaitez traiter comme un “ensemble”. Il faut soit que ce soit complet ou pas du tout.

    Un exemple classique est le transfert d’argent d’un compte bancaire à un autre. Pour ce faire, vous devez d’abord retirer le montant du compte source, puis le déposer sur le compte de destination. L’opération doit réussir pleinement. Si vous vous arrêtez à mi-chemin, l’argent sera perdu et c’est très mauvais.

    Dans les bases de données modernes, les transactions font également d’autres choses. Par exemple, assurez-vous de ne pas pouvoir accéder aux données écrites par une autre personne. Mais l’idée de base est la même: les transactions sont là pour garantir que, peu importe ce qui arrive, les données avec lesquelles vous travaillez seront dans un état raisonnable . Ils garantissent qu’il n’y aura PAS de situation où l’argent est retiré d’un compte, mais pas déposé dans un autre.

    Une transaction est un moyen de représenter un changement d’état. Les transactions ont idéalement quatre propriétés, communément appelées ACID:

    • Atomic (si le changement est commis, il se produit d’un seul coup, vous ne pouvez jamais voir “un demi-changement”)
    • Cohérent (le changement ne peut avoir lieu que si le nouvel état du système est valide; toute tentative de commettre une modification invalide échouera, laissant le système dans son état valide précédent)
    • Isolé (personne d’autre ne voit une partie de la transaction tant qu’elle n’est pas validée)
    • Durable (une fois que le changement est arrivé – si le système dit que la transaction a été validée, le client n’a pas à se soucier de “vider” le système pour que le changement soit “collé”)

    Voir l’entrée Wikipedia de l’ ACID pour plus de détails.

    Bien que cela soit généralement appliqué aux bases de données, cela ne doit pas être le cas. (En particulier, voir la mémoire transactionnelle du logiciel .)

    Voici une explication simple. Vous devez transférer 100 dollars du compte A au compte B. Vous pouvez soit faire:

    accountA -= 100; accountB += 100; 

    ou

     accountB += 100; accountA -= 100; 

    Si quelque chose ne va pas entre la première et la deuxième opération de la paire, vous avez un problème – soit 100 dollars ont disparu, soit ils sont sortis de nulle part.

    Une transaction est un mécanisme qui vous permet de marquer un groupe d’opérations et de les exécuter de manière à ce qu’elles s’exécutent (commit) ou que l’état du système soit comme si elles ne s’exécutaient pas du tout (rollback).

     beginTransaction; accountB += 100; accountA -= 100; commitTransaction; 

    soit transférer 100 dollars ou laisser les deux comptes dans l’état initial.

    “Une série d’instructions de manipulation de données qui doivent soit être complètement complètes, soit complètement échouer, laissant la firebase database dans un état cohérent”

    Une transaction est une séquence d’une ou de plusieurs opérations SQL traitées comme une unité.

    Spécifiquement, chaque transaction semble s’exécuter de manière isolée et, en outre, si le système échoue, chaque transaction est exécutée dans son intégralité ou non.

    Le concept de transaction est motivé par deux préoccupations totalement indépendantes. L’une concerne l’access simultané à la firebase database par plusieurs clients et l’autre, la résilience du système aux défaillances du système.

    La transaction prend en charge ce que l’on appelle les propriétés ACID:

    • A: Atomicité
    • C: cohérence;
    • I: isolement
    • D: Durabilité.

    Propriétés des transactions:

    Les transactions ont les quatre propriétés standard suivantes, généralement désignées par l’acronyme ACID:

     Atomicity: ensures that all operations within the work unit are completed successfully; otherwise, the transaction is aborted at the point of failure, and previous operations are rolled back to their former state. Consistency: ensures that the database properly changes states upon a successfully committed transaction. Isolation: enables transactions to operate independently of and transparent to each other. Durability: ensures that the result or effect of a committed transaction persists in case of a system failure. 

    Contrôle des transactions:

    Les commandes suivantes permettent de contrôler les transactions:

     COMMIT: to save the changes. ROLLBACK: to rollback the changes. SAVEPOINT: creates points within groups of transactions in which to ROLLBACK SET TRANSACTION: Places a name on a transaction. 

    http://en.wikipedia.org/wiki/Database_transaction
    http://en.wikipedia.org/wiki/ACID
    ACID = Une tomicité, une constance, une solation, une stérilité

    Lorsque vous souhaitez impliquer plusieurs ressources transactionnelles dans une seule transaction, vous devez utiliser une solution de validation en deux phases . XA est largement pris en charge.

    Je suggérerais qu’une définition du «traitement des transactions» serait plus utile, car elle couvre les transactions en tant que concept en informatique.

    De wikipedia:

    En informatique, le traitement des transactions est un traitement de l’information divisé en opérations individuelles indivisibles, appelées transactions. Chaque transaction doit réussir ou échouer en tant qu’unité complète; il ne peut pas restr dans un état intermédiaire.

    http://en.wikipedia.org/wiki/Transaction_processing#Implementations

    Outre les réponses ci-dessus, il convient de noter qu’il n’existe, du moins en théorie, aucune ressortingction quant au type de ressources impliquées dans une transaction.

    La plupart du temps, il ne s’agit que d’une firebase database ou de plusieurs bases de données distinctes, mais il est également concevable qu’une imprimante participe à une transaction et que cette transaction échoue, par exemple en cas de bourrage papier.

    Je pense qu’une transaction est une action atomique en termes de SGBD.

    cela signifie qu’il ne peut pas être séparé. oui, dans une transaction, il peut y avoir plusieurs instructions à exécuter par le système. mais ils sont liés ensemble pour terminer une tâche de base unique.

    par exemple. vous devez traverser un pont (considérons cela comme une réaction), et pour ce faire, disons qu’il vous faut 100 étapes. Dans l’ensemble, ces étapes ne peuvent pas être séparées. Lorsque vous en avez terminé avec la moitié d’entre eux, il n’y a que deux choix: continuer à tous les terminer et revenir au sharepoint départ. c’est comme le résultat d’une transaction: succès (commis) et échec (rollback)

    La transaction est une unité indivisible de traitement de données. Toutes les transactions doivent avoir les propriétés ACID:

    ie: atomicité, cohérence, isolement et durabilité La transaction est tout ou rien mais pas intermidiate (cela signifie que si vous transférez votre argent d’un compte vers un autre compte, un compte doit en perdre beaucoup et l’autre doit en gagner, mais si vous transférez de l’argent à partir d’un compte et un autre compte est toujours vide et ne sera pas une transaction)

    La transaction peut être définie comme un ensemble de tâches considéré comme unité de traitement minimale. Chaque unité de traitement minimum ne peut pas être divisée davantage.

    L’opération principale d’une transaction est en lecture et en écriture.

    Toutes les transactions doivent contenir quatre propriétés communément appelées propriétés ACID dans le but de garantir l’exactitude, l’exhaustivité et l’intégrité des données.