INTRODUCTION Designing a highly available and fault tolerant database can be one of the most challenging tasks for any service. There is never a “one size fits all” approach to achieving these reliably and often times, based on organizational and business needs, one of these is prioritized over the other. But keeping a fine balance between the two of them can prevent disastrous fail overs and complete loss of data. This article focuses on clearly defining the two paradigms and understanding the basics of various techniques & principles that are helpful in achieving them.
Great article! Completely agree, there isn't one size fits all approach. Also, with major cloud providers today, most of these techniques are available out of the box (magic of serverless computing :D). This certainly helps in focusing on application logic, rather than worrying about infrastructure level stuff. But, it's important to keep these fundamental techniques in mind while designing a highly available and fault tolerant system.
Design Paradigms of a Database Service: High Availability and Fault Tolerance
Great article! Completely agree, there isn't one size fits all approach. Also, with major cloud providers today, most of these techniques are available out of the box (magic of serverless computing :D). This certainly helps in focusing on application logic, rather than worrying about infrastructure level stuff. But, it's important to keep these fundamental techniques in mind while designing a highly available and fault tolerant system.