我对Hadoop的使用感到困惑。我不明白什么时候&在哪里使用Hadoop。
Hadoop是一个允许存储和处理的开源框架 跨计算机集群的分布式环境中的大数据 使用简单的编程模型。它旨在扩大规模 单台服务器到数千台机器,每台机器都提供本地服 计算和存储。
根据定义,这项工作也可以通过其他数据库来完成,例如Oracle,MSSQL等,即存储&跨群集处理数据。那么使用Hadoop还有什么优势呢?
答案 0 :(得分:5)
Hadoop基本上是一个分布式文件系统(HDFS) - 它允许您在云计算机上存储大量文件数据,处理数据冗余等。
在该分布式文件系统之上,Hadoop提供了一个用于处理所有存储数据的API - Map-Reduce。 基本思想是,由于数据存储在许多节点中,因此您最好以分布式方式处理数据,其中每个节点都可以处理存储在其上的数据,而不是花费大量时间在网络上移动数据。
与您可以实时查询的RDMS不同,map-reduce过程需要时间并且不能立即产生结果。
除了这个基本方案之外,您还可以构建一个列数据库,如HBase。 列数据库基本上是一个哈希表,允许对行进行实时查询。
据我所知,存在很多差异。请阅读以下差异。
答案 1 :(得分:1)
RDBMS无法以经济高效的方式处理大数据。随着数据大小的增加,使用垂直可伸缩性技术的RDBMS系统将无法正常工作。在这个地方,像hadoop这样的大数据处理框架以经济有效的方式运行良好。 大多数大数据处理框架都是开源的,旨在在商用硬件上运行。因此,与相同设置所需的RDBMS相比,成本将非常低。
简单来说,由于数据大小和复杂性,bigdata从RDBMS停止的地方开始。 另一点是RDBMS主要处理结构化数据。但是大多数大数据框架都可以处理结构化,非结构化和半结构化数据。大多数大数据框架都是为处理任何类型的大数据而设计的。
答案 2 :(得分:0)
分发数据和计算。数据本地计算可防止网络过载。任务是独立的,因此很容易处理部分故障。这里整个节点都可以失败并重新启动。
它避免了爬行失败和容忍同步分布式系统的恐怖。理想情况下的线性扩展。它曾用于设计廉价的商品硬件。简单的编程模型。最终用户程序员只编写map-reduce任务。