Decoding Pessimistic Locking: Ensuring Data Integrity in Concurrent Applications

The previous post discussed the “Optimistic Logic” and how Hibernate implements it. This new post will discuss the “Pessimistic Logic” technique and how to implement it using Hibernate. What is the Pessimistic Locking? Locking is a critical concept in the world of databases and transaction management. As the name suggests, Pessimistic Locking takes a conservative … Read moreDecoding Pessimistic Locking: Ensuring Data Integrity in Concurrent Applications

Database – Data Concurrency, Data Consistency and Isolation Level

In the previous posts, we read about database transactions and how we can manage them in Java and PHP on different layers. In this post, we will read about data concurrency/consistency and figure out how to properly set the isolation level of an explicit DBMS transaction. We will see several examples using three distinct RDBMS: … Read moreDatabase – Data Concurrency, Data Consistency and Isolation Level

Transaction in JAVA: from JDBC to Spring @Transactional and TransactionTemplate

Spring @Transactional

In this reading, we are going to understand how transactions are handled in a plain old JDBC transaction management and, later, how Spring Framework’s declarative transaction management is made possible with Spring aspect-oriented programming (AOP) (official Spring documentation). In the final part, we are also going to talk about TransactionTemplate!

Transaction: ACID Properties and CAP Theorem

Transaction

Introduction In this reading, we will explain some principles on which database transactions are based: ACID Properties (don’t forget to read about Jim GRAY) and CAP Theorem. Transaction A transaction is a single logical unit of work that reads, and possibly changes, the contents of a database. Transactions are made up of one or more … Read moreTransaction: ACID Properties and CAP Theorem