Scaling & Data Replication
Fault (Vs) Failure :
Fault is the CAUSE , Failure is the EFFECT
Fault Tolerance – It will replicates the server , if any one of the server fails also the other replicated server will give the Response to the Customer . it will applicable for DB as well if one DB goes down the other replica DB will respond.
Types of Fault :
Transient Fault : Occurs for a very small duration , Hard to locate
Permanent Fault : Continues until fixed , Easily Identifiable
Horizontal Scaling & Vertical Scaling :
Vertical Scaling : When you increase the Capacity of the Existing Resource its Vertical Scaling
Horizontal Scaling : Increase the Number of Resources its Horizontal Scaling
Scaling :
Increase The Load
System not Complex
Performance Should not take ahead
Performance Should Increase Performance
Database Replication :
To have an Copy of an Existing Database
The Existing DB its called as Primary DB / Master DB , The Replicated DB of Existing DB its called Secondary DB / Slave
Replication will reduce the latency by many Replication will be keeps around the Globe
Replication lag - is that time take the value could be Copy to Primary DB to Replicated DB
Synchronous Replication – All Replicas have to be updated before host is acknowledged
Asynchronous Replication – Host is acknowledged after Primary DB is updated , Replicas update Asynchronously
Semi Synchronous Replication – Here Its an combination of Synchronous & Asynchronous Replication , Here the Primary DB write will happen so it will update the values in all Replica DB so the Primary DB will except any one of the Replica DB acknowledge that The write has been replicated Successfully so the Primary DB will Confirms the Write Operation from the HOST
Snapshot – Its allow us to take the states of the Data
Ex : T1 = 6 table 10k rows (First Snapshot State)
T1+6 = 6 table 12k rows (Second Snapshot State After 6 hours)
Subscribe to my newsletter
Read articles from OBULIPURUSOTHAMAN K directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
OBULIPURUSOTHAMAN K
OBULIPURUSOTHAMAN K
As a Computer Science and Engineering graduate, I have cultivated a deep understanding of software development principles and technologies. With a strong foundation in Java programming, coupled with expertise in frontend and backend development, I thrive in crafting robust and scalable solutions. Currently, I am leveraging my skills as a Java Full Stack Engineer at Cognizant, where I am involved in designing and implementing end-to-end solutions that meet the complex requirements of our clients. I am passionate about leveraging emerging technologies to drive innovation and deliver tangible business value. My goal is to continually enhance my expertise and contribute to the advancement of software engineering practices in the industry.