-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Raj Patil <rajp152k@gmail.com>
- Loading branch information
Showing
12 changed files
with
137 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
:PROPERTIES: | ||
:ID: 20240519T201001.324666 | ||
:ROAM_ALIASES: "Hash Tree" | ||
:END: | ||
#+title: Merkle Tree | ||
#+filetags: :cs: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
:PROPERTIES: | ||
:ID: 7a45b00c-b5fc-4132-a572-db798a5078d2 | ||
:ROAM_ALIASES: "Byzantine General's Problem" "Byzantine Fault" | ||
:END: | ||
#+title: Byzantine Failure | ||
#+filetags: :cs:meta: | ||
|
||
* Resources | ||
- https://en.wikipedia.org/wiki/Byzantine_fault |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
:PROPERTIES: | ||
:ID: b4b52e81-fc9e-4c62-89ab-8ea199fe77eb | ||
:END: | ||
#+title: Decentralization | ||
#+filetags: :meta: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
:PROPERTIES: | ||
:ID: 12ea2ca7-31e6-4ba7-834f-db7560f8075a | ||
:END: | ||
#+title: Sloppy Quorum | ||
#+filetags: :cs: | ||
|
||
* Overview | ||
|
||
- *Definition of Sloppy [[id:20240519T200217.994784][Quorum]]*: | ||
- A system design pattern commonly used in distributed systems. | ||
- It allows for read or write operations to succeed even when some nodes in the cluster are down or unreachable. | ||
|
||
- *Key Characteristics*: | ||
- Offers high [[id:cba21706-d0d4-4044-8cf1-cbafadad899f][availability]] and [[id:20240519T162542.805560][fault tolerance]]. | ||
- Data replication across multiple nodes enhances resiliency. | ||
- Reduced consistency guarantees in exchange for availability. | ||
|
||
- *The Role of Quorum*: | ||
- A traditional quorum requires a majority of nodes to respond for an operation to succeed. | ||
- Sloppy quorum relaxes this criterion, allowing operations to proceed with responses from fewer nodes or even from nodes that are not part of the intended quorum. | ||
|
||
- *Use Cases*: | ||
- Often implemented in systems where speed and uptime are prioritized over strict consistency, such as in NoSQL databases. | ||
- Can be beneficial in managing transient failures or network partitions. | ||
|
||
- *Trade-offs*: | ||
- While it improves availability, it may lead to stale reads or temporary inconsistencies in the system. | ||
- Use requires careful consideration of the acceptable level of inconsistency for the application in question. | ||
|
||
* Relevant Node | ||
** [[id:21124361-2f72-4270-9bfe-f12f52155476][Hinted Handoff]] | ||
* Resources | ||
- https://distributed-computing-musings.com/2022/05/sloppy-quorum-and-hinted-handoff-quorum-in-the-times-of-failure/ | ||
- https://scalablehuman.com/2021/11/23/distributed-data-intensive-systems-sloppy-quorums-and-hinted-handoffs/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
:PROPERTIES: | ||
:ID: cba21706-d0d4-4044-8cf1-cbafadad899f | ||
:ROAM_ALIASES: "High Availability" HA | ||
:END: | ||
#+title: Availability | ||
#+filetags: :cs: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
:PROPERTIES: | ||
:ID: 2cf696b9-cdd3-473b-8aff-adccc54cccdf | ||
:END: | ||
#+title: Anti-Entropy Protocols | ||
#+filetags: :cs: | ||
|
||
* Overview | ||
|
||
- *Definition*: | ||
- Anti-entropy protocols are methods used in [[id:a3d0278d-d7b7-47d8-956d-838b79396da7][distributed]] systems to ensure data [[id:e833eafc-e622-4631-a1ee-f9c679a4d71d][consistency]] across nodes. | ||
|
||
- *Purpose*: | ||
- They help reconcile differences between [[id:8cd19397-b5e5-40b6-a172-456c34985a11][replicas]], particularly in systems where data may diverge due to concurrent writes or network failures. | ||
|
||
- *Mechanisms*: | ||
- These protocols typically involve periodic checks of data states across nodes, followed by synchronization to resolve discrepancies. | ||
|
||
- *Types*: | ||
- *Push-based*: One node sends its data state to others. | ||
- *Pull-based*: Nodes request updates from one another. | ||
- *Hybrid*: Combines both push and pull mechanisms. | ||
|
||
- *Application*: | ||
- Commonly used in distributed databases (e.g., [[id:4f6c9fa4-ab8c-48da-a412-27a5a5867a21][Dynamo]], [[id:20240519T221905.005300][Cassandra]]) and [[id:20240519T201442.376294][peer-to-peer]] networks. | ||
|
||
- *Challenges*: | ||
- [[id:aa3f4461-08f4-4a3d-ae4b-5704d1f3dd23][Latency]]: Ensuring prompt updates can be difficult in large networks. | ||
- [[id:e8f3c721-0dba-4dc7-803f-263e88a47596][Network Partitioning]]: Handling situations where network splits can lead to divergent state. | ||
- Performance: Balancing consistency checks without overloading the system. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
:PROPERTIES: | ||
:ID: e8f3c721-0dba-4dc7-803f-263e88a47596 | ||
:END: | ||
#+title: Network Partitioning | ||
#+filetags: :cs: | ||
|
||
* Relevant Nodes | ||
** [[id:20240519T152842.050227][CAP]] |