Please enable JavaScript.
Coggle requires JavaScript to display documents.
System Design Basics, SDI, TinyURL - Coggle Diagram
System Design Basics
Loan Balancing
Benefits
-
fast, uninterrupted service
less downtime, higher throughout
easier for admin to handle request, less wait time for users
Predicative analysis to determine bottlenecks, actionable insights; automation, business decision
fewer fail, stressed components. several devices perform little bit of work
-
-
-
-
-
-
Cache
Intro
-
-
-
locations
-
-
local disk layer, faster than going to network storage
-
cache invalidation
Definition
database change, invalidate cache
-
-
Data Partitioning
-
partitioning methods
-
vertical partitioning
-
-
Example: photo, users, friends list in different server
Pros: easy to implement, less impact on app
-
-
Common problems
-
-
Rebalancing
reasons
not uniformed data distribution: eg, zip code
a lot of load on a partition: eg, too many request on photo partition
-
-
indexes
-
-
-
Cons - Decrease write performance, need to update index when main table perform insertion/deletion/update
SQL vs. NoSQL
SQL
definition
-
examples: MySQL, Oracle, MS SQL server, SQLites, Postgres...
NoSQL
types
-
-
-
Graph Database
definition
data in nodes, properties and lines
-
difference
-
-
-
reliability or ACID
SQL
Atomicity, Consistency, Isolation, Durability compliant
-
storage
-
NoSQL
key-value, document, graph, and columnar
which one to use?
-
Resons for NoSQL
cloud computing and storage, store in multiple servers
rapid development, no prepare ahead of time
-
-
-
proxy
-
-
types
open proxy
-
transparent proxy
first IP address can be viewed, cache the website
Reverse proxy
retrieves resources on behalf of the clients, appearing as if they originated from the proxy server
-
-
-
-
SDI
Estimation
-
-
-
-
-
memory
80/20 principle, cache 20% of total storate
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-