您好,我是 hbase 和 hadoop 的新手。我找不到为什么我们将 hadoop 与 hbase 一起使用。我知道 hadoop 是一个文件系统,但我读到我们可以在没有 hadoop 的情况下使用 hbase 那么我们为什么要使用 hadoop?
谢谢
最佳答案
Hadoop
是一个允许我们以并行方式存储 和处理 跨机器集群的大量数据的平台。它是一个批处理系统,我们不必担心数据存储或处理的内部结构。
它不仅提供HDFS,用于可靠数据存储的分布式文件系统,还提供处理框架 MapReduce,允许跨机器集群处理庞大的数据集以并行方式。
Hadoop 的最大优势之一是它提供数据局部性。我的意思是,移动庞大的数据成本很高。 因此,Hadoop 将计算转移到了数据上。Hdfs 和 MapReduce 都经过高度优化,可以处理非常大的数据。
HDFS 通过数据复制确保高可用性和故障转移,因此如果集群中的任何一台机器由于某些灾难而宕机,您的数据仍然安全可用。
另一方面,HBase 是一个NoSQL 数据库
。我们可以将其视为分布式、可扩展的大数据存储。
用来克服Hdfs“不能随机读写”的缺陷。
Hbase 是一个合适的选择。它仿照 Google 的“BigTable”,而 Hdfs 仿照 GFS(Google 文件系统) .
没有必要仅在 Hdfs 之上使用 Hbase。我们可以将 Hbase 与其他持久存储(如“S3”或“EBS”)一起使用。 如果想深入了解Hadoop和Hbase,可以访问各自的主页-“hadoop.apache.org”和“hbase.apache.org”。
如果想深入学习《Hadoop.The.Definitive.Guide》和《HBase.The.Definitive.Guide》也可以翻阅以下书籍。
关于Hadoop 和 HBase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10664939/