Lakebaseは、データベースアプリケーションを効率的に開発、テスト、拡張するための一連の機能を提供します。 このセクションでは、Lakebase と従来のデータベース システムを区別する主要な概念について説明します。
Architecture
Lakebaseは、ステートレスのPostgres計算を、セーフキーパー、ページサーバー、クラウドオブジェクトストレージからなる耐久性のあるストレージ層から分離します。 この分離を理解することで、インスタントブランチからスケール・トゥ・ゼロまでの概念がなぜこのように機能するのかが説明できます。
詳しくはこちら: 建築
プロジェクト
Lakebase プロジェクトは、すべてのデータベース リソースの最上位のコンテナーです。 各プロジェクトはAzure Databricks ワークスペースに属し、それぞれに独自のコンピューティングとデータベースを持つ 1 つ以上のブランチが含まれています。
Project
└── Branch (e.g., production)
├── Compute (read-write)
└── Database (e.g., databricks_postgres)
Autoscaling
Lakebase は、ワークロードの需要に基づいてコンピューティング リソースを自動的に調整します。 アプリケーションのトラフィックが増減すると、コンピューティング リソースは、手動による介入やダウンタイムなしで、構成した範囲内でスケールアップまたはスケールダウンされます。
主な利点:
- 自動調整: リソースは実際の需要に基づいてスケーリングされます。
- ダウンタイムなし: 構成された範囲内でのスケーリングは、接続を中断することなく行われます。 ただし、CU の最小構成または最大構成を変更すると、短時間の中断が発生する可能性があります。
- コストの最適化: 実際に使用するリソースに対してのみ支払います。
- パフォーマンスの一貫性: トラフィックの急増時に応答性の高いパフォーマンスを維持します。
ゼロまでスケールダウン
データベースがアイドル状態の場合、Lakebase はコンピューティング リソースを自動的にゼロにスケールダウンできるため、未使用の容量のコストを削減できます。 アクティビティが再開されると、コンピューティングは数秒で自動的にスケールアップされます。
主な利点:
- アイドル コストゼロ: データベースが非アクティブな場合、コンピューティング料金は発生しません。
- インスタント 履歴書: データベースは、アクセス時に自動的に起動します。
- 開発に優しい: 断続的な使用を伴う開発およびステージング環境に最適です。
- 自動管理: 手動による介入は必要ありません。
詳細情報: ゼロへのスケール | スケールからゼロへの構成
データベース ブランチ
Lakebase のデータベース ブランチは、コードの Git ブランチと同様に機能します。 データを複製したり、運用環境に影響を与えたりすることなく、開発、テスト、または実験のための分離されたブランチを瞬時に作成できます。
主な利点:
- インスタント作成: ブランチは、書き込み時のコピー テクノロジを使用して数秒で作成されます。
- コスト効率が高い: 変更されたデータのみが個別に格納されるため、ストレージ コストが最小限に抑えられます。
- 分離された環境: プライマリ データベースに影響を与えずに、変更を安全にテストします。
- コラボレーション: チーム メンバーは、別々のブランチで同時に作業できます。
詳細情報: データベース ブランチ | ブランチの管理
コンピューティングとエンドポイント
Lakebase エンドポイント は、アプリケーションがデータベースに到達するために使用する安定した接続ポイントです。 各エンドポイントの背後では、1 つ以上のコンピューティング インスタンスがクエリ処理を処理します。 コンピューティング リソースをスケーリングしたり、高可用性を追加したりしても、接続文字列は同じままです。
ブランチには通常、1 つの読み取り/書き込みエンドポイント (プライマリ コンピューティング) と、必要に応じて 1 つ以上の読み取り専用エンドポイント (読み取りレプリカ) があります。
詳細情報: コンピューティングとエンドポイント | コンピューティングの管理
ストレージ アーキテクチャ
Lakebase は、コンピューティングとは別の分散ストレージ レイヤーにデータを格納します。 ストレージはゾーン冗長であり、コンピューティングの実行、一時停止、フェールオーバーのいずれであっても、コンピューティングの状態とは無関係に保持されます。 このストレージ分離により、データを複製することなく、即時ブランチ、リードレプリカ、スケール・トゥ・ゼロを実現できます。
主な利点:
- 高可用性ストレージ: Azure Databricksは、HA コンピューティング設定とは無関係に高可用性ストレージを維持します。
- コンピューティングの変更によって永続化されます。 ストレージは、コンピューティングエラー、一時停止、または構成の変更によって引き続き使用できます。
- ブランチとレプリカの基礎: インスタント ブランチの作成と読み取りレプリカの両方が、同じストレージ レイヤーを共有する複数のコンピューティング インスタンスに依存します。
詳細情報: ストレージ アーキテクチャ
高可用性
高可用性では、プライマリ読み取り/書き込みコンピューティングと、可用性ゾーン間に分散された 1 つ以上のセカンダリ コンピューティング インスタンスがペアになります。 プライマリが使用できなくなった場合、Lakebase は自動的にセカンダリを昇格させ、アプリケーションは最後にコミットされたトランザクションから続行します。 接続文字列は一貫して変更されません。 ストレージは既に高可用性です。 HA を有効にすると、自動フェールオーバーのコンピューティング レベルの冗長性が追加されます。
主な利点:
- 自動フェールオーバー: Lakebase は、手動による介入なしにセカンダリ コンピューティング インスタンスを昇格します。
- データ損失なし: フェールオーバーでは、コミットされたすべてのトランザクションが保持されます。
- 安定した接続文字列: フェールオーバー後にアプリケーションの接続構成を変更する必要はありません。
読み取りレプリカ
読み取りレプリカは、プライマリ読み取り/書き込みコンピューティングと同じデータに対して読み取り操作を実行する独立した読み取り専用コンピューティングです。 従来のレプリカとは異なり、Lakebaseのリードレプリカはデータを重複しません。 同じストレージ層から読み込みを行うため、即時の生成が可能となり、追加のストレージコストを排除できます。
主な利点:
- 水平スケーリング: 読み取り要求を複数のレプリカに分散します。
- データの重複なし: すべてのレプリカが同じストレージから読み取られます。
- インスタント作成: データのコピーなしで数秒で使用できます。
- コスト効率が高い: 追加のストレージコストがなく、自動スケーリングとゼロスケールへのサポートがあります。
詳細情報: 読み取りレプリカ | 読み取りレプリカの管理
共同作業の方法
これらの主要な概念は連携して、強力で柔軟なデータベース プラットフォームを作成します。
- プロジェクトでは、すべてのデータベース リソースが整理され、Azure Databricks ワークスペースに属します。
- 自動スケーリングにより 、各ブランチに需要に基づいて適切なコンピューティング量が確保されます。
- スケールをゼロに して、使用されていない場合にコンピューティングを中断することで、アイドル状態のブランチのコストを削減します。
- データベース ブランチを 使用すると、データを複製することなく、開発とテストのための分離された環境を作成できます。
- コンピューティングとエンドポイントは、インフラストラクチャを スケーリングまたは再構成するときに安定した接続ポイントを提供します。
- ストレージ アーキテクチャ は、コンピューティング状態に関係なく、データ ゾーン冗長で高可用性を維持します。
- 高可用性により、 運用ワークロードの可用性ゾーン間でコンピューティング レベルの冗長性と自動フェールオーバーが追加されます。
- 読み取りレプリカ は、読み取りトラフィックを追加のコンピューティング インスタンスに分散します。
このアーキテクチャを使用すると、従来のデータベース システムよりも柔軟性が高く、コストが削減され、運用オーバーヘッドが少ないデータベース アプリケーションを構築およびスケーリングできます。