1. A method of database partitioning comprising: partitioning a database into multiple shard databases based upon ownership of objects stored in the database, wherein objects owned by a given user are stored in a single shard database, and further wherein a user-initiated action that transfers ownership of an object from a first user to a second user results in movement of the object from a first shard database associated with the first user to a second shard database associated with the second user; maintaining a mapping database that maps database object identifications to shard database identifications indicating in which one of the multiple shard databases respective objects are stored.