MySQL の OPTIMIZE TABLE は実際に何をしているのか。InnoDB での内部処理、ONLINE DDL の挙動、ロック時間、実行すべきタイミングや注意点をリストアップしました。
RDS for MySQL環境でDELETEとDROP TABLEを実行した場合にFreeStorageSpaceがどう変化するのかを実測検証。InnoDBのfile-per-table方式やRDS特有の挙動も整理しました。
Aurora MySQL は何がすごいのか? RDS MySQL との本質的な違い、6重化ストレージ、リードスケール、フェイルオーバー速度、「スケールするもの/しないもの」など、聞かれて困らないように教科書的な回答をまとめました。
RDS MySQL と Aurora MySQL にあるテーブルを横断して SQL JOIN が可能かどうかを調査。FEDERATED Storage Engine や AWS Glue、Redshift の可能性も含めて整理しました。
MySQL でテーブル容量を見積もるために、information_schemaを使って平均行長を確認する方法の覚え書き。容量予測やインデックスサイズの見積りに役立ちます。
Laravel で DynamoDB を使うための選択肢を整理。公式 AWS SDK と baopham/laravel-dynamodb の特徴を比較します。
DynamoDB で日時を扱う際に重要なのは “日時形式” ではなく “ソート可能なキー” であること。文字列比較とソートキーの関係、ISO 8601 が選ばれやすい理由を整理します。
MySQL を前提とした視点から、DynamoDB の設計思想と RDBMS との違いを、主キー設計・Query 制限・GSI・JOIN 不可・集計不可などの観点から整理します。
AWS SQS で監視すべき主要メトリックス(Age・Visible・NotVisible・DLQなど)の意味とアラート設計の考え方を整理。特に遅延指標である ApproximateAgeOfOldestMessage を最重要視する理由を考えます。
アラート対応時に「マシンが既にリブートされているか」を確認する方法。journalctlで前回起動時のログを確認し、カーネルパニックやOOM killerの痕跡をチェックするのに役立ちます。