TiDB Cloudブランチング(ベータ版)の概要
TiDB Cloud、 TiDB Cloud StarterおよびTiDB Cloud Essentialインスタンスのブランチを作成できます。TiDB Cloud StarterまたはEssentialインスタンスのブランチは、元のTiDB Cloud StarterまたはEssentialインスタンスから分岐したデータコピーを含む独立したインスタンスです。これにより、隔離された環境が提供され、元のTiDB Cloud StarterまたはEssentialインスタンスへの影響を気にすることなく、自由に実験を行うことができます。
ブランチ機能を使用することで、開発者は並行して作業を進め、新機能を迅速に反復開発し、本番データベースに影響を与えることなく問題をトラブルシューティングし、必要に応じて変更を簡単に元に戻すことができます。この機能は、開発およびデプロイプロセスを効率化すると同時に、本番データベースの高い安定性と信頼性を確保します。
注記:
現在、 TiDB Cloud Branchingはベータ版であり、 TiDB Cloud Dedicatedクラスターでは利用できません。
実装
TiDB Cloud StarterまたはEssentialインスタンスのブランチが作成されると、そのブランチ内のデータは、特定の時点において、元のTiDB Cloud StarterまたはEssentialインスタンス、あるいはその親ブランチから分岐します。つまり、親ブランチまたはブランチのいずれかで行われたその後の変更は、互いに同期されません。
TiDB Cloudは、高速かつシームレスなブランチ作成を実現するために、元のTiDB Cloud StarterまたはEssentialインスタンスとそのブランチ間でデータを共有する際に、コピーオンライト方式を採用しています。この処理は通常数分以内に完了し、ユーザーには感知されないため、元のTiDB Cloud StarterまたはEssentialインスタンスのパフォーマンスに影響を与えることはありません。
シナリオ
ブランチを簡単かつ迅速に作成することで、独立したデータ環境を構築できます。ブランチは、複数の開発者やチームが独立して作業したり、変更をテストしたり、バグを修正したり、新機能を試したり、本番データベースに影響を与えることなくアップデートを展開したりする必要がある場合に特に役立ちます。
機能開発:開発者は、本番データベースに影響を与えることなく、新機能の開発を個別に進めることができます。各機能は独自のブランチを持つことができるため、他の進行中の作業に影響を与えることなく、迅速な反復開発と実験が可能になります。
バグ修正:開発者は、特定のバグを修正するための専用ブランチを作成し、修正をテストし、検証が完了したらマージバックすることで、本番データベースに新たな問題を発生させることなく作業を進めることができます。
実験:新機能の開発や変更を行う際、開発者はブランチを作成して、さまざまなアプローチや構成を試すことができます。これにより、さまざまなオプションを比較し、データを収集し、変更を本番データベースにマージする前に、十分な情報に基づいた意思決定を行うことができます。
パフォーマンスの最適化:データベースの変更は、パフォーマンス向上を目的として行われることがあります。ブランチング機能を使用することで、開発者は隔離された環境でさまざまな構成、インデックス、アルゴリズムを試行錯誤し、最適なソリューションを特定できます。
テストとステージング:チームはテストやステージングのためにブランチを作成できます。これにより、変更が本番データベースにマージされる前に、品質保証、ユーザー受け入れテスト、またはステージングカスタマイズを行うための管理された環境が提供されます。
並行開発:異なるチームや開発者が、別々のプロジェクトに同時に取り組むことができます。各プロジェクトは独自のブランチを持つことができ、独立した開発や実験が可能になると同時に、変更内容を本番データベースにマージすることもできます。
制限事項と割り当て
現在、 TiDB Cloudの各ブランチはベータ版であり、無料で利用できます。
TiDB Cloudの各組織では、デフォルトではTiDB Cloud StarterおよびEssentialインスタンス全体で最大 5 つのブランチを作成できます。TiDB Cloud StarterまたはEssentialインスタンスのブランチは、インスタンスと同じリージョンに作成されます。また、スロットリングが適用されている、または 100 GiB を超えるサイズのTiDB Cloud StarterまたはEssentialインスタンスにはブランチを作成できません。
無料のTiDB Cloud Starterインスタンスの各ブランチには、10 GiB のstorageが許可されます。利用制限が 0 より大きいTiDB Cloud Starterインスタンスの各ブランチには、100 GiB のstorageが許可されます。storage容量が上限に達すると、storageを減らすまで、このブランチでの読み取りおよび書き込み操作が制限されます。
ブランチは、短期的な機能開発と機能テストを目的としています。ブランチには自動スケーリング機能がないため、パフォーマンス テストには適していません。
TiDB Cloud StarterまたはEssentialインスタンスにTiFlashレプリカを持つテーブルがある場合、 TiFlashがレプリカデータを再構築する必要があるため、新しいブランチを作成した後、これらのレプリカは一時的に新しいブランチでは利用できなくなります。
特定の時点からいつブランチを作成するか:
- 無料のTiDB Cloud Starterインスタンスの場合、過去24時間以内の任意の時間を選択できます。
- TiDB Cloud Starter (利用限度額が0より大きい場合)またはTiDB Cloud Essentialインスタンスの場合、過去14日間の任意の期間を選択できます。
さらに多くのクォータが必要な場合は、 TiDB Cloudサポートにお問い合わせください。