Reputation: 28245
There is an interesting approach from Biswapesh Chattopadhyay et al. named "Tenzing", a sql implementation on the MapReduce Framework. Can we get the best of both worlds, the joins and aggregate operators from SQL, and the scalability of NoSQL, if we combine NoSQL with MapReduce, and turn NoSQL into MoreSQL ? It looks like SELECT commands are easy to translate from MySQL to NoSQL/MapReduce, while UPDATE and DELETE commands are harder. Is there any SQL command which is impossible to translate, or is there any reason like the CAP theorem which speaks against it?
Upvotes: 1
Views: 414
Reputation: 28245
The answer seems to be yes, with limitations. It is apparently possible to translate and map SQL to MapReduce commands, at least for simple SELECT queries. The paper from Chattopadhyay et al. says clearly yes: "it is possible to create a fully functional SQL engine on top of the MapReduce framework, with extensions that go beyond SQL into deep analytics". There may be some problems with startup overhead which may lead to a latency in the beginning.
There is even an open source implementation which combines NoSQL and MapReduce: Hadoop is an open source MapReduce implementation, and Hive is a data warehouse system on top of Hadoop which uses a SQL-like language called HiveQL. There are some major differences between SQL and HiveQL, though, for example the lack of Update and Insert functionality.
Upvotes: 1