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

コアコンセプト

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 つ以上の読み取り専用エンドポイント (リード レプリカ) があります。

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

高可用性

高可用性では、プライマリ読み取り/書き込みコンピュートと、可用性ゾーン全体に分散された 1 つ以上のセカンダリ コンピュート インスタンスがペアになります。 プライマリが利用できなくなった場合、セカンダリが自動的に昇格され、アプリケーションは最後にコミットされたトランザクションから処理を再開します。接続文字列は変更されません。

主な利点:

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

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

リードレプリカ

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

主な利点:

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

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

どのように連携するか

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

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

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