Skip to content

Distributed Computing Musings

Deep dive into distributed computing concepts

  • Home
  • About Me

Blog

  • Home
  • Page 2

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

Partitioning: Handling secondary indexes in partitions

Up until now we have discussed partitioning in a system where we are able to store a record in a partition and retrieve from the…

Posted on January 23, 2022January 23, 2022
  • Partitioning

Partitioning: Consistent Hashing

While ending our discussion on various approaches to partitioning, we saw how the typical hashing approaches fail when we encounter a node failure or when…

Posted on January 21, 2022January 21, 2022
  • Partitioning

Partitioning: Approaches to partitioning

Before diving into approaches to partition a database, let us clear up one thing in aspect of partition and its relationship with replication. Partitioning &…

Posted on January 19, 2022
  • Partitioning

Partitioning: Introduction to partitioning

Until now we have seen how replication helps in scaling a read-intensive workload. We keep one or more nodes as leaders that handle write traffic…

Posted on January 17, 2022January 17, 2022
  • Partitioning

Replication: Handling Concurrent Writes

In all the replication methodologies, we have seen a common issue which all of the replication methods fail to solve completely and that is handling…

Posted on January 15, 2022
  • Replication

Replication: Maintaining a Quorum

In Introduction to Leaderless Replication we saw that Quorum plays a huge part. We need some way to ensure that storage operations are persisted correctly…

Posted on January 11, 2022January 13, 2022
  • Replication

Posts navigation

Older
Next

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