相互運用性とユーザビリティ に関するベストプラクティス

この記事では、 相互運用性と使いやすさのベスト プラクティスを、次のセクションに示すアーキテクチャの原則別に整理して説明します。

1.統合 の標準を定義する

外部統合 に Databricks REST API を使用する

Databricks レイクハウスには、プラットフォームのほぼすべての側面をプログラムで管理できる包括的な REST API が付属しています。 REST API サーバーはコントロール プレーンで実行され、Databricks プラットフォームを管理するための統合エンドポイントを提供します。 これは、たとえば、CI/CD または MLOps 用の既存のツールに Databricks を統合するための推奨される方法です。 シェル ベースのデバイスに統合するために、 Databricks CLI は、コマンド ライン インターフェイスで REST APIs の多くをカプセル化します。

最適化されたコネクタを使用してレイクハウス からデータソースにアクセスする

Databricks は、Delta Lake へのデータの取り込みを支援するさまざまな方法を提供します。 したがって、レイクハウスは、多くのデータ形式とクラウド サービスに最適化されたコネクタを提供します。 「JDBC を使用したデータベースのクエリ」を参照してください。 それらの多くはすでに Databricks Runtime に含まれています。 これらのコネクタは多くの場合、特定のデータ ソース用に構築および最適化されます。

Partner Connect で利用可能なパートナーを使用する

企業にはさまざまなニーズがあり、1 つのツールですべてを満たすことはできません。 Partner Connect を使用すると、データ取り込み、準備と変換、BI と可視化、機械学習、データ品質など、レイクハウスのあらゆる側面をカバーするパートナーを探索し、簡単に統合できます。 Partner Connect を使用すると、選択した Databricks 技術パートナーで試用版アカウントを作成し、Databricks UI から Databricks ワークスペースをパートナー ソリューションに接続できます。 Databricks レイクハウスのデータを使用してパートナー ソリューションを試し、ビジネス ニーズに最も適したソリューションを採用します。

Delta Live Tables と Auto Loader を使用する

Delta Live Tables は、信頼性が高く、保守しやすく、テスト可能なデータ処理パイプラインを構築するためのフレームワークです。 データに対して実行する変換を定義すると、Delta Live Tables によってタスク オーケストレーション、クラスター管理、モニタリング、データ品質、およびエラー処理が管理されます。 「 Delta Live Tablesとは」を参照してください。

Auto Loader、 クラウドストレージに到着した新しいデータファイルを増分的かつ効率的に処理します。クラウドストレージからデータファイルを確実に読み取ることができます。 Delta Live Tables と Auto Loader の両方の本質的な側面は、宣言的な性質です:それらがなければ、イベントに基づいてクラウドファイルを確実に読み取り、バッチソースとストリーミングソースを確実に組み合わせることができるように、通知サービスやキューイングサービスなどのさまざまなクラウドサービスを統合する複雑なパイプラインを構築する必要があります。

Auto Loader と Delta Live Tables により、システムの依存関係と複雑さが軽減され、クラウドストレージとの相互運用性や、バッチやストリーミングなどのさまざまなパラダイム間の相互運用性が大幅に向上します。 副作用として、パイプラインのシンプルさにより、プラットフォームの使いやすさが向上します。

デプロイとメンテナンス のためのコードとしてのインフラストラクチャの使用

HashiCorp Terraformは、複数のクラウドプロバイダー間で安全で予測可能なクラウドインフラストラクチャを作成するための人気のあるオープンソースツールです。 「 オペレーショナル エクセレンス」>「デプロイとメンテナンスにコードとしてのインフラストラクチャを使用する」を参照してください。

2.オープンインターフェイスとオープンデータ形式 を優先する

Delta データ形式 を使用する

Delta Lake フレームワークには、信頼性機能から高性能の機能強化まで、多くの利点があり、完全にオープンなデータ形式でもあります。見る:

さらに、Delta Lake には、開発プロジェクトに Delta フォーマットを開く Delta Standalone ライブラリが付属しています。 これは、 Deltaテーブルの読み取りと書き込みができる単一ノードの Java ライブラリです。 多数のサードパーティ製ツールやアプリケーションがDelta Lake をサポートしています。 具体的には、このライブラリはトランザクション ログ内のテーブル メタデータと対話するためのAPIsを提供し、 Deltaトランザクション ログ プロトコルを実装してDelta形式のトランザクション保証を実現します。 Delta Lakeは何ですか?」を参照してください。 。

Delta Sharing を使用してパートナー とデータを交換する

Delta Sharing は、使用するコンピューティング プラットフォームに関係なく、他の組織と安全なデータ共有を行うために Databricks によって開発されたオープン プロトコルです。"データ プロバイダー" と呼ばれる Databricks ユーザーは、 Delta Sharing を使用して、"データ受信者" という名前の組織外のユーザーまたはグループとデータを共有できます。 データ受信者は、共有データの最新バージョンですぐに作業を開始できます。 Delta Sharing は、 Unity Catalog メタストア内のデータで使用できます。

MLflow を使用して機械学習ワークフロー を管理する

MLflow は、実験、再現性、デプロイ、中央モデル レジストリなど、機械学習のライフサイクルを管理するためのオープンソース プラットフォームです。 Databricks で MLflow を使用すると、オープンでポータブルなツールを使用して機械学習ワークフローを記述し、Databricks によって運用される信頼性の高いサービス (Tracking Server、Model Registry) を使用できます。 「 MLflow を使用した機械学習ライフサイクル管理」を参照してください。 また、エンタープライズ レベルのスケーラブルなモデルサービングも追加され、MLflow モデルを REST エンドポイントとしてホストできます。

3. ユースケース を実装するための障壁を下げる

プラットフォーム 全体でセルフサービスエクスペリエンスを提供

Databricks Data Intelligence Platform には、セルフサービス エクスペリエンスを提供するために必要なすべての機能が備わっています。 必須の承認ステップがある場合がありますが、ベスト プラクティスは、ビジネス ユニットがレイクハウスへのアクセスを要求するときにセットアップを完全に自動化することです。 新しい環境を自動的にプロビジョニングし、ユーザーを同期して認証に SSO を使用し、共通データへのアクセス制御や独自のデータ用の個別のオブジェクト ストレージなどを提供します。 これは、意味的に一貫したビジネス対応のデータ セットを含む中央データ カタログと併せて、新しいビジネス ユニットがレイクハウスの機能と必要なデータに迅速かつ安全にアクセスできるようにします。

プラットフォームの サーバレスサービスを利用する

Databricks プラットフォーム上のサーバレス コンピュートの場合、 コンピュート レイヤーは顧客の Databricks アカウントで実行されます。 クラウド管理者は、クォータの調整、ネットワーク資産の作成と保守、請求ソースへの参加を伴う複雑なクラウド環境を管理する必要がなくなりました。 ユーザーは、クラスターの開始までの待機時間がほぼゼロになり、クエリーの同時実行性が向上するというメリットがあります。

ユースケース ごとに事前定義されたクラスターとSQLウェアハウスを提供する

サーバレス サービスを利用できない場合は、エンド ユーザーからクラスタ (VM の種類、ノード サイズ、クラスタ サイズ) を定義する負担を取り除きます。 これは、次の方法で実現できます。

  • 共有クラスターをユーザーの即時環境として提供します。 これらのクラスターでは、オートスケールを最小限のノードまで使用して、アイドル・コストが高くならないようにします。

  • クラスターポリシー を使用して、プロジェクトの T シャツサイズのクラスター (S、M、L) を標準化された作業環境として定義します。

4. データの一貫性と使いやすさ を確保する

ビジネスが信頼できる 再利用可能な製品としてのデータを提供

高品質の製品としてのデータを作成することは、あらゆるデータプラットフォームの主要な目標です。 アイデアは、 データエンジニアリング チームが精選されたデータに製品思考を適用するというものです:データ資産は彼らの製品であり、データサイエンティスト、機械学習およびBIエンジニア、またはデータを使用する他のビジネスチームは顧客です。 これらの顧客は、専門のデータチームの介入なしに、セルフサービスエクスペリエンスを通じて、これらの製品としてのデータを発見、対処、および価値を創造できる必要があります。

企業 全体で意味的に一貫性のあるデータ製品を公開する

データレイクには通常、さまざまなソースシステムからのデータが含まれています。 これらのシステムでは、同じ概念に異なる名前が付けられたり ( 顧客アカウントなど)、同じ識別子によって異なる概念を意味する場合があります。 ビジネス ユーザーがこれらのデータ セットを意味のある方法で簡単に結合できるようにするには、意味的に一貫性を保つために、すべてのソースでデータを同種にする必要があります。 さらに、一部のデータを分析に役立てるには、収益認識などの内部ビジネス ルールを正しく適用する必要があります。 すべてのユーザーが正しく解釈されたデータを使用していることを確認するには、これらのルールを持つデータセットを使用可能にし、 Unity Catalogにパブリッシュする必要があります。 ソース データへのアクセスは、正しい使用法を理解しているチームに制限する必要があります。

データディスカバリーと系列探索 に Unity Catalog を使用する

Unity Catalog では、管理者とデータスチュワードが、Databricks アカウント内のすべてのワークスペースで、ユーザーとそのデータへのアクセスを 一元的に 管理します。 異なるワークスペースのユーザーは同じデータを共有でき、Unity Catalog で一元的に付与されたユーザー特権に応じて、共同データ アクセスが可能になります。 「カタログエクスプローラとは」を参照してください。

ユーザビリティの観点から、 Unity Catalog は次の 2 つの機能を提供します。

  • カタログ エクスプローラーは、多くのUnity Catalog機能のメイン UI です。 「カタログエクスプローラ」(Catalog Explorer) を使用して、スキーマの詳細の表示、サンプルデータのプレビュー、テーブルの詳細とプロパティの表示を行うことができます。 管理者は所有者を表示および変更でき、管理者とデータ・オブジェクト所有者は権限を付与および取り消すことができます。 Databricks Search を使用することもできます。これにより、ユーザーはデータ資産 (テーブル、列、ビュー、ダッシュボード、モデルなど) を簡単かつシームレスに検索できます。 ユーザーには、検索要求に関連し、アクセスできる結果が表示されます。 Unity Catalogを使用してデータリネージをキャプチャして表示する」を参照してください。

  • データリネージ すべてのクエリー 実行 on a Databricks クラスターまたは SQLウェアハウス. リネージはすべての言語でサポートされており、列レベルまでキャプチャされます。 リネージ データには、クエリーに関連するノートブック、ワークフロー、およびダッシュボードが含まれます。 リネージは、カタログ エクスプローラーの near リアルタイムに視覚化し、Databricks REST API を使用して取得できます。

企業がすべてのデータプラットフォームのすべてのデータの全体像をユーザーに提供できるようにするために、Unity Catalog はエンタープライズデータカタログ(「カタログのカタログ」と呼ばれることもあります)との統合を提供します。