diff --git a/src/roadmaps/system-design/content/101-performance-vs-scalability.md b/src/roadmaps/system-design/content/101-performance-vs-scalability.md index 607e3547b..fa30059de 100644 --- a/src/roadmaps/system-design/content/101-performance-vs-scalability.md +++ b/src/roadmaps/system-design/content/101-performance-vs-scalability.md @@ -1 +1,13 @@ -# Performance vs scalability \ No newline at end of file +# Performance vs Scalability + +A service is scalable if it results in increased performance in a manner proportional to resources added. Generally, increasing performance means serving more units of work, but it can also be to handle larger units of work, such as when datasets grow.1 + +Another way to look at performance vs scalability: + +- If you have a performance problem, your system is slow for a single user. +- If you have a scalability problem, your system is fast for a single user but slow under heavy load. + +To learn more, visit the following links: + +- [Scalability, Availability & Stability Patterns](https://www.slideshare.net/jboner/scalability-availability-stability-patterns/) +- [A Word on Scalability](https://www.allthingsdistributed.com/2006/03/a_word_on_scalability.html) \ No newline at end of file diff --git a/src/roadmaps/system-design/content/102-latency-vs-throughput.md b/src/roadmaps/system-design/content/102-latency-vs-throughput.md index 097eff568..0ab7ad328 100644 --- a/src/roadmaps/system-design/content/102-latency-vs-throughput.md +++ b/src/roadmaps/system-design/content/102-latency-vs-throughput.md @@ -1 +1,7 @@ -# Latency vs throughput \ No newline at end of file +# Latency vs Throughput + +Latency is the time to perform some action or to produce some result. Throughput is the number of such actions or results per unit of time Generally, you should aim for maximal throughput with acceptable latency. + +Learn more from the following links: + +- [Understanding Latency versus Throughput](https://community.cadence.com/cadence_blogs_8/b/fv/posts/understanding-latency-vs-throughput) \ No newline at end of file diff --git a/src/roadmaps/system-design/content/107-domain-name-system.md b/src/roadmaps/system-design/content/107-domain-name-system.md index 3f038299b..415b45092 100644 --- a/src/roadmaps/system-design/content/107-domain-name-system.md +++ b/src/roadmaps/system-design/content/107-domain-name-system.md @@ -1 +1,16 @@ -# Domain name system \ No newline at end of file +# Domain Name System + +A Domain Name System (DNS) translates a domain name such as www.example.com to an IP address. + +DNS is hierarchical, with a few authoritative servers at the top level. Your router or ISP provides information about which DNS server(s) to contact when doing a lookup. Lower level DNS servers cache mappings, which could become stale due to DNS propagation delays. DNS results can also be cached by your browser or OS for a certain period of time, determined by the time to live (TTL). + +- NS record (name server) - Specifies the DNS servers for your domain/subdomain. +- MX record (mail exchange) - Specifies the mail servers for accepting messages. +- A record (address) - Points a name to an IP address. +- CNAME (canonical) - Points a name to another name or CNAME (example.com to www.example.com) or to an A record. + +To learn more, visit the following links: + +- [Getting started with Domain Name System](https://github.com/donnemartin/system-design-primer#domain-name-system) +- [Intro to DNS Architecture](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd197427(v=ws.10)?redirectedfrom=MSDNs) +- [DNS articles](https://support.dnsimple.com/categories/dns/) \ No newline at end of file diff --git a/src/roadmaps/system-design/content/114-idempotent-operations.md b/src/roadmaps/system-design/content/114-idempotent-operations.md index ad337234c..adddcd802 100644 --- a/src/roadmaps/system-design/content/114-idempotent-operations.md +++ b/src/roadmaps/system-design/content/114-idempotent-operations.md @@ -1 +1,8 @@ -# Idempotent operations \ No newline at end of file +# Idempotent Operations + +An idempotent operation is an operation, action, or request that can be applied multiple times without changing the result, i.e. the state of the system, beyond the initial application. EXAMPLES (WEB APP CONTEXT): IDEMPOTENT: Making multiple identical requests has the same effect as making a single request. + +To learn more, visit the following links: + +- [What is an idempotent operation?](https://stackoverflow.com/questions/1077412/what-is-an-idempotent-operation) +- [Overview of Idempotent Operation](https://www.baeldung.com/cs/idempotent-operations) \ No newline at end of file