A computer-implemented method for providing one or more recommendations for migration of a database to a cloud computing system, comprising: creating a similarity space for compressed representations (412a-i) generated by a neural network- based autoencoder, wherein creating the similarity space comprises: executing workloads (518a-n) against a plurality of databases (502a-n), wherein each workload (518a-n) is executed against different instances (202a-c) of a database (502a-n) running on a plurality of different computer systems having different hardware configurations, and wherein executing the workloads (518a-n) against the plurality of databases (502a-n) generates information (222a-c) corresponding to the different hardware configurations for each of the plurality of databases (502a-n); and executing the neural network-based autoencoder using different combinations of subsets (224a-c) of the information (222a-c) as input layer values (332a-n) and output layer values (334a-n) for the neural network-based autoencoder, thereby generating a plurality of compressed representations (412a-i) for each of the plurality of databases (502a-n); training a neural network-based classifier to map a particular compressed representation (412a-i) that is generated by the neural network-based autoencoder to a particular characteristic of a cloud database, comprising: executing the neural network-based classifier multiple times, each time executed, using one of the plurality of compressed representations (412a-i) as input layer values (746a, 746b) and at least one known characteristics (544a-n) of the database (502a-n) from which the compressed representation (412a-i) is generated as output layer value; obtaining information associated with performance of the database operating under a workload; generating, based at least on the information a compressed representation of characteristics of the database operating under the workload using the neural network-based autoencoder, wherein the neural network-based autoencoder comprises an input layer with N input layer values (332a-n), an output layer with N output layer values (334a-n) and a hidden layer with fewer than N hidden layer values (336, 338); determining at least one recommended characteristic for a cloud database using the plurality of different compressed representation as input to the trained neural network-based classifier; and outputting the at least one recommended characteristic. creating a similarity space for compressed representations (412a-i) generated by a neural network- based autoencoder, wherein creating the similarity space comprises: executing workloads (518a-n) against a plurality of databases (502a-n), wherein each workload (518a-n) is executed against different instances (202a-c) of a database (502a-n) running on a plurality of different computer systems having different hardware configurations, and wherein executing the workloads (518a-n) against the plurality of databases (502a-n) generates information (222a-c) corresponding to the different hardware configurations for each of the plurality of databases (502a-n); and executing the neural network-based autoencoder using different combinations of subsets (224a-c) of the information (222a-c) as input layer values (332a-n) and output layer values (334a-n) for the neural network-based autoencoder, thereby generating a plurality of compressed representations (412a-i) for each of the plurality of databases (502a-n); executing workloads (518a-n) against a plurality of databases (502a-n), wherein each workload (518a-n) is executed against different instances (202a-c) of a database (502a-n) running on a plurality of different computer systems having different hardware configurations, and wherein executing the workloads (518a-n) against the plurality of databases (502a-n) generates information (222a-c) corresponding to the different hardware configurations for each of the plurality of databases (502a-n); and executing the neural network-based autoencoder using different combinations of subsets (224a-c) of the information (222a-c) as input layer values (332a-n) and output layer values (334a-n) for the neural network-based autoencoder, thereby generating a plurality of compressed representations (412a-i) for each of the plurality of databases (502a-n); training a neural network-based classifier to map a particular compressed representation (412a-i) that is generated by the neural network-based autoencoder to a particular characteristic of a cloud database, comprising: executing the neural network-based classifier multiple times, each time executed, using one of the plurality of compressed representations (412a-i) as input layer values (746a, 746b) and at least one known characteristics (544a-n) of the database (502a-n) from which the compressed representation (412a-i) is generated as output layer value; obtaining information associated with performance of the database operating under a workload; generating, based at least on the information a compressed representation of characteristics of the database operating under the workload using the neural network-based autoencoder, wherein the neural network-based autoencoder comprises an input layer with N input layer values (332a-n), an output layer with N output layer values (334a-n) and a hidden layer with fewer than N hidden layer values (336, 338); determining at least one recommended characteristic for a cloud database using the plurality of different compressed representation as input to the trained neural network-based classifier; and outputting the at least one recommended characteristic.