1. A method for providing a query layer for a cloud database, the method comprising: receiving, by a cloud database management device, one or more structured query language (SQL) queries requesting data from the cloud database; converting, by the cloud database management device, at least one of the received one or more SQL queries from a row-store database SQL query into a column-store database SQL query; identifying, by the cloud database management device, an optimal SQL join plan for the column-store database SQL query using a cost based optimizer based on metadata for one or more relations in the cloud database; converting the optimal SQL join plan into a set of MapReduce jobs; executing, by the cloud database management device, the MapReduce jobs using a platform independent cloud application programming interface and a MapReduce SQL connector; and receiving, by the cloud database management device, the requested data from the cloud database based on the column-store database SQL query.