I am not writing enough
I have recently been seeing a lot of posts talking about how “You are not writing enough”. There’s book clubs reading “Writing for developers”, people tweeting everyday about how writing has...
hi, my name is Akshat Sharma
I have recently been seeing a lot of posts talking about how “You are not writing enough”. There’s book clubs reading “Writing for developers”, people tweeting everyday about how writing has...
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...
Last week, me and my team, http418, won the MongoDB Gen AI Hackathon. We created a tool called “tiktokify” which can automatically generate a small 30 second highlight clip from a video using clev...
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...
How To Set Correct SSH Directory Permissions in Linux Set Correct SSH Directory Permissions in Linux If you ever encounter errors while trying to SSH into a server, you can set correct ssh directory p...
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 ...