From b1da55261bbeae09130508ee672888d61a81be42 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Fri, 23 Dec 2022 18:04:31 +0400 Subject: [PATCH] Add a database topic - Failure modes --- content/roadmaps/101-backend/content-paths.json | 2 +- .../108-more-about-databases/105-failure-modes.md | 14 ++++++++++++++ .../105-read-contention.md | 7 ------- public/project/backend.json | 8 ++++---- 4 files changed, 19 insertions(+), 12 deletions(-) create mode 100644 content/roadmaps/101-backend/content/108-more-about-databases/105-failure-modes.md delete mode 100644 content/roadmaps/101-backend/content/108-more-about-databases/105-read-contention.md diff --git a/content/roadmaps/101-backend/content-paths.json b/content/roadmaps/101-backend/content-paths.json index b53ee9fa0..3307ab016 100644 --- a/content/roadmaps/101-backend/content-paths.json +++ b/content/roadmaps/101-backend/content-paths.json @@ -55,7 +55,7 @@ "more-about-databases:transactions": "/roadmaps/101-backend/content/108-more-about-databases/102-transactions.md", "more-about-databases:n-plus-one-problem": "/roadmaps/101-backend/content/108-more-about-databases/103-n-plus-one-problem.md", "more-about-databases:database-normalization": "/roadmaps/101-backend/content/108-more-about-databases/104-database-normalization.md", - "more-about-databases:read-contention": "/roadmaps/101-backend/content/108-more-about-databases/105-read-contention.md", + "more-about-databases:failure-modes": "/roadmaps/101-backend/content/108-more-about-databases/105-failure-modes.md", "more-about-databases:profiling-performance": "/roadmaps/101-backend/content/108-more-about-databases/106-profiling-performance.md", "scaling-databases": "/roadmaps/101-backend/content/109-scaling-databases/readme.md", "scaling-databases:database-indexes": "/roadmaps/101-backend/content/109-scaling-databases/100-database-indexes.md", diff --git a/content/roadmaps/101-backend/content/108-more-about-databases/105-failure-modes.md b/content/roadmaps/101-backend/content/108-more-about-databases/105-failure-modes.md new file mode 100644 index 000000000..3ece98265 --- /dev/null +++ b/content/roadmaps/101-backend/content/108-more-about-databases/105-failure-modes.md @@ -0,0 +1,14 @@ +# Failure Modes + +There are several different failure modes that can occur in a database, including: + +* Read contention: This occurs when multiple clients or processes are trying to read data from the same location in the database at the same time, which can lead to delays or errors. +* Write contention: This occurs when multiple clients or processes are trying to write data to the same location in the database at the same time, which can lead to delays or errors. +* Thundering herd: This occurs when a large number of clients or processes try to access the same resource simultaneously, which can lead to resource exhaustion and reduced performance. +* Cascade: This occurs when a failure in one part of the database system causes a chain reaction that leads to failures in other parts of the system. +* Deadlock: This occurs when two or more transactions are waiting for each other to release a lock on a resource, leading to a standstill. +* Corruption: This occurs when data in the database becomes corrupted, which can lead to errors or unexpected results when reading or writing to the database. +* Hardware failure: This occurs when hardware components, such as disk drives or memory, fail, which can lead to data loss or corruption. +* Software failure: This occurs when software components, such as the database management system or application, fail, which can lead to errors or unexpected results. +* Network failure: This occurs when the network connection between the database and the client is lost, which can lead to errors or timeouts when trying to access the database. +* Denial of service (DoS) attack: This occurs when a malicious actor attempts to overwhelm the database with requests, leading to resource exhaustion and reduced performance. diff --git a/content/roadmaps/101-backend/content/108-more-about-databases/105-read-contention.md b/content/roadmaps/101-backend/content/108-more-about-databases/105-read-contention.md deleted file mode 100644 index ddbfcfa8d..000000000 --- a/content/roadmaps/101-backend/content/108-more-about-databases/105-read-contention.md +++ /dev/null @@ -1,7 +0,0 @@ -# Read Contention - -Database contention is a situation that occurs when multiple users or processes are trying to access the same resource in a database concurrently, and there are limited resources available to handle these requests. This can cause delays or conflicts as the database tries to manage the competing demands for resources. - -Contention can occur at various levels in a database, such as at the table level, the page level, or the row level. For example, if two users are trying to update the same row in a table at the same time, the database may have to resolve the conflict by choosing which update to apply. - -Contention can have a negative impact on the performance of a database, as it can lead to delays in processing requests and reduced efficiency. To address contention, database administrators may need to optimize the design of the database, implement locking mechanisms, or increase the availability of resources. diff --git a/public/project/backend.json b/public/project/backend.json index 625d31157..41530668d 100644 --- a/public/project/backend.json +++ b/public/project/backend.json @@ -13908,7 +13908,7 @@ "x": "1059", "y": "1924", "properties": { - "controlName": "105-more-about-databases:read-contention" + "controlName": "105-more-about-databases:failure-modes" }, "children": { "controls": { @@ -13931,13 +13931,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "131", + "measuredW": "110", "measuredH": "25", - "x": "30", + "x": "41", "y": "7", "properties": { "size": "17", - "text": "Read Contention" + "text": "Failure Modes" } }, {