NoSQL + MapReduce = MoreSQL?
Biswapesh Chattopadhyay 等人提出了一种有趣的方法。名为“Tenzing”,MapReduce 框架上的 SQL 实现。如果我们将 NoSQL 与 MapReduce 结合起来,然后将 NoSQL 进入 MoreSQL ?它看起来像 SELECT 命令很容易从 MySQL 转换为 NoSQL/MapReduce,而 更新和删除命令更难。是否有任何 SQL 命令无法翻译,或者是否有任何类似于 CAP 定理 的原因哪一个反对它?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
答案似乎是肯定的,但有局限性。显然可以将 SQL 翻译并映射到 MapReduce 命令,至少对于简单的 SELECT 查询。 Chattopadhyay 等人的论文。明确地说是:“可以在 MapReduce 框架之上创建一个功能齐全的 SQL 引擎,其扩展超越 SQL 进入深度分析”。启动开销可能存在一些问题,这可能会导致一开始的延迟。
甚至还有一个结合了NoSQL和MapReduce的开源实现:Hadoop是一个开源MapReduce实现,而Hive是Hadoop 之上的数据仓库系统,使用名为 HiveQL 的类似 SQL 的语言。有一些主要的差异但是,SQL 和 HiveQL 之间缺少更新和插入功能。
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.