Reliable, Scalable and Maintainable of Data-Intensive Application

Marcus Man
6 min readApr 6, 2021

Nowadays many of applications are data-intensive, as opposed to computed-intensive. CPU power are rarely a bottleneck of these applications, where the bigger challenge are usually the amount of data, the complexity of data and the speed which it is changing.

Table Of Contents

In this article, it will walk you through 3 important pillars when designing a robust software system — Reliability, Scalability and Maintainability, with questions and bullet-points to refresh your memory of best practises in a step-by-step manner.

What are the commonly needed functionality of data-intensive applications?

[Reliability] How do you ensure that the data remains correct and complete, even when things go wrong internally (high degree of reliability, fault-tolerant and resilience)?

[Scalability] How do you scale to handle an increase in load? What does a good API for the service look like?

[Maintainability] How operability, simplicity and evolvability acts as when we consider maintainability?

Components of data intensive application

A data intensive application is typically built from certain blocks of functionality.

  1. Database — store data so that they, or another application, can find it again later.
  2. Cache — remember an expensive operation, to speed up…

--

--

Responses (1)