In previous article , I explained you how to create a service like TinyURL. That kind of service requires storing a lot of data what implies sharding this data across multiple DB instances. I showed a really simple algorithm of how data could be distributed in that case and briefly mention something about replication. Now the question is what would we do in real life?
Real-life distribtued DB Using existing NoSQL solution would be a good choice as they already solve main problems with distributed DB systems: