Apache Kudu
Apache Kudu とは
Apache Kudu とは、Apache Hadoop 向けに開発された無料のオープンソースの列指向ストレージシステムです。構造化データ用エンジンで、各行への低遅延でランダムなミリ秒スケールのアクセスに加えて、優れたアクセスパターン分析もサポートします。広く普及している Hadoop 分散ファイルシステム(HDFS)と NoSQL データベースの HBase 間をつなぐために作成されたビッグデータエンジンです。
Hadoop で BI をサポートする Apache Kudu の主なメリット
高速データのリアルタイム分析を実現
Apache Kudu は HBase と Parquet の特長を兼ね備えています。データの取り込みでは HBase と同等の高速さを有し、分析クエリに関しては Parquet とほぼ同じ迅速性を備えています。複数のクエリタイプをサポートしており、以下の操作が実行可能です。
- キーを使用した特定の値の検索
- キー順にソートされたキー範囲の検索
- 必要な数の列に対して任意のクエリを実行
分散型フォールトトレランス
Apache Kudu はコンセンサスアルゴリズムRAFTを使用するため、必要に応じて水平にスケーリングできます。さらに、インプレースアップグレード機能がサポートされています。
次世代ハードウェアを活用
Apache Kudu は SSD に最適化されており、画期的なパーシステントメモリが利用可能な設計です。サーバーあたり数十コアにスケーリング可能で、データ並列計算において SIMD 演算のメリットも利用できます。
ビッグデータの BI に必要なミュータビリティを提供
Apache Kudu は、緩やかに変化するディメンション(SCD:slowly changing dimension)を備えており、この機能によって、ユーザーはディメンション参照データ内の変更を記録できます。
Spark や Impala との併用でSQLに対応
SQL 経由でデータにアクセスする場合は、Apache Kudu が Apache Impala と Spark と強固に統合することは着目すべき点です。この統合により、これらのツールを使用して SQL 構文で Kudu の各タブレットからデータを追加、照会、更新、および削除できるようになります。さらに、Impala で JDBC や ODBC を使用することで、あらゆる言語で記述された既存または新規のアプリケーション、フレームワーク、各種 BI ツールを Kudu のデータに接続できます。