Transactions are crucial for data consistency in applications, with the Two-Phase Commit being a key type for ensuring atomic updates across multiple entities. However, in microservices architectures, where each service has its own database, maintaining consistency becomes more challenging, making NoSQL databases like Couchbase a preferred choice due to their speed in handling single entity atomic transactions. The Saga pattern, first introduced in 1987, offers a solution by breaking down distributed transactions into a series of local transactions within each service. These transactions can be managed through two main approaches: Events/Choreography, where each service autonomously listens and reacts to events, and Command/Orchestration, which involves a central coordinator. The Events/Choreography approach is simple and loosely coupled but can become complex with additional steps, making tracking and testing challenging. Implementing rollbacks in distributed transactions requires compensating transactions, necessitating careful planning to ensure consistency. The use of Couchbase poses specific challenges, such as handling multi-document writes and syncing issues with mobile clients, which need to be addressed within the Saga framework.