初心者のための HBase チュートリアル: HBase とは何ですか? 3日間で学べる!

HBase チュートリアルの概要

Hbase は、HDFS (Hadoop Distributed File System) 上で実行される列指向のデータベース管理システムです。この初心者向けの HBase チュートリアルでは、Apache HBase の基本と高度な概念を学習します。この HBase コースには、導入、インストール、アーキテクチャから高度な内容まで、HBase の基本がすべて含まれています。

HBaseとは?

HBase は、オープンソースの列指向の分散データベース システムです。 Hadoopの 環境。当初はGoogle Big Tableでしたが、後にHBaseに名前が変更され、主に Java.  アパッチ HBase は、リアルタイムのビッグ データ アプリケーションに必要です。

HBase はテラバイトからペタバイトまでの膨大な量のデータを保存できます。HBase のテーブルは、何百万もの列を持つ何十億もの行で構成されています。HBase は低レイテンシ操作向けに構築されており、従来のリレーショナル モデルと比較していくつかの特別な機能を備えています。

HBase トレーニングのシラバス

この Apache HBase トレーニング ガイドで取り上げている内容は次のとおりです。

👉 基礎学習 ArchiHBase の構造 — HBase Archi構造、コンポーネント、データモデル
👉 基礎学習 HBase のインストール — HBase のインストール Ubuntu
👉 基礎学習 HBase シェル コマンド — 例で学ぶ
👉 基礎学習 HBase テーブルの作成 — HBaseでテーブルを作成する手順 Java API
👉 基礎学習 HBase でのデータの挿入と取得 — get()、put()、scan() の例
👉 基礎学習 HBase のパフォーマンスのボトルネック — HBase の利点と制限
👉 基礎学習 Hbase の面接の質問 — Hbase インタビューの質問と回答トップ 30

この初心者向け HBase チュートリアルでは何を学びますか?

この初心者向けの HBase チュートリアルでは、Apache HBase とは何か、 ArchiHBase の構造、HBase のインストール方法、HBase でのテーブル作成手順、HBase の利点と制限事項など。

HBase を選ぶ理由

一般的な Web アプリケーションのテーブルは、数十億行で構成されている場合があります。このような膨大な量のデータから特定の行を検索する場合、クエリのフェッチ時間が短い HBase が理想的な選択肢です。ほとんどのオンライン分析アプリケーションは HBase を使用しています。

従来のリレーショナル データ モデルは、非常に大規模なデータベースのパフォーマンス要件を満たしていません。 これらのパフォーマンスと処理の制限は、Apache HBase によって克服できます。

ApacheHBaseの機能

  • HBaseは低レイテンシ操作向けに構築されています
  • HBaseはランダムな読み取りおよび書き込み操作に広く使用されています
  • HBase は大量のデータをテーブル形式で保存します
  • クラスタ環境上で線形かつモジュール式のスケーラビリティを提供します
  • 読み取りと書き込み操作に厳密に一貫性がある
  • 構成可能なテーブルの自動シャーディング
  • リージョンサーバー間の自動フェイルオーバーのサポート
  • バッキングに便利な基本クラス Hadoop MapReduce HBase テーブルのジョブ
  • 簡単に使える Java クライアントアクセス用のAPI
  • リアルタイムクエリ用のブロックキャッシュとブルームフィルター
  • クエリ述語はサーバー側のフィルターを介してプッシュダウンされます。

Hadoop における NoSQL データベースの重要性

ビッグデータ分析では、 Hadoopの 大規模なデータセットを管理することで典型的なビジネス上の問題を解決する上で重要な役割を果たし、分析ドメインで最適なソリューションを提供します。

Hadoopエコシステムでは、各コンポーネントが独自の役割を果たし、

  • データ処理
  • データ検証
  • データの保存

非構造化および半構造化データの保存とそのようなデータの検索の点では、リレーショナル データベースはあまり役に立ちません。 また、Hadoop ストレージに保存されている巨大なデータ セットにクエリを適用して結果を取得することは、困難な作業です。 NoSQL ストレージ テクノロジーは、巨大なデータセットに対するクエリを高速化するための最適なソリューションを提供します。

その他の NoSQL ストレージ タイプのデータベース

市場に存在する NoSQL モデルの一部は次のとおりです。 Cassandra, MongoDB, CouchDB。 これらのモデルはそれぞれ、異なる収納メカニズムを備えています。

たとえば、 MongoDB は、NoSQLファミリーツリーのドキュメント指向データベースです。従来のデータベースと比較して、パフォーマンス、可用性、スケーラビリティの点で最高の機能を提供します。オープンソースのドキュメント指向データベースであり、 C++.

Cassandra これは、オープンソース Apache ソフトウェアの分散データベースでもあり、コモディティ サーバー全体に保存されている膨大な量のデータを処理できるように設計されています。 Cassandra 単一障害点のない高可用性を提供します。

一方、 CouchDB は、各ドキュメント フィールドがキーと値のマップに格納されるドキュメント指向データベースです。

HBase は他の NoSQL モデルとどう違うのか

HBase ストレージ モデルは、上で説明した他の NoSQL モデルとは異なります。 これは次のように言えます。

  • HBase は、データをキーと値のペアの形式で列指向モデルに保存します。 このモデルでは、すべての列が列ファミリーとしてグループ化されています。
  • HBase は、柔軟なデータ モデルと、大規模なデータ セットに格納されている少量のデータへの低遅延アクセスを提供します。
  • Hadoop 上の HBase は、分散クラスター セットアップのスループットとパフォーマンスを向上させます。その結果、ランダム読み取りおよび書き込み操作が高速化されます。

どの NoSQL データベースを選択しますか?

MongoDB, CouchDB, Cassandra は、機能固有であり、ビジネス ニーズに応じて使用される NoSQL タイプのデータベースです。ここでは、ユースケースごとにさまざまな NoSQL データベースをリストしました。

機能に基づくデータベースの種類 データベースの例 ユースケース(いつ使用するか)
キー/値 Redis、MemcacheDB 情報のキャッシュ、キューイング、配信
列指向 Cassandra、HBase スケーリング、非構造化、不揮発性の維持
ドキュメント指向 MongoDB、カウチベース ネストされた情報、 Javaスクリプトフレンドリー
グラフベース OrientDB, Neo4J 複雑なリレーショナル情報の処理。分類のモデリングと処理。

HBase とハイブ

特徴 HBase ハイブ
データベースモデル ワイドカラムストア リレーショナル DBMS
データスキーマ スキーマフリー スキーマあり
SQLサポート いいえ はい、HQL (Hive クエリ言語) を使用します。
パーティション方式 シャーディング シャーディング
一貫性レベル 即時の整合性 結果整合性
セカンダリインデックス いいえ はい
レプリケーション方法 選択可能なレプリケーション係数 選択可能なレプリケーション係数

HBase とRDBMS

HBase と従来のリレーショナル データベースを比較する際には、XNUMX つの主要な領域を考慮する必要があります。 それは、データ モデル、データ ストレージ、データの多様性です。

HBASE RDBMS
  • データベースのスキーマレス化
  • データベースに固定スキーマがある
  • 列指向データベース
  • 行指向のデータストア
  • 非正規化データを保存するように設計されています
  • 正規化されたデータを保存するように設計されています
  • HBase に存在する幅が広く、人口がまばらなテーブル
  • データベースに薄いテーブルが含まれています
  • 自動パーティショニングをサポート
  • パーティショニングのサポートが組み込まれていない
  • OLAP システムに最適
  • OLTPシステムに最適
  • データベースから関連データのみを読み取ります
  • 一度に XNUMX 行を取得するため、行内の一部のデータのみが必要な場合は不要なデータが読み取られる可能性があります。
  • 構造化データと半構造化データは、HBase を使用して保存および処理できます。
  • RDBMS を使用して構造化データを保存および処理できる
  • 多数の行と列にわたる集計を可能にします
  • 集約はコストのかかる操作である

まとめ

HBase は独自の機能を提供し、典型的な産業用ユースケースを解決します。 列指向のストレージとして、高速なクエリ、結果のフェッチ、および大量のデータ ストレージを提供します。 このコースは、HBase を段階的に完全に紹介するものです。