DatabricksのDelta Live Tables(DLT)のGA

[Announcing General Availability of Databricks’ Delta Live Tables \(DLT\) \- The Databricks Blog](https://databricks.com/blog/2022/04/05/announcing-generally-availability-of-databricks-delta-live-tables-dlt.html)の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

本日、Amazon AWSとMicrosoft Azureクラウドにおいて[Delta Live Tables \(DLT\)](https://databricks.com/product/delta-live-tables)が一般公開(GA)、Google Cloudではパブリックプレビューで利用できるようになったことを発表できることを嬉しく思います！このブログ記事では、DLTがどのようにして、リーディングカンパニーのデータエンジニアやアナリストを支援し、彼らがプロダクションに使用できるストリーミングとバッチのパイプラインを構築し、大規模なインフラストラクチャを自動で管理し、新世代のデータ、アナリティクス、AIアプリケーションをデリバリーするのかを探索します。

# レイクハウスにおけるシンプルなストリーミングとバッチETLによる顧客のWin

ETLに対するストリーミング、バッチワークロードの処理は、アナリティクス、データサイエンス、MLワークロードの基本的な取り組みです。企業が生み出す膨大なデータ量によって、このトレンドは加速しています。しかし、ビジネス洞察を生み出すために使用する前には、生の構造化されていないデータを綺麗で文書化され信頼される情報に処理することは重要なステップです。我々は、SQLクエリーをプロダクションのETLパイプラインに変換する多くのお客様においては、面倒かつ複雑なオペレーションの作業に関わっていることを知りました。小規模なケースにおいても、データエンジニアの時間はデータの変換よりもツールの準備やインフラストラクチャの管理に費やされています。また、我々はお客様が観測可能性とガバナンスの実装に非常に苦労していることを知り、結果として、多くの場合これらの機能がソリューションに含まれていませんでした。これによって、多くの時間をタスクの理解に費やし、信頼できないデータを生み出すことで、信頼性を低下させコストを増加させていました。

これが、我々がDelta Live Tablesを開発した理由です。信頼できるデータパイプラインの構築にシンプルな宣言型アプローチを用い、大規模インフラストラクチャを自動で管理する初のETLフレームワークを用いることで、データアナリストやデータエンジニアはツールの準備に割く時間を削減でき、データから価値を抽出することにフォーカスできます。DLTを用いることでエンジニアとアナリストは、開発を加速し複雑なオペレーションタスクを自動化することで、実装に要する時間を劇的に削減することができます。

Delta Live Tablesは世界中のリーディングカンパニーにおいて、すでにプロダクションのユースケースを支援しています。ADP、Shell、H&R Block、Jumbo、Bread Finance、JLLを含むスタートアップからエンタープライズに至るまで、400以上の企業が、次世代のセルフサービスアナリティクスとデータアプリケーションを支援するためにDLTを使用しています。

- **ADP**:「ADPにおいて、我々はヒューマンリソース管理データをレイクハウスで統合されたデータストアに移行しています。Delta Live Tablesの品質管理、宣言型API、SQLのみによるバッチとリアルタイムのサポートによって、我々のチームがデータの管理に必要とする時間を節約してくれました。」 - Jack Berkowitz, Chief Data Officer – ADP
- **Audantic**:「我々のゴールは、我々のリーチを新規マーケット、新規の地域に拡大するためのイノベーティブな製品を開発するために機械学習を活用し続けるというものです。Databricksはこの戦略の基盤となっており、より迅速かつ効率的に進められるようにしてくれます。Delta Live Tablesを用いることで、これまで我々が到達できなかった規模や性能で色々なことができるようになりました。これまでは、週次や月次でパイプラインを実行していましたが、今では我々は日次ベースでパイプラインを実行しています。これは劇的な改善です。」 - Joel Lowery, Chief Information Officer – Audantic
- **Shell**:「Shellにおいて我々は全てのセンサーデータを統合されたデータストアに集約しています。Delta Live Tablesは、我々のチームが数兆レコード規模のデータの管理に要する時間を節約し、継続的に我々のAIエンジニアリング能力を改善し続ける助けとなっています。既存レイクハウスアーキテクチャを拡張するこの能力によって、Databricksは我々のような企業にとって重要なETLとデータウェアハウス市場を破壊しています。イノベーションパートナーとしてDatabricksとご一緒できることを嬉しく思っています。」– Dan Jeavons, General Manager Data Science – Shell
- **Bread Finance**:「Delta Live Tablesはコラボレーションを実現し、データエンジニアリングのリソースブロッカーを除去し、我々のアナリティクス、BIチームがSparkやScalaを知ることなしにセルフサービスを行えるようにしました。実際、これまでにDatabricksやSparkの経験のないあるデータアナリストは、SQLを使って数時間で、S3へのファイルのストリームを利用可能な探索用データセットに変換するDLTパイプラインを構築することができました。」– Christina Taylor, Senior Data Engineer – Bread Finance

# ETL処理に対するモダンソフトウェアエンジニアリング

DLTを用いることで、アナリスト、データエンジニアはSQLあるいはPythonを用いて、容易にプロダクションレディのストリーミング、バッチETLパイプラインを構築することができます。ライブで依存関係を理解し、内在するオペレーションの複雑性を自動化するために、完全なデータパイプラインの宣言型記述を解釈することでETL開発をシンプルにします。DLTを用いることで、エンジニアはパイプラインのオペレーションや綿箪笥ではなく、データのデリバリーに集中することができ、以下の主要なメリットを享受することができます。

- **ETL開発の加速**: エンドツーエンドのパイプラインを構築するためにコードの断片を手動で繋ぎ合わせる必要があるソリューションとは異なり、DLTではSQLあるいはPythonで全体のデータフローを宣言的に表現することができます。さらに、DLTではモダンなソフトウェアエンジニアリングのベストプラクティスをネイティブでサポートしています。これには、プロダクションから分離された環境での開発、デプロイ前のテストの容易性、パラメーター化による環境の管理、ユニットテスト、ドキュメンテーションが含まれています。結果として、開発、テスト、デプロイメント、変換表現に対するファーストクラスの構成によるETLパイプラインのオペレーションとモニタリング、CI/CD、SLA、品質期待、単一APIによるバッチとストリーミングのシームレスな操作などが含まれます。
- **インフラストラクチャの自動管理**: 当初からDLTはお使いのインフラストラクチャを自動で管理し、複雑かつ時間を浪費するアクティビティを自動化するために開発されました。変化に応じて最適な性能を発揮できるようにするためのクラスターのサイジングは、予測できないデータボリュームは問題となり、過度なプロビジョニングにつながります。ユーザーがインスタンスの最小数、最大数を設定するオプションを提供することで、DLTは性能SLAを満たすように計算資源を自動でスケールし、クラスターの利用率に応じてクラスターのサイズアップを行います。さらに、オーケストレーション、エラーハンドリング、復旧、パフォーマンス最適化のようなタスクは全て自動でハンドリングされます。DLTを用いることで、オペレーションではなくデータの変換にフォーカスすることができます。
- **データの信頼性**: 正確かつ有用なBI、データサイエンス、MLを確実にするために、ビルトインの品質管理、テスト、モニタリング、強制を用いて、信頼性のあるデータをデリバリーします。DLTは、エクスペクテーションと呼ばれる機能を用いたデータ品質管理とモニタリングツールに対するファーストクラスのサポートを含めることで、信頼できるデータソースの構築を容易にします。エクスペクテーションを用いることで、不正なデータのテーブルへの流入を防御し、データ品質の時系列変化をモニタリングすることができ、不正データのトラブルシュートを行うために、お使いのパイプラインのリネージュ図、依存関係の追跡、お使いの全てのパイプラインのデータ品質メトリクスの集計結果を取得することができ、きめ細かいパイプラインの観察可能性を手に入れることができます。
- **シンプルなバッチとストリーミング**: バッチやストリーミング処理に対する自己最適化、オートスケーリングのデータパイプラインを用いることで、アプリケーションに対する最新データを提供し、最適なコストパフォーマンスを実現することができます。ストリーミングとバッチワークロードを別々に対応することを強制する他のツールとは異なり、DLTは単一のAPIでいかなるタイプのデータワークロードをサポートしており、データエンジニアやアナリストは、高度なデータエンジニアリングスキルを必要とすることなしに、クラウド規模のデータパイプラインを迅速に構築することができます。
![](https://databricks.com/wp-content/uploads/2022/03/db-126-blog-img-1.jpg)

DLTのプレビューの立ち上げ以来、我々はいくつかのエンタープライズ向け機能、UXの改善を行ってきました。DLTのパイプラインのスケジューリング、エラーの参照、ACLの管理、テーブルリネージュの可視化の改善、データ品質監視のためのUIとメトリクスを追加しました。さらに、継続的に到着するデータを効率的かつ容易に捕捉するために、[チェンジデータキャプチャ(CDC)](https://qiita.com/taka_yayoi/items/5319b9b010ce4703e98a)のサポートをリリースし、ストリーミングワークロード向けに優れたパフォーマンスを提供する[エンハンスオートスケーリング](https://docs.databricks.com/data-engineering/delta-live-tables/delta-live-tables-concepts.html#auto-scaling)のプレビューを立ち上げました。

# レイクハウスでDelta Live Tablesを使ってみる

データエンジニア、アナリストがどのように簡単にDLTを使用できるのかに関して、以下のデモをご覧ください。
<iframe width="560" height="315" src="https://www.youtube.com/embed/BIxwoO65ylY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

すでにDatabricksをお使いなのであれば、こちらの[スタートガイド](https://qiita.com/taka_yayoi/items/0cde1f2732ff859a726f)に従ってください。GAリリースで何が含まれているのかに関してはリリースノートをご覧ください。まだ、Databricksをお使いでないのであれば、[フリートライアル](https://databricks.com/jp/try-databricks)にサインアップしてください。また、[DLTの価格](https://databricks.com/jp/product/pricing)もご確認ください。

# 次のステップ

詳細を知るためには、4/14の[Delta Live Tables Webinar with Michael Armbrust and JLL](https://databricks.com/p/webinar/tackle-data-transformation)にサインアップください。詳細は[Delta Live Tables](https://databricks.com/product/delta-live-tables)のページをご確認ください。

日本語訳のドキュメントはこちらにまとめています。

https://qiita.com/taka_yayoi/items/c6907e2b861cb1070f4d#delta-live-tables

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)