A Guide to Database Sharding: Key Strategies