Implementing Distributed Locks with Redis

Single-System Locks In single-system architectures, locks like ReentrantLock are effective for controlling concurrent access within a single JVM. However, when multiple instances of an application are running behind a load balancer, these locks become ineffective as each instance operates independently. Testing with JMeter to simulate high co ...

Posted on Tue, 07 Jul 2026 16:32:24 +0000 by Stingus

VLL: A Redesign of Lock Manager for In-Memory Database Systems

In database systems, locks serve as a fundamental concurrency control mechanism. However, for in-memory database systems, the lock manager often becomes a performance bottleneck. Research indicates that 16-25% of time in memory databases is spent interacting with the lock manager Traditional lock managers typically implement a hash table wher ...

Posted on Fri, 26 Jun 2026 17:37:55 +0000 by pbsperry

Understanding Redis Pub/Sub Messaging and Transaction Management

Concept Overview Redis Publish/Subscribe (Pub/Sub) implements a messaging paradigm where senders (publishers) transmit messages to channels, and receivers (subscribers) listen for messages on those channels. A single Redis client can subscribe to multiple channels simultaneously. When a message is published to a channel, all active subscribers ...

Posted on Sun, 24 May 2026 19:27:18 +0000 by theda

Understanding Transaction Isolation Levels in MySQL

InnoDB serves as MySQL's default storage engine and supports full transaction capabilities. Every operation runs within a transaction context; explicit BEGIN or START TRANSACTION statements start user-defined transactions, while implicit ones are created automatically for individual statements when not explicitly managed. MySQL defines four tra ...

Posted on Fri, 22 May 2026 18:44:53 +0000 by ash4u

Java Thread States and Concurrency Fundamentals

Concurrency Programming Essentials Thread Lifecycle States NEW: Initial state after thread creation but before start() invocation RUNNABLE: Combined ready/running state in JVM terminology BLOCKED: Occurs when a thread fails to acquire a synchronized lock WAITING: Indefinite pause triggered by wait(), join(), or I/O operations TIMED_WAITING: Te ...

Posted on Thu, 14 May 2026 16:43:04 +0000 by techite

Optimizing Database Query Performance with Index-Based Scans and Concurrency Control

Predicate Pushdown to SeqScan Integrate the Filter operator above the SeqScan operator into SeqScan itself, allowing the system to lock only rows that satisfy the predicate. Modify the Next() function in SeqScanExecutor: auto SeqScanExecutor::Next(Tuple *result_tuple, RID *result_rid) -> bool { do { if (table_iterator_ == table_info_-& ...

Posted on Thu, 14 May 2026 04:12:45 +0000 by richrock

B+Tree Index Concurrency Control and Latch Crabbing

Concurrency Strategy in B+Trees Implementing thread safety in a B+Tree index requires protecting both the internal data of nodes and the structural integrity during split and merge operations. The standard protocol for this is Latch Crabbing, where a thread acquires a latch on a child node and only releases the latch on the parent if the child ...

Posted on Wed, 13 May 2026 03:39:59 +0000 by CUatTHEFINISH

Oracle Database Lock Types and Mechanisms Explained

Introduction Databases serve multiple concurrent users. When several transactions access the same data simultaneously, controlling concurrency becomes essential to prevent data corruption and maintain consistency. Locks are the fundamental mechanism Oracle uses to enforce data integrity and isolate transactions. Unlike some RDBMS that maintain ...

Posted on Sat, 09 May 2026 21:09:13 +0000 by Liquidedust