Database sharding

Data partitioning, or sharding, involves dividing a large database into smaller pieces. This helps improve how the database is managed, its performance, availability, and how the application distributes its workload. The idea behind sharding is that once a database reaches a certain size, it’s more efficient and cost-effective to add more machines horizontally (meaning, adding more machines) than to invest in bigger, more powerful servers vertically. In nutshell, it is the process of splitting up a DB/table across multiple machines.

Read More

Latency metrics

Latency measures are crucial for checking how well your apps and services perform. Latency means the total time it takes for a piece of data to go from where it starts to where it ends up, usually on a network. When we talk about latency, we’re mostly talking about how fast things move in a network. It’s one of the main things we look at to see if a service is good or not. We usually measure it in milliseconds. The lower the latency, the better the user’s experience.

Read More

Business Continuity and Disaster Recovery (BCDR)

What is Business continuity and disaster recovery?

BCDR represents a set of approaches or processes that helps a company to recover from a disaster so company can resume its routine business operations. Disasters includes hardware failure, natural calamities (earthquake or flood), network failure, employee negligence, outages or disruption due to power failure, cyberattacks etc.

A BCDR plan ensures that businesses operate as close to normal as possible after an unexpected interruption, with minimal loss of data.

Read More

System design: Chat messenger like WhatsApp

What is Chat messenger?

Now a days, we are all using one or other kind of personal chat messenger like WhatsApp or Signal etc. We are using this application to send message to individual or to group. We can send text message or media messages (image, video, document etc.).

Functional requirements

We will discuss and design below features of chat messenger.

  1. Send text message (One to one)
  2. Ack of Sent, Delivered and Read receipts
  3. Last seen of an individual
  4. Send media message
  5. Profile management
Read More