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...
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...
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...
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...
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...
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...
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...
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...
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...
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:/...
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...
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...
Notes Requirements for consistencies Linearizability Global ordering Completion to Invocation globally Sequential Global ordering Completion to Invocation per client Causal Completion to invocation pe...
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...
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 ...
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...
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...
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 ...
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...
Notes
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 ...
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...
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...
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...