Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。14:00DBGoogleポストHBaseは、Googleの基盤ソフトウェアである「Bigtable」のオープンソースクローンであり、大量データに対応した分散ストレージシステムです。HBaseを用いることで、スケーラブルで信頼性のあるデータベースを構築することができます。MapReduceを標準でサポートしており、HBaseに保存したデータに対してバッチ処理を行うことも可能です。SQLで扱えないことや、RDBとのスキーマ設計の考え方の違いなど、とっつきにくい部分が多々あり、戸惑う方が多いように思います。本連載では、そういう方々を対象にできるだけ分かりやすく実例を交えながら解説していきたいと思います。5HBaseにアクセスしてみようまとめ参考資料はじめに近年、「NoSQL」の技術が注目を集めています。SQL"の略で、SQLを用いないデータベースの総称です。NoSQLというとCassandra、Redis、MongoDBなどたくさんのデータベースがありますが、HBaseもその中の一つです。今回は、まずHBaseはどのようなデータベースなのかを説明します。その後に実際に動かしてみてHBaseを体験してみましょう。対象読者HBaseを使ってみたいけど、どう使ったらよいか分からない方MySQLなどのRDB以外のデータベースを使ってみたい方HBaseはどんなデータベース?冒頭でも書きましたが、HBaseはGoogleの基盤ソフトウェアのBigtableのオープンソースクローンであり、NoSQLの一つです。Bigtableは、数千台のコモディティなサーバでペタバイト級の大量データを扱うために開発されたデータベースであり、Google内のさまざまなアプリケーションで使用されています。Bigtableはスケーラブルで、かつ高パフォーマンスで高可用性を実現するデータベースを目指して開発されました。これらの特性はHBaseに受け継がれています。それでは、さまざまな視点からHBaseを見ていきましょう。CAP定理で見るHBaseNoSQLと一緒に語られるものとしてCAP定理があります。CAP定理とは、Consistency(一貫性)、Availability(可用性)、Partition-tolerance(分断耐性)の頭文字をとったものですが、分散システムにおいてこの3つを同時に満たすことはできないという定理です。Consistencyとは、データの更新があった場合にすべてのクライアントは同じデータが見えることです。Availabilityとは、ノードに障害が発生した際に、すべてのクライアントはデータのいくつかの複製を発見することができることです。Partition-toleranceとは、分散システムのネットワークが切断されてもサービスを継続することができることです。大規模な分散システムでは、ネットワークの分断はどうしても起こり得るので、Partition-toleranceは必須です。従って、この定理の本質はPartition-toleranceを担保すると同時に、ConsistencyとAvailabilityの両方を満たすことはできないということになります。HBaseは、ConsistencyとPartition-toleranceをとったCP型のデータベースです。HBaseは強い一貫性を持っており古いデータが見えてしまうことはありませんが、ノードの障害時に一時的に数十秒程度のダウンタイムが発生します。このことについては当然ユースケースによりますが、筆者はたいていのユースケースでは大きな問題にはならないと考えています。HBaseとは違ったアプローチをとったデータベースとしては、Cassandraが挙げられます。Cassandraは、AvailabilityとPartition-toleranceをとったAP型のデータベースです。CassandraはConsistencyが調整可能になっており、Availabilityを優先することもできますし、Consistencyを優先することもできます。CAP定理HBaseはマスタ型HBaseは、マスタ型のアーキテクチャです。マスタ型のアーキテクチャでは、中央管理するサーバが存在します。HBaseでは、HMasterとHRegionServerという2種類のプロセスが存在します。HMasterがマスタとなりHRegionServerの管理やコーディネーションを行い、HRegionServerはクライアントと実際にデータのやりとりを行います。データのやりとりに関してはHMasterを経由することはないので、HMasterがボトルネックになることはありません。ちなみに、HMasterはホットスタンバイを立てることができて自動フェイルオーバーが可能です。マスタ型と対称的なアーキテクチャとしてP2P型があります。P2P型のアーキテクチャでは、マスタとなるプロセスが存在せず、すべてのノードが同じ役割です。CassandraなどがP2P型のアーキテクチャを採用しています。P2P型のアーキテクチャでは、マスタとなるプロセスが存在しないので、ノードの状態管理やコーディネーションを工夫する必要があります。Cassandraはゴシッププロトコルを用いてこれらを行なっています。2008年4月に株式会社サイバーエージェントに新卒で入社。基盤システムの開発・運用に従事する。2010年4月にHadoop/Hiveを用いたログ解析基盤の開発・運用を担当する。Laboratoryの立ち上げメンバーとなる。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。12:00法務担当者、6割超が今後業務で「生成AIを使用したい」と回答。12:00オルツ、日本語RAGでは軽量型LLMとして世界最高の精度と推論速度を達成した「LHTM-OPT2」をリリース新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。