ソース データベースとその使用方法が Spanner にどのようにマッピングされるかを評価するには、ビジネス、技術、運用、財務のニーズを評価する必要があります。評価では、次の主要な領域をカバーすることをおすすめします。
ビジネス目標: 拡張性、可用性、整合性など、Spanner が解決する特定のビジネス問題を定義します。レイテンシの短縮、トランザクション数の増加、コスト削減など、測定可能な成功基準を確立します。
コスト分析: Spanner の使用に伴う潜在的な合計コスト(コンピューティング、ストレージ、ネットワーク)を計算し、現在のデータベースのコストと比較します。1 回限りの移行コストと継続的な運用費用を考慮します。詳細については、Spanner の料金をご覧ください。
スキーマの互換性: 既存のソース データベース スキーマを分析して、データ型、制約、インデックス、ストアド プロシージャなど、Spanner との非互換性を探します。スキーマの変更とデータ変換を計画して、ソース データベース スキーマを Spanner に適切にマッピングします。詳細については、スキーマ設計のベスト プラクティスをご覧ください。
データの整合性とトランザクション: Spanner の外部整合性モデルと、ソース データベースのトランザクション モデルとの違いを理解します。アプリケーション ロジックへの影響を評価します。詳細については、Spanner: TrueTime と外部整合性をご覧ください。
データの局所性とリージョン構成: ユーザーのロケーション、レイテンシ要件、コストの考慮事項に基づいて、リージョン、デュアルリージョン、マルチリージョンのデプロイなど、最適な Spanner デプロイ トポロジを決定します。詳細については、インスタンス構成をご覧ください。
アプリケーション コードの互換性: アプリケーション コードとすべてのデータベース インタラクションの一覧を作成します。SQL 言語、クライアント ライブラリ、トランザクション管理の違いにより、変更が必要な領域を特定します。
パフォーマンスと拡張性の要件: 読み取りと書き込みの比率、トランザクション レート、データ量など、現在のワークロードと予測されるワークロードを定義します。許容できるレイテンシとスループットを決定します。Spanner のパフォーマンスの詳細については、パフォーマンスの概要をご覧ください。
移行戦略とダウンタイム: データの抽出、変換、読み込み、検証など、詳細な移行計画を策定します。ダウンタイムが問題にならない場合は、1 回限りの一括読み込みとカットオーバーを行えます。それ以外の場合は、ダウンタイムを最小限に抑えることを検討してください。ロールバック プランを定義します。
運用上の考慮事項: データベース管理、モニタリング、障害復旧の変更を計画します。チームの学習曲線を評価します。Spanner を既存の運用ツールやプロセスと統合します。詳細については、障害復旧の概要をご覧ください。
セキュリティ: 認証、認可、暗号化などの Spanner のセキュリティ機能を確認します。関連する規制に準拠していることを確認します。
ソース固有のガイド
- MySQL: MySQL から Spanner に移行する。