Mysql 简而言之,Hadoop和SQL之间的关系到底是什么?Hadoop会使SQL过时吗?请建议

Mysql 简而言之,Hadoop和SQL之间的关系到底是什么?Hadoop会使SQL过时吗?请建议,mysql,sql,sql-server,database,hadoop,Mysql,Sql,Sql Server,Database,Hadoop,通过自学,我已经准备好对SQL/DBMS有一个基本的/正确的理解,有人告诉我“Hadoop将在几年内淘汰SQL”。有人能告诉我这是怎么回事吗?SQL和Hadoop(如果有的话)之间有什么关系。Hadoop有新的查询语言吗?我真的很困惑。请帮忙。还是我应该放下所有的疑虑,认真学习SQL,以便掌握MySQL服务器的工作知识 附言:我会确保不再问这样的非技术性问题。这一次请帮我一个忙。Hadoop是一个分布式系统,设计用于处理大量(可能是)非结构化数据——想想Web服务器日志、文本文档等。它通常设计用

通过自学,我已经准备好对SQL/DBMS有一个基本的/正确的理解,有人告诉我“Hadoop将在几年内淘汰SQL”。有人能告诉我这是怎么回事吗?SQL和Hadoop(如果有的话)之间有什么关系。Hadoop有新的查询语言吗?我真的很困惑。请帮忙。还是我应该放下所有的疑虑,认真学习SQL,以便掌握MySQL服务器的工作知识


附言:我会确保不再问这样的非技术性问题。这一次请帮我一个忙。

Hadoop是一个分布式系统,设计用于处理大量(可能是)非结构化数据——想想Web服务器日志、文本文档等。它通常设计用于集群,通常是商品硬件,其中有多个处理节点执行映射/减少工作,以及跟踪/安排处理节点工作、处理故障、作业完成和其他概览任务的主节点。它使用的概念是从输入数据生成一些结果。映射部分涉及询问一些问题(通常是简单的,比如文档中每个单词的出现次数,但可能要复杂得多),而reduce部分接收映射器的输出,并将它们组合成一个摘要

最初使用Hadoop需要编写自己的map/reduce函数。由于这个原因,出现了像和这样的语言,它允许针对Hadoop集群发出类似SQL的语句,而不必编写map/reduce函数

另一方面,SQL有一个定义非常好的语法,用于从结构化数据中提取信息。如果数据被正确索引,您可以使用定义良好的SQL语言编写特殊查询。RDBMS提供了各种其他保证,以确保数据保持一致,并避免在节点发生故障时丢失数据。RDBMS也被设计为在多个节点上运行,但这更倾向于负载平衡和数据冗余(忽略切分,无论如何,切分应该与冗余相结合)


RDBMS的典型用例是银行交易,您当然不希望在信用/借记操作过程中出现这种情况,而对于Hadoop,您可以考虑计算所有英文书籍(或任何其他书籍)中的所有单词语言——在这里,如果一个节点出现故障并被另一个节点替换了一半,您真的不太在乎。这些都是极端的例子,您当然可以在这两个方面做更多的工作,但我希望能够指出它们旨在解决的截然不同的业务问题。

谁告诉过您Hadoop会使SQL过时?它们的用途完全不同。一个允许您从(可能是)非结构化数据中收集信息(使用Mapreduce),而另一个要求您根据模式输入数据,但允许极其灵活的查询和各种ACID保证(这不是Hadoop的目的)。Hive(和Pig)是为针对Hadoop执行类似SQL的查询而创建的语言。但是,坦白地说,它们是完全不同的动物,对于不同的场景,告诉你Hadoop的人会使SQL过时被误导。而且,认真地,如果你想学习RDBMS,考虑MySQL上的PergReS. @ JangBar Ca A非常感谢。如果你能告诉我什么是Hadoop(外行术语)以及它是如何与SQL完全无关的,这会对我有帮助,而且会进一步帮助我。告诉我这件事的那个人最初是为了帮助我学习(我自己学习计算机科学课程),但现在由于某种病态的原因,他把我当作“制造业的竞争对手”,因为我对这些课程认真而坚定。我只是喜欢认真地学习这些技术知识,而不是成为任何人的竞争对手……嗯……请在您的评论/回答中添加更多内容。谢谢。嗯,Hadoop发明已经有几年了,人们仍然有这样的“洞察力”。无论如何,这个问题主要是基于意见的,因此不适合堆栈溢出。对不起,我投票关闭了它,然后决定它值得回答。