Designing Database Architecture – Horizontal Scaling with MySQL NDB Cluster and Database Sharding