メインコンテンツまでスキップ

コアコンセプト

Lakebase は、データベース アプリケーションを効率的に開発、テスト、拡張できるようにする一連の機能に基づいて構築されています。このセクションでは、Lakebase を従来のデータベース システムと区別する中心となる概念を紹介します。

プロジェクト

Lakebaseプロジェクトは、すべてのデータベースリソースを格納する最上位のコンテナです。各プロジェクトはDatabricksワークスペースに属し、それぞれに独自のコンピュートとデータベースを備えた 1 つ以上のブランチが含まれています。

Project
└── Branch (e.g., production)
├── Compute (read-write)
└── Database (e.g., databricks_postgres)

詳細はこちら:プロジェクトプロジェクト管理

オートスケール

Lakebase は、ワークロードの需要に基づいてコンピュート リソースを自動的に調整します。 アプリケーションのトラフィックが増減すると、コンピュート リソースは、手動介入やダウンタイムなしで、構成された範囲内でスケールアップまたはスケールダウンされます。

主な利点:

  • 自動調整: 実際の需要に基づいてリソースが拡張されます。
  • ダウンタイムなし: 構成された範囲内でのスケーリングは、接続を中断することなく行われます。ただし、最小または最大のCU構成を変更すると、一時的な中断が発生する可能性があります。
  • コストの最適化: 実際に使用したリソースに対してのみ支払います。
  • パフォーマンスの一貫性: トラフィックの急増時にも応答性の高いパフォーマンスを維持します。

詳細:オートスケール|オートスケールの設定

スケールゼロ

データベースがアイドル状態の場合、Lakebase はコンピュート リソースを自動的にゼロまでスケールダウンし、未使用の容量のコストを排除します。 アクティビティが再開されると、コンピュートは数秒以内に自動的にスケールアップします。

主な利点:

  • アイドル コストゼロ: データベースが非アクティブなときはコンピュート料金はかかりません。
  • 即時再開: データベースはアクセスされると自動的に起動します。
  • 開発に最適: 断続的に使用される開発およびステージング環境に最適です。
  • 自動管理: 手動による介入は必要ありません。

詳細:ゼロスケール|ゼロスケールの設定

データベースブランチ

Lakebase のデータベース ブランチは、コードの Git ブランチと同様に機能します。データを重複させたり、本番運用環境に影響を与えたりすることなく、開発、テスト、実験用の分離されたブランチを即座に作成できます。

主な利点:

  • 即時作成: コピーオンライト技術を使用して、ブランチが数秒で作成されます。
  • コスト効率が高い: 変更されたデータのみが個別に保存されるため、ストレージ コストが最小限に抑えられます。
  • 分離された環境: プライマリ データベースに影響を与えずに、変更を安全にテストします。
  • コラボレーション: チームメンバーは別々のブランチで同時に作業できます。

詳細:データベースブランチ|ブランチの管理

コンピュートとエンドポイント

Lakebase エンドポイントと は、アプリケーションがデータベースにアクセスするために使用する、安定した接続ポイントのことです。各エンドポイントの背後で、1 つ以上のコンピュート インスタンスがクエリ処理を処理します。 コンピュート リソースを拡張したり、高可用性を追加したりしても、接続文字列は変わりません。

ブランチには通常、1 つの読み書きエンドポイント (プライマリ コンピュート) と、オプションで 1 つ以上の読み取り専用エンドポイント (リード レプリカ) があります。

詳細:コンピュートとエンドポイント|コンピュートの管理

ストレージアーキテクチャ

Lakebase は、コンピュートとは別の分散ストレージ レイヤーにデータを格納します。ストレージはゾーン冗長であり、コンピュートが実行中、停止中、フェールオーバー中のいずれの状態であっても、そのステータスとは独立して永続します。このストレージ分離は、インスタントブランチ、リードレプリカ、およびゼロへのスケールをデータ重複なしで可能にします。

主な利点:

  • 高可用性ストレージ: Databricksは、HAコンピュート設定とは無関係に高可用性ストレージを維持します。
  • コンピュートの変更時も持続: ストレージは、コンピュート障害、停止、または構成の変更時にも利用できます。
  • ブランチとレプリカの基盤: 即時ブランチ作成と読み取りレプリカはどちらも、同じストレージ層を共有する複数のコンピュートインスタンスに依存しています。

詳細情報:ストレージアーキテクチャ

高可用性

高可用性は、プライマリ読み取り/書き込みコンピュートと、アベイラビリティゾーン全体に分散された1つ以上のセカンダリコンピュートインスタンスをペアにします。プライマリが利用できなくなった場合、Lakebaseは自動的にセカンダリを昇格し、アプリケーションは最後にコミットされたトランザクションから継続します。接続文字列は変更されません。ストレージは既に高可用性です。HA を有効にすると、自動フェールオーバーのためのコンピュートレベルの冗長性が追加されます。

主な利点:

  • 自動フェイルオーバー: Lakebase は、手動での介入なしにセカンダリ コンピュート インスタンスを昇格させます。
  • データ損失なし: フェイルオーバーにより、コミット済みのトランザクションはすべて保持されます。
  • 安定した接続文字列: アプリケーションは、フェイルオーバー後に接続設定を変更する必要がありません。

詳細はこちら:高可用性|高可用性の管理

リードレプリカ

リードレプリカは独立した読み取り専用コンピュートであり、プライマリの読み取り/書き込みコンピュートと同じデータに対して読み取り操作を実行します。 従来のレプリカとは異なり、Lakebase の読み取りレプリカはデータを複製せず、同じストレージ レイヤーから読み取るため、即時の作成が可能になり、追加のストレージ コストを削減できます。

主な利点:

  • 水平スケーリング: 読み取り要求を複数のレプリカに分散します。
  • データの重複なし: すべてのレプリカは同じストレージから読み取ります。
  • 即時作成: データをコピーせずに数秒で利用可能。
  • コスト効率が高い: 追加のストレージコストは不要で、さらにオートスケールとゼロスケールのサポートも提供します。

詳細:リードレプリカ|リードレプリカの管理

どのように連携するか

これらのコアコンセプトが連携して、強力で柔軟なデータベース プラットフォームを構築します。

  1. プロジェクト はすべてのデータベースリソースを編成し、Databricks ワークスペースに属しています。
  2. オートスケールは、 需要に基づいて各ブランチに適切な量のコンピュートがあることを保証します。
  3. Scale to Zero は、 使用されていないときにコンピュートを一時停止することで、アイドル状態のブランチのコストを削減します。
  4. データベースブランチを 使用すると、データを重複させることなく、開発およびテスト用の隔離された環境を作成できます。
  5. コンピュートとエンドポイントは、 インフラストラクチャの拡張や再構成に応じて安定した接続ポイントを提供します。
  6. ストレージアーキテクチャ は、データをゾーン冗長化し、コンピュートの状態とは独立して高可用性を維持します。
  7. 高可用性 により、本番運用ワークロードに対して、複数のアベイラビリティーゾーン間でコンピュートレベルの冗長性と自動フェイルオーバーが追加されます。
  8. リードレプリカは、 追加のコンピュート インスタンス全体に読み取りトラフィックを分散します。

このアーキテクチャにより、従来のデータベース システムよりも柔軟性が高く、コストが低く、運用オーバーヘッドが少ないデータベース アプリケーションを構築および拡張できます。