Database Sharding: Strategies for Horizontal Partitioning — Programming Keynou