BigQuery BI Engine とは

BigQuery BI Engine は、高速なメモリ内分析サービスです。BI Engine を使用すると、クエリ応答時間は 1 秒未満で、コンピューティング費用を削減しながら、BigQuery に保存されたデータを分析できます。

BigQuery BI Engine では、次の 2 つの方法でダッシュボードを改善します。

  • BI Engine SQL インターフェースは、使用されている API に関係なく BigQuery クエリを高速化する分散型インメモリ エンジンです。BigQuery SQL、API、クライアント ライブラリ、JDBC ドライバなどの BigQuery インターフェースで動作するツールは、BI Engine SQL インターフェースでも動作します。BI Engine SQL インターフェースは、分散実行と部分的アクセラレーションを使用して大規模なデータサイズにスケーリングすることで、統計とモニタリングに関する追加の機能を実現します。

  • Google データポータルの高速化により、BI Engine はインタラクティブなパフォーマンスを実現します。

BI Engine を使用すると、パフォーマンス、スケーリング、セキュリティ、データの鮮度を損なうことなく、高機能かつインタラクティブなダッシュボードとレポートを作成できます。

BI Engine の利点

BI Engine には次の利点があります。

  • 高速: インサイトの成果をビジネスのスピードに合わせる
    今日では、運用上の規範的なビジネス インテリジェンスを使用して、データドリブンな方法でビジネスを導くのに十分な速さでレポートを実行することは困難です。また、動作が遅いダッシュボードと古いデータもチームにとっての悩みの種です。BI Engine は、読み込み時間を最小限に抑え、BigQuery に保存されているデータのインテリジェント キャッシュ保存を向上させて、1 秒未満のクエリ応答時間を実現します。BI Engine を BigQuery ストリーミングと統合することにより、書き込み速度やデータの更新頻度を損なうことなく、ストリーミング データに対してリアルタイムのデータ分析を実行できます。
  • 簡素化されたアーキテクチャ: 複雑なデータ パイプラインやサーバーを管理せずにすぐに開始
    従来の BI システムでは、高速なインタラクティブ分析をサポートするために、データ ウェアハウジング プラットフォームからデータマートまたは BI プラットフォームにデータを移動する必要があります。これには通常、データの移動に複雑な ETL パイプラインが必要となります。これらの ETL ジョブに必要な時間によって、レポート作成が遅れ、重要な意思決定支援システムのデータの鮮度が損なわれる可能性があります。BI Engine は、BigQuery 内でインプレース分析を実行します。これにより、データを移動する必要や、複雑なデータ変換パイプラインを作成する必要がなくなります。
  • 使いやすさ: BigQuery でのシームレスなエクスペリエンス
    BI Engine は BigQuery と同じインターフェースを使用します。そのため、使用している BI ツールに関係なく、BigQuery を操作する方法を変更せずに、BI Engine SQL インターフェースのメリットを活用できます。つまり、クエリが BI Engine による高速化の対象でない場合、失敗せず通常のクエリとして実行されます。
  • スマートな調整: ごくわずかな構成
    BI Engine の自己調整設計は、BI Engine のメモリ内ストレージ、BigQuery クエリ キャッシュ、BigQuery ストレージ間でデータを移動することで、クエリを自動的にチューニングし、ダッシュボードのパフォーマンスと読み込み時間を最適化します。BigQuery 管理者は、Cloud コンソールを使用して BI Engine のメモリ容量を簡単に追加や削除をすることが可能です。

BI Engine のベスト プラクティス

BI Engine を実装する際は、次のベスト プラクティスを検討してください。

  • 分離 - 特定のクエリセットが常に高速化されるようにするには、BI 予約を使用して別の課金プロジェクトを作成し、プロジェクトに対して十分な大きさの予約容量を確保します。
  • クエリの複雑さ - パフォーマンスは、フィルタリングや計算が中心の事前集計データに最適です。BI Engine は、少数の結合(内部、左外部)でも十分に機能します。特に、結合の片側が大きい場合に当てはまり、他には、小さいディメンション テーブルと結合された大きなファクト テーブルをクエリする場合など、はるかに小さい場合に当てはまります。
  • クエリの最適化 - パーティショニングとクラスタリングを使用して、大規模なテーブルのパフォーマンスを最適化します。たとえば、ダッシュボードに前の四半期のデータのみが表示されている場合は、最新のパーティションのみがメモリに読み込まれるように、時間別にパーティショニングすることを検討してください。
  • マテリアライズド ビュー - BigQuery のマテリアライズド ビューで前処理が実行されるため、クエリの時間を短縮できます。マテリアライズド ビューを作成し、集計、フィルタ、内部結合、ネスト解除を使用してパフォーマンスを向上させ、処理済みのデータを削減する必要があります。
  • パフォーマンスの比較 - BI Engine のログと診断を確認すると、BI Engine でクエリが完全に高速化されたのか、部分的に高速化されたのかを確認できます。BI Engine を使用するプロジェクトと BI Engine を使用しないプロジェクトに対して同じクエリを実行します。より安定した結果を得るために、クエリを複数回実行します。

割り当てと上限

BI Engine に適用される割り当てと上限については、BigQuery の割り当てと上限をご覧ください。

BigQuery API やその他の BI ツールなどの BI Engine クエリ アクセラレーションの上限のリストは、BigQuery BI Engine SQL インターフェースの概要をご覧ください。

カスタムクエリとビューで最適化される関数と演算子の完全なリストについては、最適化される SQL 関数と演算子をご覧ください。

サポートされるリージョン

BI Engine は、BigQuery と同じリージョンでサポートされます。サポートされているリージョンとマルチ リージョンの一覧については、ロケーションのページをご覧ください。

料金

BI Engine の料金については、BI Engine の料金のページをご覧ください。

次のステップ