What are the challenges of scaling RDBMS, list the challenges to be faced while scaling the database management system, scaling possibilities for RDBMS
Question:
Discuss the challenge of scaling a relational database management system (RDBMS)
Answer:
In a relational
DBMS, the most difficult feature to scale are transactions. If a database grows
such that it no longer fits on one server but must instead be spread across
multiple servers, then a single transaction may update data on multiple
machines. Here, the challenge is about satisfying the ACID properties. In order
to provide ACID properties, the transaction must be committed using an
expensive two-phase commit protocol that requires multiple rounds of
communication between the machines involved.
If a database fits
on one machine but must support a high transaction rate, scalability is also a
challenge. One solution is to replicate the database such that the requests can
be spread across the replicas. For queries that only read data, this approach
works very well. In the case of updates, however, the challenge is in keeping
the replicas up-to-date. If we need to propagate each update synchronously to
all replicas, updates will be slow. If we return to the user without propagating
the update to all replicas, some operations can end-up reading stale values and
we also risk losing recent updates in case of failures.
Finally, parallel
queries that read and process a lot of data nicely scale but they also use a
lot of resources.
******************************
No comments:
Post a Comment