Delta Live Tablesのローンチ : 信頼性のあるデータエンジニアリングを簡単に実現

[Announcing the Launch of Delta Live Tables: Reliable Data Engineering Made Easy \- The Databricks Blog](https://databricks.com/blog/2021/05/27/announcing-the-launch-of-delta-live-tables-reliable-data-engineering-made-easy.html)の翻訳です。

> [Data \+ AIサミット2021で発表されたDatabricksの新機能](https://qiita.com/taka_yayoi/items/d4111246048089588cc7)のコンテンツです。

[Delta Live Tablesパブリックプレビューへのリクエスト \- Databricks \- Databricks](https://databricks.com/p/product-delta-live-tables)


<iframe width="615" height="347" src="https://www.youtube.com/embed/7Q2V08snhiE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

企業におけるデータ量、データソース、データタイプが増加するに従い、信頼性のあるデータパイプラインの構築、維持はデータ分析、データサイエンス、機械学習における重要なイネーブラとなってきています。データパイプラインに対する戦略的な取り組みを行う前においては、整理されていない生のデータを、整理された、鮮度のある、信頼性のあるデータに変換するステップは非常に重要なステップとなり、このような取り組みの優先度を高めることは、データエンジニアチームに対するプレッシャーを増加させることになります。

[Data \+ AI Summit](https://databricks.com/dataaisummit/north-america-2021)において、我々はETLの開発、管理をシンプルなものするファーストクラスのエクスペリエンスをDatabricksのお客様に提供するDelta Lakeの新たな機能である[Delta Live Tables](https://databricks.com/product/delta-live-tables)(DLT)を発表しました。DLTは、宣言型パイプライン開発、改善されたデータの信頼性、クラウド規模でのプロダクションオペレーションによって、データエンジニアの作業をシンプルなものにします。

我々は、信頼性のあるデータパイプラインの構築、維持を行うに際して課題をお持ちのお客様の声に応える形でこの製品を開発しました。それでは、ETLとデータパイプラインの構築がどれだけ大変なものであるかを見ていきましょう。

データチームは、定期的にデータ分析のための重要なデータを提供するように依頼されます。このためには、整理されていない生の入力ファイルを、最新かつ正確な探索的データ分析ダッシュボードに変換することがデータチームには期待されます。データをロードし、変換するためにSQLクエリーを記述する最初のステップは比較的わかりやすいものです。しかし、分析プロジェクトが一貫性のある最新のデータを必要としたときには、最初のSQLをプロダクションレベルのETLパイプラインへと変換する必要が出てきます。この最新データは、様々な他のデータソースやデータソースを更新するジョブなど数多くの依存関係を持っています。これを解決するために、多くのデータエンジニアリングチームはテーブルをパーティションに分割し、依存関係を理解して正確な順序でそれぞれのパーティションを更新するエンジンを構築します。
![](https://databricks.com/wp-content/uploads/2021/05/dlt-blog-img-1-1024x328.png)
構築が終わった後も、不可避なデータ処理失敗からすぐにリカバリできるように、チェックポイントとリトライが必要となります。さらに、システムの中をデータがどのように移動しているのかを追跡するためのガバナンス機能、エラーをアラートするモニタリング機能、データ品質を保証するための品質チェック機能を構築することが求められます。これら全てが完了したとしても、新たな要求がやってきます。データチームには、新たな要求に対応するために、いくつかの機能変更、機能追加後に、これらすべてのプロセスを再実行することが求められます。

データチームはデータ変換のためではなくツール開発に時間を費やすことになり、運用の複雑性は増加していきます。そして、データエンジニアはデータから価値を導出する時間をますます取れないことになります。

# Delta Live Tables

DLTによって、データエンジニアはSQLクエリーを記述するだけでプロダクションのETLパイプラインを構築でき、データチームは自身のデータパイプラインを構築、活用してETLのライフサイクルをシンプルなものにすることでETLを整流化、民主化します。SQLクエリーに"LIVE"を追加するだけで、自動的にDLTはあなたの持つ運用、ガバナンス、品質に関する課題の面倒を見ます。PythonとSQLを組み合わせることで、高度な変換やパイプラインへのAIモデルの埋め込みを実現できる強力なSQL拡張を利用することができます。
![](https://databricks.com/wp-content/uploads/2021/05/dlt-blog-img-2-1024x545.png)

# データ依存性に対する理解

DLTは、あなたがデータを変換するため記述した複数のクエリーを受け取り、それをデータベースに対してクエリーを実行する代わりに、それらクエリーを注意深く解析し、依存関係を理解します。データフローを理解した後で、系統(リネージュ)情報が抽出され、その情報はデータを最新の状態にし、円滑にパイプラインを運用するために活用されます。

これはすなわち、DLTはデータフローとリネージュを理解しており、このリネージュは環境に依存しない形で表現されるため、異なるデータコピー(開発、プロダクション、ステージングなど)は分離され、それらは単一のコードベースで更新できるということを意味します。同一のクエリー定義セットは、これら異なるデータセットに適用することが可能です。

データリネージュの追跡機能は、変更管理の改善、開発時のエラーの削減に大きく貢献しますが、それ以上に、ユーザーに対して分析に使用されているデータソースの可視性を提供できるというメリットがあります。これによって、データから洞察を得る際に高い信頼性、自信を持つことが可能になります。
![](https://databricks.com/wp-content/uploads/2021/05/dlt-blog-img-3-1024x521.png)

# パイプラインに対する可視性の獲得

DLTは、詳細なロギング、品質メトリクスと稼働統計情報を追跡するツールによって、パイプラインオペレーションに対する深い可視性を提供します。この能力によって、データチームはパイプライン内のそれぞれのテーブルのステータス、パフォーマンスを理解することができます。データエンジニアはどのパイプラインの実行が成功して、失敗したのかを確認でき、自動エラーハンドリングと簡単なリフレッシュによってダウンタイムを削減できます。
![](https://databricks.com/wp-content/uploads/2021/05/dlt-blog-img-4.png)

# データをコードとして取り扱う

この新製品を開発する際に我々がコアアイデアの一つとしたのは、現在の多くのデータエンジニアリングプロジェクトでは人気のあるものとなっている、データをコードとして取り扱うというアイデアです。あなたの取り扱うデータは、あなたのビジネスで何が起きているのかを表現する唯一の真実(single source of truth)であるべきです。あなたのデータを定義するコードには変換処理だけではなく、他のいくつかのことが含まれるべきです。

1. **品質期待:** 宣言的品質期待(expectation)によって、DLTはどのようなデータが悪いものなのか、どのように悪いデータを取り扱うべきかを調整可能な深刻度と共に指定できます。
1. **変換処理のドキュメンテーション:** DLTでは、データがどこから来るのか、どのような目的で使用されるのか、どのように変換されているのかのドキュメントを記述することが可能です。このドキュメントは変換処理とともに格納され、この情報が常に最新であることが保証されます。
1. **テーブル属性:** テーブルの属性(例:個人情報を含む)は、テーブル実行に関わるオペレーション情報、品質情報とともに自動的にイベントログに記録されます。この情報は、データが組織の中をどのように流れて、どのように規制の要件に対応するのかを理解するために使用されます。

宣言型パイプライン開発によって、データの信頼性、クラウド規模でのプロダクションのオペレーションが改善され、DLTはETLのライフサイクルを簡単なものにし、データチームが迅速に洞察を得るために自身のデータパイプラインを構築、活用できるようにします。そして、最終的にはデータエンジニアの負荷を軽減します。

> シェルのデータサイネスジェネラルマネージャであるDan Jeavonsは言います。「シェルにおいては、統合されたデータストアに全てのセンサーデータを集積しています。数兆規模のレコードに対して作業をしています。Delta Live Tablesは、我々のチームがこの規模のデータの管理に費やす時間と労力を削減します。我々は、継続的にAIエンジニアリングの能力を改善することに注力していますし、ETL作業をサポートするGUIを備えた統合開発環境(IDE)も持っています。既存のレイクハウスアーキテクチャを拡張するこの機能によって、DatabricksはETLとデータウェアハウス市場に破壊的なイノベーションをもたらしています。このことは、我々のような企業にとっては重要なことです。イノベーションパートナーとしてDatabricksと共に働けることは、我々にとってエキサイティングなことです。」

# さあ、始めましょう

Delta Live Tablesは現在プライベートプレビューであり、リクエストのあるお客様が利用可能です。すでにDatabricksをお使いのお客様は、DLTパイプラインを使用開始するために[こちら](https://databricks.com/p/product-delta-live-tables)からDLTへのアクセスをリクエストできます。DLTの[デモ](https://databricks.com/discover/demos/delta-live-tables-demo)やDLTの[ドキュメント](https://docs.databricks.com/data-engineering/delta-live-tables/index.html)が利用可能です。

ゲーテッドプレビューであるため、プレビュープロセスを円滑に進めるために、場合によってはオンボーディングのサポートを行います。プレビューの枠を限定していますが、多くのお客様にご参加いただければと考えております。ゲーテッドプレビュー中にオンボーディングできない場合には、プレビュー終了後にご連絡を差し上げます。

[無料のData \+ AI Summitセッション](https://dataaisummit.com/session-virtual/)では、製品、エンジニアリングチームがDelta Live Tablesの詳細を説明しています。

### Databricks 無料トライアル

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