Evolve logo オンデマンド配信 Evolve 2023 Tokyo|AI、データと分析の先進事例を紹介
  • Cloudera Cloudera
  • Apache Phoenix

    Apache Phoenix は、Apache HBase をストレージとして使用する HadoopでOLTP をサポート可能な、オープンソースでマッシブパラレルなリレーショナルデータベースエンジンです。Phoenix によって開発者は、使い慣れた SQL インターフェースを使って、大規模なデータセットにリアルタイムにアクセスすることができます。

    • 標準 SQL と完全な ACID トランザクション機能を持つ JDBC API
    • 既存の HBase データに対する late-bound および schema-on-read のサポート
    • Spark、Hive、Pig、Flume、MapReduce など、別の Hadoop 製品で生成および保存されているデータに対するアクセス

    Phoenix の機能

    Apache HBase によって、Hadoop内にあるデータに対して、ランダムにリアルタイムにアクセスすることができます。これは、Hadoop エコシステムで頻繁に採用されています。Apache Phoenixは、JDBC ドライバ経由で標準SQLを使ったデータのクエリを可能にすることで、根底にあるデータストアを抽象化します。Apache Phoenix が提供するセカンダリインデックスなどによって、特定のローキーの設計に依存せずに、クエリの高速化を図ることができます。

    また Apache Phoenix のデータが保存されている複数のノード上で集約クエリを実行する大規模な並列性によって、ネットワーク経由でのデータ転送を大幅に減らすことができます。

    Feature Description
    Familiar Query data with a SQL-based language
    Fast Real-time queries
    Reliable Built on top of proven data store HBase
    Platform agnostic Hortonworks’ Phoenix provides ODBC connector drivers, allowing you to connect to your dataset using familiar BI tools.

    Phoenix の動作の仕組み

    Phoenix によって、大規模なデータへの高速なアクセスが可能になります。1億行のテーブルのフルスキャンには、通常 20秒ほどかかります (中規模なクラスタ上のナローテーブルの場合)。キーカラムにフィルターがある場合には、クエリは数ミリ秒になります。非キーカラムまたは非リーディングキーカラムのフィルターに対してセカンダリインデックスを付加し、キーのインデックスカラム付きでテーブルをコピーすることで、キーカラムのフィルタリングと同等のパフォーマンスを得ることができます。

    フルスキャンを実施した場合でも、Phoenix が高速な理由:

    1. Phoenix は、リージョンのバウンダリを使ってクエリを分割し、それを設定可能な数のスレッドを使って、クライアント上で並行稼動させます
    2. 結果については、すべてクライアント側に返すのではなく、サーバーのコプロセッサーでデータの集約を行ってから、クライアント側に返します。

    Your form submission has failed.

    This may have been caused by one of the following:

    • Your request timed out
    • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.