Book Image

Redis Applied Design Patterns

By : Arun Chinnachamy
Book Image

Redis Applied Design Patterns

By: Arun Chinnachamy

Overview of this book

<p>With new data stores making their way onto the market, it's necessary for businesses to understand the features and techniques to use data stores most effectively. Redis Applied Design Patterns is designed to guide you into the world of Redis and will help you understand how business problems can be solved using Redis in your application stack.</p> <p>This book introduces you to the NoSQL way of thinking and how it is different from SQL. It helps you understand various functionality of Redis through a series of use cases designed for you to learn the more complex and less well-known features of Redis in an incremental way. By the time you've read this book, you will be capable of designing a system using Redis. This book will guide you through various use cases along with code samples, easy-to-understand diagrams, and tips to help you take advantage of Redis. The book explains the benefits of adding Redis to the application stack and discusses various practical use cases for Redis such as the caching system, commenting system, and social networking.</p>
Table of Contents (18 chapters)

Transactions in SQL systems


In SQL databases, transactions are used to maintain atomicity, consistency, isolation, and durability, known as ACID for short. A typical example of a transaction is bank transfers. Debt from a bank account should successfully credit into another account. If the credit fails, the transaction should be rolled back to the initial state and the amount debited should be credited back.

These states are achieved using COMMIT on success and ROLLBACK on failure. Even though this works well in a single database system, the process becomes slow in a distributed database environment.

Note

In order to maintain consistency across multiple databases, statements are prepared and executed in all databases and only after getting a success message from all servers is the transaction completed. As the lock is maintained until all the servers commit, the application is slowed down in the process.

For example, in SQL systems, transactions are carried out as follows:

BEGIN TRANSACTION;...