system-design-at-a-glance.hashnode.devData ReplicationIn designing any system, we always tend to ensure data replication at the database level so that if one database node goes down, another is available to serve client requests. Data replication generally happens on separate hardware, following the mas...Feb 5·3 min read
system-design-at-a-glance.hashnode.devBloom FilterA Bloom Filter is a space-efficient probabilistic data structure used to check whether an element is part of a set. It is mainly used when we need fast membership testing with very little memory. Bloom filters give answers in constant time and use co...Feb 4·2 min read
system-design-at-a-glance.hashnode.devSharding in DBMSShard means a small part of the whole, i.e., sharding is a process of dividing a database into smaller data partitions called shards. These shards are not only smaller, but they are also easier to manage, store, and query. Each shard typically holds ...Jan 29·2 min read
system-design-at-a-glance.hashnode.devHashingHashing, in system design, is a way to store data points in a database or distribute requests across servers. It is used to divide data or requests across multiple resources so that no single resource gets overloaded and the load is distributed effic...Jan 29·3 min read
system-design-at-a-glance.hashnode.devLoad BalancingWhen we have multiple servers working together, the first thing we need to do is load balancing, so that no single server gets overloaded. The load balancer distributes incoming requests across all the servers based on different strategies like round...Jan 24·2 min read