DBMSの使い分け
• DB選定フェーズを確保する
• 「違うもの」と比較する
• × MySQL vs MySQL forks
• ○ MySQL vs Hadoop
• ○ MySQL vs Cassandra
• ○ OSS vs 商用
• × どのDBが一番良いか
• ○ どう組み合わせるのが良いか
11
Slide 12
Slide 12 text
My MySQL Best Practice
• DBを選ぶ
• Use InnoDB 、no more MyISAM
• エラーハンドリング
• 定期的な再接続
• クエリとクエリの間に重い処理を入れない
• DBAとのコミュニケーションのコツ
12
Slide 13
Slide 13 text
Use InnoDB, No more MyISAM
• MyISAM は トランザクション非対応
• BEGIN/COMMITが使えない・・・だけではない
13
Slide 14
Slide 14 text
Use InnoDB, No more MyISAM
• MyISAM は ディスクに同期書き込みしない
• 障害時にデータがロストするリスクがある
• 破損チェックや復旧に時間がかかる
14
Slide 15
Slide 15 text
Use InnoDB, No more MyISAM
• MyISAM フェードアウトは確定的
• MySQL 8.0
• Dictionary Data in InnoDB
• DDL が crash safe に
• https://dev.mysql.com/doc/refman/8.0/en/data-dictionary.html
15
Slide 16
Slide 16 text
My MySQL Best Practice
• DBを選ぶ
• Use InnoDB 、no more MyISAM
• エラーハンドリング
• 定期的な再接続
• クエリとクエリの間に重い処理を入れない
• DBAとのコミュニケーションのコツ
16