Fundamentals System Design
Fundamentals System Design
MURIGIPUDI
FUNDAMENTALS OF
SYSTEM DESIGN
Solution :
You buy an expensive printer with better
& higher
performance
Vertical Scaling
LOAD BALANCING
Problem :
People lined up to use printers and even more
people
are coming, so you want to make sure that
everyone
gets to use the printer & people are not
crowding a
single printer.
Solution :
You as a floor manager, observe which printer has
less
queue of people & start directing people to those
printers.
In a nutshell, a load balancer distributes
traffic
evenly onto your servers preventing
server
overloads.
MONOLITH
Problem :
printer.
Solution :
P = programming
I = INTERFACE
Problem :
Solution :
print operation !
What did we observe here? You have a request
(to get
prints), and you're using the printer (API) to
accomplish that task and get printed papers
(response
output)
Solution :
You as the manager, will take their print request &
ask
them to wait and you will perform an operation
& give
back the copy to them.
Solution :
To avoid that, you as a floor manager will inform that
at maximum, only 10 people are allowed into the
printing room at any point in time.
What Now?
Solution :
How about you create another printing space on
some
other floor or building? This solves a couple
of things.
operating system.
C = Consistency
A = Availability
p = Partition Tolerance
Consistency - All the clients see identical data at
of the server/node
system
In an ideal world, it's not possible to have all
three
of them coexist together
There has to be a
trade-off made and we pick one
to suit our
scenario, i.e CA (or) CP (or) AP.
SQL vs NOSQL
Picking the right database for your system is
probably
one of the important choices to make
The right one
would mean less latency, fewer
costs, etc, whereas
the wrong one would become
expensive and
unscalable with constant schema
updates frequently.
to retrieve records.
key of the table & the second column has the pointers
can be found.
There are multiple indexes -i primary, clustering,
secondary, etc.
SHARDING
When you want to query huge data in your database,
Bosscoder?
400+ Alumni placed at Top
Product-based companies.