はじめに
筆者は、Databricksで業務で使っているのですが、Databricksでは多くの独自用語があります。Apache Sparkの概念に加えて、Delta Lake、Unity Catalog、Databricks独自の機能など、覚えるべき用語がかなり多いです。
私自身、開発時もそうですが、資格を取得する過程で、「この用語、前にも見たけど何だっけ?」と何度も調べ直した経験があります。
そこで、Databricksのよく使われる基本用語を体系的に整理し、一覧表にまとめました。学習の参考や、実務での「あれ、これ何だっけ?」という時のクイックリファレンスとして活用してください。今回は、ややデータエンジニアリング分野よりの用語が多いかもしれません。
用語一覧
プラットフォーム基盤
用語 |
解説 |
Workspace |
Databricksの作業環境全体。ノートブック、クラスター、ジョブなどを管理する統合環境 |
Cluster |
計算リソースの集合。ドライバーノードとワーカーノードで構成され、Sparkジョブを実行 |
Driver Node |
クラスターの制御ノード。Sparkアプリケーションの調整とメタデータ管理を担当 |
Worker Node |
実際のデータ処理を行うノード。ドライバーからの指示に従ってタスクを実行 |
Runtime |
クラスターで動作するソフトウェア環境。Spark、Python、Scala等がプリインストール |
開発環境
用語 |
解説 |
Notebook |
コードを書いて実行する対話型の開発環境。Jupyter的なセル形式でコードを管理 |
Cell |
ノートブック内のコード実行単位。SQL、Python、Scala、R等の言語を混在可能 |
Magic Command |
セル内で使用する特殊コマンド(%sql、%python等)。言語切り替えや設定変更に使用 |
Repos |
Git統合機能。GitHubやGitLab等のリポジトリと連携してバージョン管理を実現 |
Databricks CLI |
コマンドラインインターフェース。ローカル環境からDatabricksを操作 |
データストレージ
用語 |
解説 |
DBFS (Databricks File System) |
Databricks専用の分散ファイルシステム。クラスター間でファイル共有が可能 |
Mount Point |
外部ストレージ(S3、Azure Blob等)をDBFS上にマウントする仕組み |
Table |
構造化データを格納するオブジェクト。Parquet、Delta等の形式でストレージに保存 |
Database/Schema |
テーブルを論理的にグループ化する名前空間 |
Delta Lake
用語 |
解説 |
Delta Lake |
Apache Spark上に構築されたオープンソースのストレージレイヤー |
Delta Table |
Delta Lake形式で保存されたテーブル。ACID特性とバージョン管理を提供 |
Transaction Log |
Delta Tableの変更履歴を記録するJSONファイル群(_delta_log/) |
Time Travel |
過去の特定時点のデータ状態にアクセスする機能 |
ACID |
Atomicity、Consistency、Isolation、Durabilityを保証するトランザクション特性 |
OPTIMIZE |
Delta Tableのファイル最適化コマンド。小さなファイルを統合してパフォーマンス向上 |
VACUUM |
古いファイルバージョンを削除してストレージを最適化するコマンド |
Z-Ordering |
データの物理的配置を最適化する手法。頻繁にクエリされるカラムでソート |
データ処理
用語 |
解説 |
ETL |
Extract、Transform、Loadの略。従来のデータ処理パターン |
ELT |
Extract、Load、Transformの略。データレイク時代の処理パターン |
Multi-hop Architecture |
Bronze→Silver→Goldの段階的データ変換アーキテクチャ |
Bronze Layer |
生データを保存する最初のレイヤー。最小限の変換のみ適用 |
Silver Layer |
データクレンジングと標準化を行う中間レイヤー |
Gold Layer |
ビジネス用途に最適化された最終レイヤー。集計やマート化済み |
ストリーミング
用語 |
解説 |
Structured Streaming |
Spark上の統一ストリーミング処理エンジン |
Auto Loader |
クラウドストレージの新しいファイルを自動的に検出・処理する機能 |
Trigger |
ストリーミング処理の実行タイミングを制御する仕組み |
Checkpoint |
ストリーミング処理の進捗状態を保存する機能。障害復旧に使用 |
ワークフロー
用語 |
解説 |
Job |
定期実行やトリガー実行するワークフロー。ノートブックやJARファイルを実行 |
Task |
Job内の個別の実行単位。依存関係を定義して複雑なワークフローを構築 |
Workflow |
複数のTaskを組み合わせたデータパイプライン |
Delta Live Tables (DLT) |
宣言的なデータパイプライン構築フレームワーク |
Pipeline |
DLTで構築されるデータ処理フロー。依存関係とデータ品質を自動管理 |
データガバナンス
用語 |
解説 |
Unity Catalog |
Databricks統一データガバナンスソリューション |
Metastore |
メタデータを管理するコンポーネント。テーブル、カラム、統計情報等を格納 |
Catalog |
Unity Catalog内の最上位名前空間。複数のスキーマを含む |
Principal |
アクセス制御の対象となるエンティティ(ユーザー、グループ、サービスプリンシパル) |
Lineage |
データの変換履歴と依存関係を追跡する機能 |
セキュリティ
用語 |
解説 |
Access Control |
リソースへのアクセス権限を管理する仕組み |
Service Principal |
アプリケーションやサービス用の認証ID |
Secret Scope |
認証情報を安全に管理するためのセキュアな領域 |
Personal Access Token |
API認証用のトークン。プログラムからDatabricksにアクセス時に使用 |
分析・可視化
用語 |
解説 |
Databricks SQL |
SQLベースのデータ分析とBI機能 |
SQL Warehouse |
Databricks SQLの計算エンジン。BIワークロード向けに最適化 |
Dashboard |
データの可視化とレポート機能 |
Query |
Databricks SQLで実行するSQLクエリ |
データ共有
用語 |
解説 |
Delta Sharing |
組織間でのセキュアなデータ共有プロトコル |
Share |
Delta Sharingで共有するデータのコレクション |
Recipient |
Delta Sharingでデータを受け取る組織やシステム |
機械学習
用語 |
解説 |
MLflow |
機械学習ライフサイクル管理プラットフォーム |
Experiment |
MLflowでの機械学習実験の管理単位 |
Model Registry |
機械学習モデルのバージョン管理とデプロイ管理 |
パフォーマンス
用語 |
解説 |
Photon |
Databricks独自の高速クエリエンジン |
Adaptive Query Execution |
クエリ実行時に統計情報に基づいて最適化を行う機能 |
Dynamic File Pruning |
不要なファイルの読み込みを回避する最適化機能 |
おわりに
Databricksの用語は、従来のデータウェアハウスとは異なる概念が多く、最初は戸惑うかもしれません。しかし、これらの用語を理解することで、Databricksの強力な機能を最大限に活用できるようになります。
特に重要なのは以下の概念です:
-
Delta Lake: データの信頼性を保つ中核技術
-
Multi-hop Architecture: 効率的なデータ処理パターン
-
Unity Catalog: エンタープライズ向けガバナンス
-
Auto Loader: リアルタイムデータ取り込み
この記事が、Databricksの学習や実務での参考になれば幸いです。今後も、これらの用語について詳しく解説する記事を投稿していく予定です。
Discussion