Skip to content

Distributed Computing Musings

Deep dive into distributed computing concepts

  • Home
  • About Me

Category: Database

  • Home
  • Database

Paper Notes: Cassandra- A Decentralized Structured Storage System

Cassandra is a distributed storage system that focusses on providing a highly scalable & available service for storing very large amount of data. As part…

Posted on March 14, 2022March 14, 2022
  • Database
  • Technical Papers

Transactions: Serializable Snapshot Isolation

Working with various isolation levels, we have seen a compromise being done between getting things correct and getting things fast. It feels like being stuck…

Posted on February 16, 2022February 16, 2022
  • Database
  • Transaction

Transactions: Two-phase Locking

Two-phase locking(2PL for short) is one of the most well-known algorithm for serializability. Note that it is totally different concept from two-phase commit even though…

Posted on February 11, 2022February 11, 2022
  • Database
  • Transaction

Transactions: Introduction to serializability techniques

So far we have seen various problems that arise with concurrent transactions and how different approaches try to tackle them(and sometimes fail). The major issue with…

Posted on February 9, 2022February 9, 2022
  • Database
  • Transaction

Transactions: Write skew & why we need serialization?

Up until now we have seen various problems that can arise due to concurrent request for both read as well as write access of a…

Posted on February 7, 2022February 7, 2022
  • Database
  • Transaction

Transactions: Tackling lost updates

As part of read committed isolation and snapshot isolation, we primarily focussed on tactics to ensure correctness of reads in a concurrent transactional system. But…

Posted on February 4, 2022February 4, 2022
  • Database
  • Transaction

Transactions: Snapshot Isolation

In our previous post we covered read committed isolation level. Read committed isolation level ensures that: We cannot perform reads across transactions It prevents dirty…

Posted on February 3, 2022February 3, 2022
  • Database
  • Transaction

Transactions: Read committed isolation

Ensuring that each resource is accessed and modified by a single user at a time is very complex on the application layer. This is why…

Posted on January 31, 2022January 31, 2022
  • Database
  • Transaction

Transactions: Atomicity & Isolation

In last post, we saw the use case of why we need transactions to maintain a consistent state of our storage system. A database is…

Posted on January 28, 2022January 28, 2022
  • Database
  • Transaction

Transactions: Why we need all or nothing?

In real life applications, things can go wrong for scenarios which you have never considered while designing the application. These failures can happen due to…

Posted on January 25, 2022January 25, 2022
  • Database
  • Transaction

Recent Posts

  • Vector Clocks: Keeping time in check
  • Implementing Raft consensus algorithm in Go
  • Paper Notes: Cassandra- A Decentralized Structured Storage System
  • Paper Notes: Kafka – a Distributed Messaging System for Log Processing
  • Paper Notes: Scaling Memcache at Facebook

Recent Comments

  1. varunu28 on Vector Clocks: Keeping time in check
  2. Chenna on Vector Clocks: Keeping time in check
  3. Vimal Nair on Distributed Consensus: How to decide what everyone agrees on?
  4. Gandharv on Partitioning: Consistent Hashing
  5. midpoint on Transactions: Tackling lost updates
Copyright © 2022 Distributed Computing Musings. All Rights Reserved