1. A method of converting a first version of a database to a third version, including: selecting, using a processor, a translation path from a plurality of translation paths based on either a shortest path or a first path found, each translation path proceeding from the first version of the database to the third version of the database via a second version of the database; and traversing, using the processor, the selected translation path comprising: converting the first version of the database to the second version of the database; and converting the second version of the database to the third version of the database, wherein the database is part of a cluster including a plurality of databases; wherein in the event that the database fails at being upgraded, another database of the cluster is available to be upgraded from the first version to the third version; wherein in the event that each database of the cluster fails to be upgraded from the first version to the third version, a determination is made that the cluster is unable to be upgraded; wherein each of the first version of the database, the third version of the database, and the second version of the database is associated with a fully migrated version of the database; wherein for each translation path, the first version of the database, the second version of the database, and the third version of the database are different from each other; and wherein for each translation path, the second version of the database is different from the second version of the database of another translation path.