Generalized Isolation Level Definitions

Personal notes on Generalized Isolation Level Definitions What are isolation levels? SQL Isolation levels(part of ACID) - Introduced to increase performance By improving concurrency Standardized? ANSI...

2024-09-03 · 6 min read

CockroachDB, The Resilient Geo-Distributed SQL Database

These are my personal notes on CockroachDB paper CockroachDB: What is it? CockroachDB is a scalable geo-distributed SQL DBMS. Built using global OLTP workloads in mind with high availability and stron...

2024-08-03 · 6 min read

Web3

Notes Bittorrent Bittorrent is already a decentralized file sharing platform. How does bittorrent work? When a client receives a .torrent file, it uses the DHT embedded inside the .torrent file to con...

2023-11-27 · 2 min read

BFT Membership

Notes Byzantine protocols can be used to increase the throughput of the blockchain but byzantine protocols work only with a closed membership model. Need to define an open membership model for BFT pro...

2023-11-20 · 1 min read

Permissioned Chains

Notes After Bitcoin, other coins started popping up- Litecoin(using its hashing algo) only allowed mining using GPUs or CPUs. Monero(using its hashing algo) only allowed mining using CPUs. Ethereum al...

2023-11-15 · 1 min read

Proof of Work

Notes Bitcoin Reasoning for making bitcoin Anonymous Decentralized money system No trust in the government money system How does this work in a no trust environment? Use asymmetric encryption scheme l...

2023-11-13 · 2 min read

Critique of ANSI SQL Isolation Levels

Notes Types of locks - Write lock Read lock Predicate lock - Lock where multiple rows are locked for reads(WHERE clause) All of these locks are long locks(Meaning all are acquired first and then all a...

2023-11-08 · 2 min read

Percolator

Notes Bigtable doesn’t support multi-row/multi-table transactions. Why does Google need multi-table transactions? Removing duplicates(Multiple URLs may lead to the same website), calculation of page...

2023-11-06 · 1 min read

Spanner

Notes Two strategies for implementing deadlock prevention used in 2-phase locking Wound wait - Force the lock to release from another transaction Wait die - Wait for lock to be released or die https:/...

2023-11-01 · 1 min read

Serializability

Important Reading to help understand: https://jepsen.io/consistency Notes A - Atomicity (All or nothing of a transaction) C - Consistency (Consistent with the constraints on database tables) I - Isola...

2023-10-30 · 2 min read

Fork-join Consistency

Notes Causal consistency and logical timestamps Logical Timestamps(Lamport timestamps) don’t imply causal consistency [13) Causal Consistency, COPS#Causal]({{< ref “13) Causal Consistency, COPS#ca...

2023-10-25 · 1 min read

Causal Consistency

Notes Requirements for consistencies Linearizability Global ordering Completion to Invocation globally Sequential Global ordering Completion to Invocation per client Causal Completion to invocation pe...

2023-10-23 · 1 min read

Eventual Consistency

Notes Dynamo is similar to a Distributed Hash Table meaning it uses consistent hashing. Dynamo is called a zero-hop DHT because each node has enough information about the whole consistent hashing ring...

2023-10-18 · 1 min read

Linearizability

Notes Consistency is a spectrum with weak to strong levels. GFS/Eventual consistency is an example of weak consistency. Linearizability is an example of strong consistency. Consistency can be defined ...

2023-10-16 · 1 min read

Byzantine Failures

Readings - Practical Byzantine Fault Tolerance.pdf Byzantine PAXOS.pdf Notes What can be potential byzantine failures? Wrong replies which cannot be detected Halt consensus(same as crash so not really...

2023-10-04 · 2 min read

MongoDB Replication

Notes Background Already existing scheme used db query for replication Replication scheme was in such a way that any follower could query any other follower Due to this when they tried to implement RA...

2023-10-02 · 1 min read

PAXOS Made Live

Notes Runs in 2 phases - Phase 1 - get a promise from majority of servers Phase 2 - get a majority of servers to commit Two important rules Two numbers should be used to track the system Highest seen ...

2023-09-27 · 1 min read

PAXOS

RAFT Notes What kind of system is RAFT? Exactly once/At least once/ At most once? Two ways to approach this: Application layer is responsible for de-duplication and the command is just appended (albei...

2023-09-20 · 1 min read

RAFT

Notes

2023-09-18 · 1 min read

Fault Tolerant VMs

Notes While reading a paper, also pay attention to the authors and why they encountered this problem. While replicating, there are 2 options for replication: Sending the input to the replicas Sending ...

2023-09-13 · 1 min read

RPC, Couroutines

TIL htop C100k problem Timer interrupt(A periodic interrupt that allows the OS to stop the current thread’s execution and schedule a different thread) Coroutine Notes 1-thread and n-thread: Advantag...

2023-09-11 · 1 min read

GFS

File systems that already existed during GFS - GPFS/Lustre/AFS Why GFS was built instead of using existing ones? GPFS and Lustre are paid systems(could be the main reason) Specialized workflows Most c...

2023-09-06 · 1 min read

MapReduce

TIL: POSIX Reason for MapReduce(Why use a distributed system?) Lots of data(1 PetaByte), machines had 160 GB storage so can’t process in one machine I/O speed is very low(performance) Fault toleranc...

2023-08-30 · 1 min read