失敗から学ぶRDBの正しい歩き方 要点メモ
に投稿
技術
アフィリエイトリンクを含みます
JSON型は、JSONのプロパティをSELECT条件にすることはできるが、SQLが複雑になる(CROSS JOIN LATERALなどを使う)
ノーチェンジコンフィグはVPSを初めて使ったとき陥った
見られないエラーログ。月1とかで見ることを習慣化する
知らないロック。ギャップロック、ネクストキーロックに注意。説明を読んでも意味不だったがそういう仕様らしい。
Contents
バックアップ手法3種
論理バックアップ → mysqldump
物理バックアップ → データファイルをcopyして保存。DBの一時停止が必要
PITR → バックアップファイル + バイナリログ。クラウド、DaaSとかだと、これらを自動的に行なってくれるらしい
モニタリング例
CPU利用率が上がる → cpu.iowaitが高い → RDBのテンポラリファイルを確認 (通称temp落ち) → どのSQLでこのテンポラリファイルが作られたか確認
MySQLの場合、PMP(Percona Monitering Plugins)が定番
メジャーアップデートの方法
ダンプ・リストア(停止時間:長い。難易度:かんたん)
専用ツール(停止時間:一定。難易度:かんたん) mysql_upgradeなど
レプリケーション(停止時間:切替時間のみ。難易度:中程度)
アプリケーションからの二重書き込み(停止時間:切替時間のみ。難易度:アプリケーションの設計次第(すべてORMなどを通していれば比較的簡単))