ラムダアーキテクチャ
Databricks 無料トライアル
ラムダアーキテクチャとは
ラムダアーキテクチャとは、膨大なデータ「ビッグデータ」を処理するアプローチです。ハイブリッドアプローチを使用してバッチ処理やストリーム処理メソッドへのアクセスを提供し、任意の関数を計算する問題を解決するために使用されます。ラムダアーキテクチャは3つのレイヤーから構成されています。
バッチレイヤー
新しいデータは、データシステムへのフィードとして継続的に提供されます。データはバッチレイヤーとスピードレイヤーに同時に供給されます。全てのデータを一度に調べ、最終的にストリームレイヤー内のデータを修正します。ここでは、多くの ETL と従来型のデータウェアハウスを見つけることができます。このレイヤーは、通常 1 日に 1 回または 2 回、事前定義されたスケジュールを使用して構築されます。バッチレイヤーには、次の 2 つの重要な機能があります。
- マスターデータセットの管理
- バッチビューの事前計算
サービングレイヤー
バッチビューの形式のバッチレイヤーからの出力と、ほぼリアルタイムビューの形でスピードレイヤーから出力されるデータは、このサービングレイヤーに転送されます。このレイヤーはバッチビューのインデックスを作成し、アドホックベースで低待機時間でクエリを実行できるようにします。
スピードレイヤー(ストリームレイヤー)
このレイヤーは、バッチレイヤーのレイテンシで処理できずバッチビューでまだ配信されていないデータを処理します。また、リアルタイムビューを作成して、ユーザーにデータの完全なビューを提供するために、最新のデータのみを扱います。
ラムダアーキテクチャのメリット
ラムダアーキテクチャの主なメリットは次のとおりです。
- サーバー管理は不要: ソフトウェアの インストール、保守、管理する必要はありません。
- 柔軟なスケーリング :容量の調整によってアプリケーションを自動的にスケーリングできます。
- 自動化された高可用性:サーバレスアプリケーションのため、すでに可用性とフォールトトレランスが組み込まれており、全ての要求が成功したかどうかの結果を受け取ることを保証します。
- ビジネスの俊敏性:変化するビジネス/マーケットのシナリオにリアルタイムで対応
ラムダアーキテクチャの課題
- 複雑さ:ラムダアーキテクチャは、非常に複雑になる可能性があります。管理者によるバッチレイヤーとストリーミングレイヤー用の 2 つの別のコードベースをメンテナンスする必要とするため、デバッグが困難です。