メインコンテンツへジャンプ

Apache Kudu

Databricks 無料トライアル

Apache Kudu とは

Apache Kudu とは、Apache Hadoop 向けに開発された無料のオープンソースの列指向ストレージシステムです。構造化データ向けのエンジンで、ミリ秒単位の低遅延ランダムアクセスと高速な分析処理をサポートします。広く普及している Hadoop 分散ファイルシステム(HDFS)と NoSQL データベースの HBase 間をつなぐために作成されたビッグデータエンジンです。Apache Kudu のロゴ

Hadoop で BI をサポートする Apache Kudu の主なメリット

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 のデータに接続できます。

FAQ

1. Apache Kuduはどのような用途に適していますか?
リアルタイム分析や頻繁な更新を伴うBIワークロードなど、OLTPとOLAPの中間的な用途に適しています。

2. KuduはHDFSやHBaseと何が違いますか?
HDFSは追記型で分析向き、HBaseはキー値アクセス向きですが、Kuduは更新可能な列指向構造で両者の特長を併せ持ちます。

3. KuduはどのエンジンからSQL操作できますか?
Apache ImpalaやApache Sparkと統合されており、SQLでの参照・追加・更新・削除が可能です。

関連資料

用語集に戻る