HBaseは、Apache Hadoopの主要コンポーネントであるHadoop Distributed File System(HDFS)上で実行される、列指向の非リレーショナル・データベース管理システムです。
HBaseは、多くのビッグデータ・ユースケースで一般的な、スパースなデータセットを保存するためのフォールト・トレラントな方法を提供します。そのため、リアルタイムのデータ処理や、大量のデータへのランダム読み取り/書き込みアクセスに適しています。
リレーショナル・データベース・システムとは異なり、hBaseはSQLのような構造化クエリー言語をサポートしていません。実際、HBaseはリレーショナル・データストアではありません。hBaseアプリケーションは、javaで典型的な Apache MapReduceアプリケーションと同じように記述されています。HBaseは、Apache Avro、REST、Thriftの書き込みアプリケーションをサポートしています。
HBaseシステムは、直線的にスケーリングするように設計されています。従来のデータベースのように、行と列を備えた標準テーブルのセットで構成されています。各テーブルには、一次キーとして定義された要素が必要であり、すべてのアクセス試行がhbaseテーブルを使用する必要があります。このプライマリー・キーを使用する必要があります。
Avroは、コンポーネントとして、数値、バイナリデータ、文字列、さらにはアレイやマップ、列挙、レコードなどを含んだ多くの複雑なタイプなど、幅広いプリミティブ・データ型のセットをサポートしています。データのソート順を定義することもできます。
HBaseは、ZooKeeperを利用して高いパフォーマンスを調整しています。ZooKeeperはHBaseに組み込まれていますが、本番環境のクラスターを実行している場合は、HBaseクラスターと統合された専用のZooKeeperクラスターを用意することをお勧めします。
HBaseは、ビッグデータのバッチ処理用のクエリ・エンジンであるHiveと連携して、フォールト・トレラントなビッグデータ・アプリケーションを実現します。
HBase列は、オブジェクトの属性を表します。テーブルが環境内のサーバーからの診断ログを保存している場合、各行はログ・レコードである可能性があり、一般的な列はログ・レコードが書き込まれたときのタイムスタンプ、またはレコードが作成されたサーバー名である可能性があります。
HBaseでは、多くの属性を列ファミリーにまとめることができ、列ファミリーの要素はすべて一緒に保存されます。これは、特定の行のすべての列が一緒に保存される行指向のリレーショナル・データベースとは異なります。HBaseでは、テーブル・スキーマを事前に定義し、カラムファミリーを指定する必要があります。しかし、新しい列をいつでもファミリーに追加することができるため、スキーマは柔軟で、変化するアプリケーション要件に適応できます。
HDFSにNameNodeとスレーブ・ノードがあり、MapReduceにJobTrackerとTaskTrackerスレーブがあるのと同様に、HBaseも同様の概念に基づいて構築されています。HBaseでは、マスター・ノードがクラスターを管理し、リージョン・サーバーがテーブルの一部を保存してデータの作業を実行します。HDFSがNameNodeの可用性に起因する企業の懸念事項を抱えているのと同様に、HBaseもマスターノードの損失によって影響を受けます。
データ・サイロを排除し、複雑さを軽減し、データ品質を向上させることで、卓越した顧客体験と従業員体験を実現するデータ・ストラテジーを設計します。
watsonx.dataを使用すると、オープンでハイブリッド、かつ管理されたデータ・ストアを通じて、データがどこに保存されていても、すべてのデータを使用して分析とAIを拡張できます。
IBMコンサルティングと連携することで、企業データの価値を引き出し、ビジネス上の優位性をもたらす洞察を活用した組織を構築します。