为什么要使用Hadoop?

为什么要使用Hadoop?

Hadoop基本上是一个分布式文件系统(HDFS) --它允许您将大量文件数据存储在机器云中,处理数据冗余等。

在这个分布式文件系统的基础上,Hadoop提供了一个API来处理所有存储的数据-Map。其基本思想是,由于数据存储在许多节点中,所以最好以分布式方式处理,即每个节点都可以处理存储在其上的数据,而不是花费大量的时间在网络上移动数据。

与您可以实时查询的RDMS不同,映射减少过程需要时间,不会立即产生结果。

在这个基本方案的基础上,您可以构建一个列数据库,比如HBase。列数据库基本上是一个哈希表,允许对行进行实时查询。

据我所知,有很多不同之处。请阅读下面的差异。

Hadoop不是数据库。Hbase或Impala可能被认为是数据库,但Hadoop只是一个文件系统(hdfs),内置冗余、并行性。传统的数据库/RDBMS具有原子性、一致性、隔离性和耐久性等特点。你不能用Hadoop把这些从盒子里拿出来。因此,如果您必须编写代码从一个银行帐户取钱,并将其存入另一个帐户,那么您必须(痛苦地)对所有情况进行编码,例如,如果资金被取出,但在其转入另一个帐户之前出现故障,则会发生什么情况。Hadoop提供了大规模的处理能力和存储,与RDBMS相比成本非常低。Hadoop提供了巨大的并行处理能力。您可以在处理大量数据的同时运行作业。有些人认为,传统的数据库不能很好地处理非结构化数据,但它没有那么简单。有许多应用程序是使用传统的RDBMS构建的,它们使用了大量的非结构化数据或视频文件或PDF,这是我遇到的非常好的方法。通常,RDBMS将管理缓存中的大量数据,以加快处理速度,同时保持会话间的读取一致性。我认为Hadoop在使用内存缓存处理数据时做得更好,而不提供任何其他条目,比如读一致性。Hive几乎总是比在传统数据库中运行的SQL慢很多倍。因此,如果您认为Hive中的SQL比数据库中的SQL更快,那么您将感到非常失望。对于复杂的分析,它根本不会扩展。Hadoop非常适合并行处理问题--比如在大量文档中查找一组关键字(此操作可以并行化)。然而,对于可比较的数据集,RDBMS的实现通常会更快。

猜你喜欢

杨颖真实身高到底是多少呢? 真的只有一米六?
普及广视角面板! 明基MVA不闪屏首测(全文)
国产手机品牌质量排名
365提款一周都没到

国产手机品牌质量排名

06-29 9133
为什么编程需要数学好
365彩票官方下载手机

为什么编程需要数学好

06-27 2573
【国樽律所】民法典揭秘,按手印的法律效力与手指选择之谜
木槿花开了全集剧情
365彩票官方下载手机

木槿花开了全集剧情

06-30 7153