Databricksとは

データ分析基盤の選定で「Databricks」という名前を耳にします。
しかし、「Databricksとは何なのか?」「データレイクやデータウェアハウスと何が違うのか?」と疑問に感じました。

レイクハウスという用語から、アーキテクチャ、DBFSによるデータ管理の仕組みまで、公式記事を見ながら少しずつ全体像を掴んでいきたいと思います。

目次

Databricksとは

Databricksは Apache Sparkベースのマルチクラウド対応レイクハウスプラットフォーム

レイクハウスとは

引用元: https://www.databricks.com/jp/blog/2020/01/30/what-is-a-data-lakehouse.html

レイクハウスは データレイク+データウェアハウスの統合型分析基盤

データレイクの強み

  • オープン性
  • 柔軟性
  • 機械学習対応

データウェアハウスの強み

  • 高い信頼性
  • 強力なガバナンス
  • 高性能

Databricksの構成

  • Databricksでは データエンジニアリング・分析・AIを1つの基盤で実行可能
  • アーキテクチャは 3層構造
    • クラウドサービス層
    • Databricksランタイム層
    • ワークスペース層
  • 対応クラウド
    • Microsoft Azure
    • AWS
    • Google Cloud
  • Databricksランタイムの構成
    • Apache Spark
    • Delta Lake
    • 各種システムライブラリ
  • クラスタは クラウド上の仮想マシンにDatabricksランタイムをプリインストール
  • Databricksワークスペースで以下を実行可能
    • データエンジニアリング
    • 分析
    • AIワークロード
  • Databricksの構成は コントロールプレーンとデータプレーンに分離
  • コントロールプレーン
    • Databricksアカウント側に存在
    • UI、Cluster Manager、Workflow、Notebookなどを管理
  • データプレーン
    • 利用者のクラウドアカウント側に存在
    • ストレージ、クラスタVMが配置される
  • コンピュートとストレージは常に利用者のクラウド側に存在

Spark

  • Databricksは Spark開発者が設立
  • Databricks は Apache Spark上に構築されている
  • Sparkの特徴
    • 分散処理
    • メモリ内処理
  • 対応言語
    • Scala
    • Python
    • SQL
    • R
    • Java
  • 対応処理
    • バッチ処理
    • ストリーム処理
  • 対応データ形式
    • 構造化データ
    • 半構造化データ
    • 非構造化データ(画像・動画)

DBFS(Databricks File System)

  • Databricksは DBFS(Databricks File System)をネイティブにサポート
  • DBFSは 分散ファイルシステムの抽象化レイヤー
  • 実データの永続化先
    • Azure Storage
    • Amazon S3 などのクラウドストレージ
  • クラスタ終了後も データはクラウドストレージ上に安全に保持される

参考サイト

目次