相互運用性とユーザビリティに関するベストプラクティス
この記事では、 相互運用性と使いやすさのベスト プラクティスを、次のセクションに示すアーキテクチャの原則別に整理して説明します。
1.統合の標準を定義する
外部統合に標準で再利用可能な統合パターンを使用する
統合標準は、異なるシステムやアプリケーション間でデータをどのように表現、交換、処理するかについてのガイドラインを提供するため、重要です。 これらの標準は、さまざまなソースと送信先間でデータの互換性、高品質、相互運用性を保証するのに役立ちます。
Databricks lakehouse には、プラットフォームのほぼすべての側面をプログラムで管理できる包括的なREST APIが付属しています。 REST API サーバーはコントロール プレーンで実行され、Databricks プラットフォームを管理するための統合エンドポイントを提供します。
REST API は、常に使用できる最も低いレベルの統合を提供します。 ただし、Databricks と統合するための推奨される方法は、Databricks SDKやCLI ツールなどの高レベルの抽象化を使用することです。 CLI ツールはシェルベースであり、Databricks プラットフォームを CI/CD および MLOps ワークフローに簡単に統合できます。
最適化されたコネクタを使用してデータソースをレイクハウスに取り込む
Databricks は、Delta Lake にデータを取り込むためのさまざまな方法を提供します。
、ほぼリアルタイムのデータ取り込みのために、Databricks などの ストリーム メッセージング サービス向けに最適化されたコネクタ を提供します。ApacheKafka
Databricks は、多くのクラウドネイティブ データ システムへの組み込み統合と、他のデータ システムに接続するための拡張可能な JDBC サポートを提供します。
ETL使用せずにデータソースを統合する 1 つのオプションは、レイクハウスフェデレーションです。 レイクハウスフェデレーションは、 Databricksのクエリ フェデレーション プラットフォームです。 クエリ フェデレーションという用語は、すべてのデータを統合システムに移行することなく、ユーザーとシステムが複数のデータ ソースに対してクエリを実行できるようにする機能の集合を表します。 Databricks は、Unity Catalog を使用してクエリ フェデレーションを管理します。 Unity Catalogのデータガバナンスおよびデータリネージ ツールにより、 Databricksワークスペース内のユーザーによるすべてのフェデレーション クエリの実行に対するデータ アクセスが管理および監査されます。
注:
Databricksプラットフォーム内で Lakehousefedelation ソース を使用するすべてのクエリは、その ソース に送信されます。 ソースシステムが負荷を処理できることを確認します。 また、ソース システムが異なるクラウド リージョンまたはクラウドにデプロイされている場合は、クエリごとに送信コストが発生することに注意してください。
運用データベースへの高負荷や並列負荷を回避し、出力コストを削減するために、マテリアライズド ビューを介して基盤となるデータベースへのアクセスをオフロードすることを検討してください。
認定パートナーツールを使用する
組織にはさまざまなニーズがあり、1 つのツールですべてを満たすことはできません。 Partner Connect 、データ取り込み、準備と変換、 BIと視覚化、機械学習、データ品質など、レイクハウスのあらゆる側面をカバーするパートナーを検索して簡単に統合できます。 Partner Connect選択したDatabricksテクノロジー パートナーで試用アカウントを作成し、 Databricks UI からDatabricksワークスペースをパートナー ソリューションに接続できます。 Databricks レイクハウス内のデータを使用してパートナー ソリューションを試し、ビジネス ニーズに最適なソリューションを採用します。
データエンジニアリングパイプラインの複雑さを軽減
データエンジニアリング パイプラインの複雑さを軽減するための投資により、スケーラビリティ、俊敏性、柔軟性が向上し、より迅速に拡張および革新できるようになります。 簡素化されたパイプラインにより、タスクオーケストレーション、クラスター管理、モニタリング、データ品質、エラー処理など、データエンジニアリング パイプラインの運用上のニーズをすべて簡単に管理および適応できるようになります。
Delta Live Tables は、信頼性が高く、保守性とテスト性に優れたデータ処理パイプラインを構築するためのフレームワークです。 データに対して実行する変換を定義すると、 Delta Live Tablesタスク オーケストレーション、クラスター管理、モニタリング、データ品質、エラー処理を処理します。 「Delta Live Tables とは何ですか?」を参照してください。
Auto Loader は 、新しいデータ ファイルがクラウド ストレージに到着すると、段階的かつ効率的に処理します。 クラウドストレージからデータファイルを確実に読み取ることができます。 Delta Live Tables と Auto Loader の両方で重要な側面は、その宣言型の性質です。これらを使用しない場合、通知サービスやキューイング サービスなど、さまざまなクラウド サービスを統合する複雑なパイプラインを構築して、イベントに基づいてクラウド ファイルを確実に読み取り、バッチ ソースとストリーミング ソースを確実に組み合わせる必要があります。
Auto Loader と Delta Live Tables により、システムの依存性と複雑さが軽減され、クラウド ストレージとの相互運用性や、バッチやストリーミングなどの異なるパラダイム間の相互運用性が大幅に向上します。 副次的な効果として、パイプラインのシンプルさによりプラットフォームの使いやすさが向上します。
デプロイメントとメンテナンスにインフラストラクチャをコードとして利用 (IaC)
HashiCorp Terraform 、複数のクラウド プロバイダーにわたって安全で予測可能なクラウド インフラストラクチャを作成するための人気の OSS ツールです。 「 オペレーショナル エクセレンス: デプロイとメンテナンスのためのコードとしてのインフラストラクチャの使用」を参照してください。
2. オープンインターフェースとオープンデータフォーマットの活用
オープンデータ形式を使用する
オープンデータ形式を使用するということは、その使用に制限がないことを意味します。 これは、分析やビジネス推進のためにデータにアクセスして使用する際の壁を取り除くため重要です。 Apache Spark上に構築されたものなどのオープン形式では、 ACIDトランザクション、統合ストリーミング、バッチデータ処理のサポートによりパフォーマンスを向上させる機能も追加されます。 さらに、オープンソースはコミュニティ主導型であるため、コミュニティは既存の機能の改善と新しい機能の追加に絶えず取り組んでおり、ユーザーがプロジェクトを最大限に活用しやすくなっています。
データ インテリジェンス プラットフォームで使用される主なデータ形式はDelta Lakeです。これは、信頼性機能からパフォーマンス強化まで、多くの利点を提供する完全にオープンなデータ形式です。 ACIDをサポートするデータ形式を使用する」および「パフォーマンス効率のベスト プラクティス」を参照してください。
Delta Lake はオープンな性質を持っているため、大規模なエコシステムを備えています。 数十のサードパーティ製ツールとアプリケーションがDelta Lake をサポートしています。
相互運用性をさらに強化するために、Delta Universal Format (UniForm)を使用すると、Iceberg リーダー クライアントで Delta テーブルを読み取ることができます。 UniForm は、データを書き換えずに、Iceberg メタデータを非同期的に自動的に生成します。これにより、Iceberg クライアントは Delta テーブルを Iceberg テーブルのように読み取ることができます。 データ ファイルの 1 つのコピーで、両方の形式に対応できます。
すべてのデータ資産に対して安全なデータとAIの共有を可能にする
データと AI 資産を共有することで、コラボレーションと意思決定が向上します。 ただし、データを共有する場合は、制御を維持し、データを保護し、関連するデータ共有法や規制を遵守することが重要です。
Delta Sharing は、使用するコンピューティング プラットフォームに関係なく、他の組織とデータを安全に共有するために Databricks によって開発されたオープン プロトコルです。 Databricks ワークスペースの外部のユーザーとデータを共有する場合は、そのユーザーが Databricks を使用しているかどうかに関係なく、オープン Delta Sharing を使用してデータを安全に共有できます。 が有効になっているDatabricks ワークスペースを持つユーザーとデータを共有する場合は、Unity Catalog Databricks-to-DatabricksDelta Sharing使用できます。
どちらの場合も、 テーブル、 ビュー、 ボリューム、 モデル、 ノートブックを共有できます。
パートナーとデータを共有するには、オープン Delta Sharing プロトコルを使用します。
Delta Sharing は、レイクハウスからあらゆるコンピューティング プラットフォームにライブ データを安全に共有するためのオープン ソリューションを提供します。 受信者は、Databricks プラットフォーム上、同じクラウド上、または任意のクラウド上に存在する必要はありません。 Delta Sharing は Unity Catalog とネイティブに統合されており、組織は企業全体で共有データと AI アセットを一元的に管理および監査し、セキュリティとコンプライアンスの要件を満たすデータと AI アセットを自信を持って共有できます。
データ プロバイダーは、データ プラットフォームに保存されているライブ データと AI モデルを、別のシステムに複製または移動することなく共有できます。 このアプローチにより、データ プロバイダーはクラウド、地域、データ プラットフォーム間でデータを各データ コンシューマーに複数回複製する必要がなくなるため、データと AI の共有の運用コストが削減されます。
Databricks-to-DatabricksDelta SharingDatabricksユーザー間で 使用します。
メタストアにアクセスできないユーザーとデータを共有する場合は、受信者が Unity CatalogUnity Catalog Databricks-to-DatabricksDelta Sharingに対して有効になっているDatabricks にアクセスできる場合に限りUnity Catalog 使用できます。Databricks-to-Databricks共有により、他のDatabricksアカウントのユーザー、クラウド リージョン間、およびクラウド プロバイダー間でデータを共有できます。 これは、独自の Databricks アカウント内のさまざまな Unity Catalog メタストア間でデータを安全に共有するための優れた方法です。
MLライフサイクル管理にオープンスタンダードを使用する
オープンソースのデータ形式を使用する場合と同様に、AI ワークフローにオープン スタンダードを使用すると、柔軟性、俊敏性、コスト、セキュリティの点で同様のメリットが得られます。
MLflow は、ML および AI ライフサイクルを管理するためのオープンソース プラットフォームです。 DatabricksMLflowDatabricksは、エンタープライズ セキュリティ機能、高可用性、およびエクスペリメントと実行の管理やデータベースのリビジョン追跡などのその他の ワークスペース機能が統合された、フルマネージドの のホスト バージョンを提供します。
主なコンポーネントは、 MLとディープラーニング モデルを自動的に記録して 追跡する実験追跡 、機械学習モデルをパッケージ化するための標準形式としての モデル Unity Catalog、 と統合された モデルフィールド 、およびスケーラブルなエンタープライズ グレードの モデル サービングです 。
3. 新しいユースケースの実装を簡素化する
プラットフォーム全体でセルフサービスエクスペリエンスを提供
ユーザーがニーズに応じてツールや機能を自律的に使用できるプラットフォームには、いくつかの利点があります。 セルフサービス プラットフォームの作成に投資することで、より多くのユーザーにサービスを提供するために拡張することが容易になり、ユーザーのプロビジョニング、問題の解決、アクセス要求の処理に人的介入する必要性を最小限に抑えることで、効率が向上します。
Databricks データ インテリジェンス プラットフォームには、セルフサービス エクスペリエンスを提供するために必要なすべての機能が備わっています。 必須の承認ステップが存在する場合もありますが、ビジネス ユニットが Lakehouse へのアクセスを要求したときにセットアップを完全に自動化することがベスト プラクティスです。 新しい環境を自動的にプロビジョニングし、ユーザーを同期して認証に SSO を使用し、共有データへのアクセス制御と独自のデータ用の個別のオブジェクト ストアなどを提供します。 意味的に一貫性があり、ビジネスにすぐに使用できるデータ セットの中央データカタログと組み合わせることで、新しいビジネス ユニットは、Lakehouse の機能と必要なデータに迅速かつ安全にアクセスできます。
サーバレス コンピュートを使用する
プラットフォーム上の サーバレス コンピュート Databricksの場合、コンピュート レイヤーは顧客のDatabricks アカウントで実行されます。クラウド管理者は、クォータの調整、ネットワーク リソースの作成と維持、課金ソースへの接続を必要とする複雑なクラウド環境を管理する必要がなくなります。 ユーザーは、クラスターの起動待ち時間がほぼゼロになり、クエリの同時実行性が向上するというメリットを享受できます。
定義済みのコンピュートテンプレートを使用する
定義済みのテンプレートを使用すると、ユーザーによるコンピュート リソースの使用方法や作成方法を制御することができます。ユーザーによるクラスターの作成を規定の設定または特定の数に制限したり、ユーザー インターフェイスを簡素化したり、クラスターあたりの最大コストを制限してコストを管理したりできます。
データインテリジェンスプラットフォームは、次の2つの方法でこれを実現します。
ユーザーに即時の環境として共有クラスターを提供します。 これらのクラスターでは、アイドル時のコストが高くならないように、オートスケールを使用してノード数を最小限に減らします。
標準化された環境では、 コンピュートポリシーを使用してクラスターのサイズや機能を制限したり、T シャツサイズのクラスター (S、M、L) を定義したりします。
AI機能を活用して生産性を向上
AIツールは生産性の向上に加え、エラーのパターンを識別し、入力に基づいて追加の知見を提供するのにも役立ちます。 全体として、これらのツールを開発プロセスに組み込むことで、エラーを大幅に減らし、意思決定を容易にすることができ、リリースまでの時間を短縮できます。
AI を活用したナレッジ エンジンである Databricks IQ は、データ インテリジェンス プラットフォームの中核をなしています。 Unity Catalog メタデータを活用して、組織全体のテーブル、列、説明、一般的なデータ資産を理解し、パーソナライズされた回答を提供します。 これにより、プラットフォームを使用する際の生産性を向上させる次のようないくつかの機能が有効になります。
Databricks Assistant を使用すると、会話型インターフェースを通じてデータをクエリできるため、Databricks での生産性が向上します。 タスクを英語で説明すると、ウィザードが SQL クエリを生成し、複雑なコードを説明し、エラーを自動的に修正します。
Unity Catalog によって管理される任意のテーブルまたはテーブル列に対してAI によって生成されたコメントにより、メタデータ管理プロセスが高速化されます。 ただし、AI モデルは常に正確であるとは限らないため、保存する前にコメントを確認する必要があります。 Databricks では、不正確な点がないか確認するために、AI によって生成されたコメントを人間が確認することを強く推奨しています。
4. データの一貫性と使いやすさを確保する
ビジネスが信頼できる再利用可能な製品としてのデータを提供
AI やデータドリブンを目指す組織では、多くの場合、社内のチームに高品質で信頼できるデータを提供する必要があります。 品質と使いやすさを優先する 1 つの方法は、明確に定義された「データ 製品」を作成して、公開されたデータ資産に製品の考え方を適用することです。 このようなデータ製品を構築することで、組織はデータと AI の目標に対する標準と信頼できるビジネス トゥルースの基盤を確立できるようになります。 データ製品は、ユーザーとアプリケーションが適切なデータを適切なタイミングで適切な品質で適切な形式で入手したときに、最終的に価値を実現します。 この価値は従来、コストの削減、プロセスの高速化、リスクの軽減による運用の効率化という形で実現されてきましたが、最新のデータ製品は、組織の業界またはパートナー エコシステム内で新たな付加価値の提供やデータ共有の機会を生み出すこともできます。
ブログ記事「Databricks を使用した高品質で信頼できるデータ製品の構築」を参照してください。
企業全体で意味的に一貫性のあるデータ製品を公開する
データレイクには通常、複数のソース システムからのデータが含まれます。 これらのシステムでは、同じ概念に対して異なる名前 (例:顧客とアカウント) が付けられたり、異なる概念を参照するために同じ識別子が使用されたりすることがあります。 ビジネス ユーザーがこれらのデータ セットを意味のある方法で簡単に組み合わせることができるように、データはすべてのソース間で均質化され、意味的に一貫性が保たれる必要があります。 さらに、一部のデータを分析に役立てるには、収益認識などの内部ビジネスルールを正しく適用する必要があります。 すべてのユーザーが正しく解釈されたデータを使用していることを確認するには、これらのルールを含むデータセットを公開し、Unity Catalog に公開する必要があります。 ソース データへのアクセスは、正しい使用方法を理解しているチームに制限する必要があります。
発見とリネージのための中央カタログを提供する
検出とリネージのための中央カタログにより、データ コンシューマーは企業全体の複数のソースからデータにアクセスできるため、中央ガバナンス チームの運用オーバーヘッドが削減されます。
Unity Catalogでは、管理者とデータ スチュワードが、 Databricksアカウント内の すべてのワークスペースにわたってユーザーとデータへのアクセスを一元的に 管理します。異なるワークスペースのユーザーは同じデータを共有でき、Unity Catalog で集中的に付与されたユーザー権限に応じて、一緒にデータにアクセスできます。
データディスカバリーの場合、 Unity Catalog次のような機能でユーザーをサポートします。
カタログ エクスプローラーは、多くのUnity Catalog機能の主要なユーザー インターフェイスです。 「カタログエクスプローラ」(Catalog Explorer) を使用して、スキーマの詳細の表示、サンプルデータのプレビュー、およびテーブルの詳細とプロパティの表示を行うことができます。 管理者は所有者を表示および変更でき、管理者とデータ・オブジェクト所有者は権限の付与および取り消しを行うことができます。 また、Databricks Search を使用すると、ユーザーはデータ資産 (テーブル、列、ビュー、ダッシュボード、モデルなど) を簡単かつシームレスに見つけることができます。 ユーザーには、検索要求に関連し、アクセスできる結果が表示されます。
すべてのクエリにわたるデータ リネージャは、 DatabricksクラスターまたはSQLウェアハウスで実行されます。 リネージはすべての言語でサポートされており、列レベルまでキャプチャされます。 リネージ データには、クエリに関連するノートブック、ジョブ、ダッシュボードが含まれます。 リネージは、短期間でカタログ エクスプローラーで視覚化し、 Databricks REST APIで取得できます。
企業がすべてのデータプラットフォームのすべてのデータの全体像をユーザーに提供できるようにするために、Unity Catalog はエンタープライズデータカタログ(「カタログのカタログ」と呼ばれることもあります)との統合を提供します。