最近ブログへのアップが遅れ気味ですが、先週参加してきました。
※本家oracleのサイトからは早々と消されてしまったようなので、connpassを…。残ってました(Oracle山﨑さんより直々にお知らせいただきました。ありがとうございます!)。
MySQL at Facebook & MySQLテクノロジーアップデートセミナー
今回は、これまで参加したセミナーと内容が被るので、さらっと流します。
MySQL Server 8.0 & MySQL Cluster 7.6 Technology Update(Oracle稲垣さん)
前回のセミナーの要約版+MySQL Cluster 7.6 GAの話でした。なので、MySQL 8.0についての話は省略します。
MySQL Cluster(インメモリDB・以前から「NDB Cluster」と呼ばれていたほう・InnoDB Clusterではない)ですが、
- TB級のクラスタでも再起動が速い
- Partial Local Checkpointの採用
- データメモリの一部と変更だけをDisk保存(永続化)する
- Disk容量節約
- CheckPoint高速解放
- データメモリの一部と変更だけをDisk保存(永続化)する
などをアピールされていました。
MySQL at Facebook(Facebook松信さん)
今回のメインセッションです(以下、印象に残った点を箇条書き)。
- MySQL は5.1→5.6の移行を2013~2014年頃に実施(5.5はSkip)
- 5.6に各種Patchを加えて運用中
- Patchは本家Oracleに取り入れてもらうよう働きかけを行ってきた(実際にいくつか取り入れられてきた)
- ALTER TABLE~DEFLAGMENT INDEX
- InnoDB DoubleWriteでの書込削減Patch
- ダブルライトをやめて「データが壊れたときの検知」に注力
- 壊れていたら別インスタンス(ノード)からコピーすればよい
- 実際に壊れたことが10%程度しかなかったため
- 主キーの順番に配慮して論理Read-Ahead
- その他、非同期・スロットリング・ユーザ別セッション変数・クラッシュセーフなSlave / Master、binlog圧縮(ZSTD)、準同期binlog、START TRANSACTION WITH CONSISTENT $ENGINE SUPPORTなど
- Binlog Server
- 長期間binlogを残す
- リージョン(DC)あたり1コピーにまとめることにより、地理的分散によるレイテンシ増加の悪影響を軽減する
- MyRocksというストレージエンジンを開発して、UDB(User Database)とMessengerをInnoDBから移行した
- http://myrocks.io/
- 関連記事はこのへん https://news.infoseek.co.jp/article/enterprisezine_9450/
- B+木IndexではなくLog Structured Merge(LSM)構造を採用
- Read性能を犠牲にしてスペース効率のUPを目指した
- 当初、DBサーバのCPUとDisk I/Oがスカスカだった一方、容量は不足気味だったため
- 結果、CPUとDisk I/O負荷は少しUPしたが、容量は半分になった(1台に元の2台分を入れられるように)
- テーブル(データ)構造はInnoDBと同じClustered Indexを採用
- Bloom Filter & Column Familyなどによって性能低下を抑えた
- ギャップロックなし
- Row-Based Replication Only
- 移行作業を工夫
- 書込回数を削減
- データベリファイを頑張った(データ件数比較・GTIDで取得して比較・Auditプラグインを活用)
- TRIMストール(DELETEで刺さる)を防ぐため、TRIM有効範囲を制限
- 8.0への移行を検討中
MySQL 8.0へのアップグレードのポイントとパラメタ比較(Oracle山﨑さん)
バージョン間のデフォルトパラメータの違いとアップグレード時の注意点のお話でした。
バージョン間でデフォルトパラメータ、あるいは設定可能なパラメータそのものの差異があるので、
などについての言及がありました。
あと、「パラメタ比較」というタイトルから薄々感づいていたのですが、やっぱりMySQLユーザ会のとみたさんのパラメータ比較についての言及もありました(というか、結構大きく取り上げてました)。
あっさり早めに終わったのと、会社の東京事務所に呼ばれずに済んだ(当日、情シス部門の人が拠点間VPNをIPoEベースに張り替える作業をしていた。ただ、IPv6について知見がないとのことだったので私が準備を手伝った)のとで時間が余ったので、東京駅近くの三菱一号館美術館で、(日常生活では全く無縁の)宝飾品の数々を眺めてきました。
目の保養?になりました。