1. A method comprising: under control of one or more computers configured with executable instructions, receiving data; storing the data in a first database having a first database type; storing the data in a second database having a second database type; receiving real-time performance information associated with the first database and the second database, the real-time performance information comprising a first efficiency score associated with the first database and a second efficiency score associated with the second database; receiving a query; determining that a query type of the query corresponds to the second database type; revising the query to correspond to the first database type to obtain a revised query; sending the revised query to the first database based at least in part on the first efficiency score being higher than the second efficiency score; receiving reply data responsive to the revised query; and outputting the reply data responsive to the revised query.