1. ホーム
  2. hadoop

[解決済み] HBaseとHadoop/HDFSの違いについて

2022-05-26 14:38:35

質問

これは素朴な質問ですが、私は NoSQL パラダイムに不慣れで、それについてあまり知りません。だから、誰かが私にHBaseとHadoopの違いを明確に理解するのを助けることができるか、または私が違いを理解するのに役立つかもしれないいくつかのポインタを与えることができる場合。

Hadoop は HDFS 内の生のデータチャンク(ファイル)を扱うフレームワークを提供し、HBase は Hadoop の上のデータベースエンジンで、基本的に生のデータチャンクの代わりに構造化データを扱うものだと私は理解しています。Hbaseは、SQLがそうであるように、HDFSの上に論理的なレイヤーを提供します。これは正しいのでしょうか?

どのように解決するのですか?

Hadoopは基本的に3つのもの、FS(Hadoop Distributed File System)、計算フレームワーク(MapReduce)、管理ブリッジ(Yet Another Resource Negotiator)です。HDFSは、大量のデータを分散(高速な読み書きアクセス)かつ冗長(可用性の向上)な方法で保存することが可能です。そしてMapReduceは、この膨大なデータを分散かつ並列に処理することを可能にします。しかし、MapReduceはHDFSだけに限定されるものではありません。FSであるHDFSは、ランダムな読み書きができない。シーケンシャルなデータアクセスに向いているのです。そこで登場するのがHBaseです。HBaseはHadoopクラスタ上で動作するNoSQLデータベースで、データへのランダムなリアルタイムリード/ライトアクセスを提供します。

HadoopとHBaseには、構造化されたデータと非構造化データの両方を保存することができます。どちらもシェルや他のAPIなど、データにアクセスするための複数のメカニズムを提供します。 HDFSがフラットファイルとしてデータを保存するのに対し、HBaseはキーと値のペアでカラム状にデータを保存する。両方のシステムの顕著な特徴のいくつかは次のとおりです。

Hadoop

  1. 大容量ファイルのストリーミングアクセスに最適化されています。
  2. ライトワンス・リードマニー・イデオロギーに従う。
  3. ランダムリード/ライトはサポートしません。

HBase

  1. キーと値のペアをカラムナー方式で格納する(カラムはカラムファミリとして一緒にクラブ化される)。
  2. 大きなデータセットから少量のデータへの低レイテンシーアクセスを提供する。
  3. 柔軟なデータモデルを提供します。

Hadoopはオフラインのバッチ処理に最も適しており、HBaseはリアルタイムのニーズがある場合に使用されます。

類似の比較として、MySQL と Ext4 の間があります。