Azure Databricks とは

Azure Databricks Lakehouse Platform には、エンタープライズ レベルのデータ ソリューションを大規模に構築、デプロイ、共有、および保守するための統合されたツール セットが用意されています。 Azure Databricks は、クラウド アカウント内のクラウド ストレージおよびセキュリティと統合され、ユーザーのためにクラウド インフラストラクチャを管理およびデプロイします。

オープンソース ツールとの管理された統合

Databricks は、オープンソース コミュニティに対して積極的なコミットメントを行っています。 Databricks は、Databricks Runtime リリース内のオープンソース統合の更新を管理しています。 次のテクノロジは、Databricks の従業員によって設立されたオープンソース プロジェクトです。

Azure Databricks では、最適化されたパフォーマンスと使いやすさを改善するために、これらのテクノロジを統合および拡張する独自のツールを多数管理しています。たとえば次のようなものがあります。

Azure Databricks と Azure の連携方法

Azure Databricks プラットフォーム アーキテクチャは、次の 2 つの主要な部分で構成されます。それは、プラットフォームとサービスをデプロイ、構成、管理するために Azure Databricks が使用するインフラストラクチャと、Azure Databricks とお客様の会社が共同で管理するお客様所有のインフラストラクチャです。

多くのエンタープライズ データベース企業とは異なり、Azure Databricks では、このプラットフォームを使用するためにデータを独自のストレージ システムに移行することをお客様に強制しません。 代わりに、お客様が、Azure Databricks プラットフォームとユーザーのクラウド アカウントの間でセキュリティで保護された統合を構成して Azure Databricks ワークスペースを構成し、Azure Databricks が、お客様のアカウント内のクラウド リソースを使用してエフェメラル コンピューティング クラスターをデプロイし、データを処理して、お客様が制御しているオブジェクト ストレージや他の統合サービスに格納します。

Unity Catalog では、この関係がさらに拡張され、Azure Databricks 内から使い慣れた SQL 構文を使用してデータにアクセスするためのアクセス許可を管理できます。

Azure Databricks では、最もセキュリティを重視する世界最大の企業のセキュリティとネットワークの要件を満たすワークスペースをデプロイしました。 Azure Databricks を使用すると、新しいユーザーがプラットフォームで簡単に作業を開始できるようになり、クラウド インフラストラクチャを操作する際の多くの負担や懸念をエンド ユーザーから取り除くことができます。しかも、経験豊富なデータ、運用、セキュリティ チームが必要とするカスタマイズや制御が制限されることありません。

Azure Databricks の用途

お客様は Azure Databricks を使用して、BI から機械学習までのソリューションを使用して、データセットの処理、保存、クリーニング、共有、分析、モデル化、収益化を行います。 Azure Databricks プラットフォームを使用して、複数のデータ ペルソナに渡るさまざまなアプリケーションを構築できます。 レイクハウスを完全に採用しているお客様は、統合プラットフォームを利用して、組織全体のイノベーションと分析情報を強化するデータ エンジニアリング ワークフロー、機械学習モデル、分析ダッシュボードを構築してデプロイします。

Azure Databricks ワークスペースには、次のツールを含む、多くのコア データ タスク用のユーザー インターフェイスが用意されています。

  • 対話型ノートブック
  • ワークフロー スケジューラとマネージャー
  • SQL エディターとダッシュボード
  • データ インジェストとガバナンス
  • データの検出、注釈、探索
  • コンピューティング管理
  • 機械学習 (ML) の実験追跡
  • ML モデルの提供
  • 機能ストア
  • Git を使用したソース コントロール

ワークスペース UI に加えて、次のツールを使用して Azure Databricks をプログラムで操作できます。

  • REST API
  • CLI
  • Terraform

Azure Databricks の一般的なユース ケース

Azure Databricks のユース ケースは、プラットフォームで処理されるデータや、業務の中核となる部分としてデータを扱う従業員の多くのペルソナなどさまざまです。 次のユース ケースでは、組織全体のユーザーが Azure Databricks を利用して、重要なビジネス機能と意思決定を推進するデータの処理、格納、分析に不可欠なタスクを完了する方法について説明します。

エンタープライズ データ レイクハウスを構築する

データ レイクハウスは、データ ウェアハウスとデータ レイクの強みを組み合わせて、エンタープライズ データ ソリューションを迅速化、簡素化、統合します。 データ エンジニア、データ サイエンティスト、アナリスト、実稼働システムはすべて、データ レイクハウスを単一の信頼できるソースとして活用できるため、一貫性のあるデータにタイムリーにアクセスすることができ、多くの分散データ システムの構築、保守、同期の複雑さを軽減できます。 Databricks レイクハウスに関するページを参照してください。

ETL とデータ エンジニアリング

ダッシュボードを生成する場合でも、人工知能アプリケーションを活用する場合でも、データ エンジニアリングは、効率的な検出と使用を可能にするデータ モデルでデータが使用可能でクリーンな状態で格納されていることを確認することで、データ中心の企業のバックボーンを提供します。 Azure Databricks は、Apache Spark の機能、Delta Lake、カスタム ツールを組み合わせて、他に類を見ない ETL (抽出、変換、読み込み) エクスペリエンスを提供します。 SQL、Python、Scala を使用して ETL ロジックを作成し、数回のクリックだけでスケジュールされたジョブのデプロイを調整できます。

Delta Live Tables は、データセット間の依存関係をインテリジェントに管理し、運用インフラストラクチャを自動的にデプロイおよびスケーリングすることで ETL をさらに簡素化し、仕様に従ってタイムリーかつ正確にデータを提供できるようにします。

Azure Databricks には、データ インジェスト用のカスタム ツールが多数用意されています。たとえば、自動ローダーは、クラウド オブジェクト ストレージとデータ レイクからデータ レイクハウスにデータを増分的かつべき等に読み込むための効率的でスケーラブルなツールです。

機械学習、AI、データ サイエンス

Azure Databricks 機械学習は、MLflowDatabricks Runtime for Machine Learning など、データ サイエンティストや ML エンジニアのニーズに合わせてカスタマイズした一連のツールを使用して、プラットフォームのコア機能を拡張します。 「Databricks Machine Learning ガイド」を参照してください。

データ ウェアハウス、分析、BI

Azure Databricks は、ユーザーフレンドリーな UI、コスト効率の高いコンピューティング リソース、および無限に拡張可能な低価格のストレージを組み合わせて、分析クエリを実行するための強力なプラットフォームを提供します。 管理者はスケーラブルなコンピューティング クラスターを SQL ウェアハウスとして構成します。これにより、エンド ユーザーはクラウドでの作業の複雑さを気にすることなくクエリを実行できます。 SQL ユーザーは、SQL クエリ エディターまたはノートブックを使用して、レイクハウス内のデータに対してクエリを実行できます。 ノートブックでは、SQL に加えて Python、R、Scala がサポートされているので、ユーザーは、マークダウンで記述されたリンク、画像、コメントと共に、ダッシュボードで使用できるのと同じ視覚化機能を埋め込むことができます。

データ ガバナンスとセキュリティで保護されたデータ共有

Unity Catalog は、データ レイクハウス用の統合データ ガバナンス モデルを提供します。 クラウド管理者は、Unity Catalog の大まかなアクセス制御アクセス許可を構成して統合し、Azure Databricks 管理者はチームと個人のアクセス許可を管理できます。 権限は、ユーザーフレンドリな UI または SQL 構文を使用してアクセス制御リスト (ACL) で管理されるため、データベース管理者は、データへのアクセスを簡単にセキュリティで保護することができ、クラウドネイティブの ID アクセス管理 (IAM) とネットワーク上で拡張する必要はありません。

Unity Catalog は、クラウドでの安全な分析の実行をシンプルにし、プラットフォームの管理者とエンド ユーザーの両方に必要なスキルの再構築やスキルアップを制限するのに役立つ責任の分割を提供します。 「Unity Catalog とは」を参照してください。

レイクハウスを使用すると、テーブルまたはビューへのクエリ アクセスを許可するのと同じくらい簡単に組織内でデータを共有できます。 セキュリティで保護された環境の外部で共有するために、Unity Catalog にはマネージド バージョンの Delta Sharing が用意されています。

DevOps、CI/CD、タスク オーケストレーション

ETL パイプライン、ML モデル、分析ダッシュボードの開発ライフサイクルには、それぞれ固有の課題があります。 Azure Databricks を使用すると、すべてのユーザーが 1 つのデータ ソースを利用できるため、重複する作業と同期されていないレポートが削減されます。 さらに、バージョン管理、自動化、スケジュール設定、コードと運用リソースのデプロイのための一連の共通ツールを提供することで、監視、オーケストレーション、および操作のオーバーヘッドをシンプルにすることできます。 ワークフローは、Azure Databricks ノートブック、SQL クエリ、およびその他の任意のコードをスケジュールします。 リポジトリを使用すると、Azure Databricks プロジェクトを多数の人気のある Git プロバイダーと同期できます。 ツールの完全な概要については、開発者ツールおよびガイダンスを参照してください。

リアルタイムのストリーミング分析

Azure Databricks では、Apache Spark Structured Streaming を利用して、ストリーミング データと増分のデータ変更を処理します。 構造化ストリーミングは Delta Lake と緊密に統合されており、これらのテクノロジは Delta Live Tables と自動ローダーの両方の基盤を提供します。 「Apache Spark 構造化ストリーミングとは」を参照してください。