構築中。

名古屋のITインフラ屋さんです。ITイベントへの参加記録などを残していきます。

MySQL at Facebook & MySQLテクノロジーアップデートセミナー+三菱一号館美術館(7/5)

最近ブログへのアップが遅れ気味ですが、先週参加してきました。

connpass.com

本家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高速解放

などをアピールされていました。

MySQL at FacebookFacebook松信さん)

今回のメインセッションです(以下、印象に残った点を箇条書き)。

  • MySQL は5.1→5.6の移行を2013~2014年頃に実施(5.5はSkip)
  • 5.6に各種Patchを加えて運用中
    • Patchは本家Oracleに取り入れてもらうよう働きかけを行ってきた(実際にいくつか取り入れられてきた)
      • FacebookMySQLそのものを商品としてビジネスをしていないので、本家に取り入れてもらってメンテナンスしてもらったほうが都合が良い
    • 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への移行を検討中
    • 8.0には期待している
      • performance_schema、テーブル統計などのPatch
      • トランザクショナルなDDL、よりよいオプティマイザ
      • Group ReplicationではIPv6対応やシングルプライマリ、ライブマスタ選出への対応を期待

MySQL 8.0へのアップグレードのポイントとパラメタ比較(Oracle山﨑さん)

バージョン間のデフォルトパラメータの違いとアップグレード時の注意点のお話でした。

バージョン間でデフォルトパラメータ、あるいは設定可能なパラメータそのものの差異があるので、

  • できるだけ8.0に近いバージョン(5.7)に上げてから8.0に上げたほうがよいこと
  • 予約語文字コードやCOLLATION、認証方式、SQLモードなどの違い
  • アップグレードチェッカーの活用

などについての言及がありました。

あと、「パラメタ比較」というタイトルから薄々感づいていたのですが、やっぱりMySQLユーザ会のとみたさんのパラメータ比較についての言及もありました(というか、結構大きく取り上げてました)。

tmtms.hatenablog.com


あっさり早めに終わったのと、会社の東京事務所に呼ばれずに済んだ(当日、情シス部門の人が拠点間VPNをIPoEベースに張り替える作業をしていた。ただ、IPv6について知見がないとのことだったので私が準備を手伝った)のとで時間が余ったので、東京駅近くの三菱一号館美術館で、(日常生活では全く無縁の)宝飾品の数々を眺めてきました。

mimt.jp

mimt.jp

目の保養?になりました。

インフラ勉強会半年記念オフライン会(東京会場・6/23)

ちょっと日が経ってしまいましたが、先週土曜日にインフラ勉強会のオフ会@東京会場に参加してきました。

techplay.jp

東京会場と大阪会場を結んでの開催です。 配信も行われたので、子連れもくもく会などのサテライト会場も設けられました。

※インフラ勉強会の紹介はこちら。

qiita.com

私自身、インフラ勉強会が昨年12/23に誕生してから割と早い段階で存在を知ったのですが、ユーザ登録したのは年明け後しばらく経ってからでした。 そして、実際にオンライン勉強会に参加し始めたのはさらに1ヶ月くらい経ってからだった気がします。

オフ会では、発起人の1人である佐々木さんをはじめ数名の方が誕生後の経緯について語られていました。勉強会の参加者・登壇者が増えてきたのが目に見えて増えてきたのが確か2~3月頃ということで、実際に自分が参加し始めた時期と大体一致していたようです。 当初からの目的として「初心者の勉強の場を作る」があって、途中から登壇者が増えてきたころからちょっとレベルの高い会が増えてきて、当初の目的が…などなど、運営の苦労話も。 私自身は、「初心者に向けて教えるスキルが参考になるので勉強会に参加していた」面がありますが、「インフラ」といっても幅が広いので(というか、テーマはインフラに限らない)、純粋に知らない分野のことを知ることができた勉強会も何度かありました。

オフ会後半の懇親会は東京・大阪それぞれ別々に開催され、LTが行われましたが、東京会場ではLTが予定時間を大幅に超え、「LT終了=懇親会終了」に。 事前にTwitterとDiscord(インフラ勉強会で利用しているツール)上で「本を持っていきます!誰かもらって!」と呼び掛けてから持って行った本(とルータとL2SW…こちらは事前に譲渡先が決まっていた)たちは、どんどん延長されるLTが気になって配布開始のタイミングが難しかったのですが、最終的には全部もらわれて行きました。

hmatsu47.hatenablog.com

本を持って行ったおかげもあって、色々な方とおしゃべりできて楽しい懇親会でした。

懇親会開始のタイミングで1周年記念オフ会の開催が発表されましたが(12月?それとも1月?)、次回は東京と大阪(または、もしかしたらそれ以外?)、どちらに参加しようかな…?

久々の登録セキスペ

…GWにやるはずだったオンライン講習も手つかずで、登録セキスペどころかセキュリティの話も最近全然書いてなかった。

というわけで、久々に登録セキスペのページを見たら、

www.ipa.go.jp

こんなこととか、

www.ipa.go.jp

こんなこと、

www.ipa.go.jp

そして先週末には、

www.ipa.go.jp

こんなことまで(元あったページへの追記だと思いますが)。

IPA、必死すぎます。

…全然伝わっていないように感じますが(うちの会社にも「未登録セスペ」(セキスペではない)さんがいますが、登録することはないでしょうね…上司の理解0だし、役員はその事実すら知らないし)。

まあ、何かの間違いで登録セキスペのことが社内で話題になって、「そういえばお前、持ってるんだよね?」と聞かれても「何のこと?」とすっとぼけようと思っています(こちとら自腹で人柱登録セキスペしてるんだし、会社に都合よく利用されたくない)。

で、登録セキスペの普及は頑張ってる一方で、こんな

www.ipa.go.jp

有識者へのインタビュー?なども行い、相当手間暇をかけて作ったであろう資料はまったく宣伝されておらず、日の目を見ていない模様。

※内容的には、選定フローでパブリッククラウドの利点がほとんど考慮されていない「ちょっと時代遅れな残念感」がありますが。可用性もセキュリティのうち、DDoS攻撃だけが可用性リスクではない、ってことです。手間をかけすぎて公開が遅くなった?

これは単なる一例にすぎず、似たような状況になっている資料が結構たくさんありますね。

「世の中に伝わっていない」点については登録セキスペと同じですが。

取り組みの意図はわかるのですが、下手すると「人手不足で、ただでさえ能力の高いエンジニアがあちこちで求められているのに、こんなところでエンジニアの能力が浪費されている」ことにもなりかねないので、立派な資料作りに励んで満足するより、現場に届くところまで出て行って伝える、という取り組みのほうに力を入れたほうが良い気がします。

※資料はもっと簡潔な内容で配りやすいものをたくさん作ったほうが…。