このスライドは、BtoB SaaSを展開するスタートアップ企業が、MySQL 8.0からPostgreSQL 16への移行を行い、さらにRow Level Security (RLS)を導入するまでの道のりを詳述しています。
主な内容:
1. 移行の背景と必要性:
• テナントデータの分離を徹底するため、データベースレイヤでの制御が必要であったこと。
• スタートアップ特有のコスト制約の中で現実的な解決策を模索。
2. 移行プロセス:
• スキーマおよびデータの移行手順を具体的に紹介。
• AWS DMSや独自ツールを駆使した検証と移行の取り組み。
3. RLS導入の工夫:
• セッション変数を活用したRLSの設計。
• データ混在を防ぐためのアプローチと事前準備。
4. 技術的課題への対処:
• 移行時のテスト、動作確認、想定外の事象への対応。
• 「うるさい隣人問題」をAurora Serverless v2で解決した事例。
5. 振り返りと学び:
• 入念な準備と動作確認の重要性。
• アプリケーションとデータベースの二層でデータ混在を防ぐ意義。
対象読者:
データベース移行を検討しているエンジニアや、テナント分離やセキュリティに課題を抱えるSaaS事業者に特に有益な情報を提供しています。
このスライドは、実践的な知見を共有することで、他の開発者の参考となる内容になっています。