1. A computer-implemented method comprising: receiving information identifying an implementation of a database having a database schema and a plurality of database elements; identifying a number of database servers to host the database implementation; analyzing usage characteristics of the database schema; distributing the database implementation over the identified number of database servers based on analysis of the usage characteristics of the database schema; and providing access to the database implementation for one or more applications, the applications being unaware of the database servers hosting the database implementation.