内容は前に書いたエントリーの
を元に発表してきました。
と言っても今回は参加者がPostgresSQLに詳しい前提だったのでMySQLを中心に話をしました。
実際の資料は下記のとおりです。
当日はビデオ撮影があったのでそのうち動画が上がると思います。
第32回 PostgreSQL 勉強会まとめ ~ togetter ~
流石に2時間は疲れました。
内容としては眠くならないように面白おかしく伝えようと思ったのですがなかなか難しかったです。
前半はMySQLとPostgreSQLの方向性の違いをメインにしました。
後半はMySQLは僕が実際にハマった事などをメインにしました。
個人的にはRDBの選択は適材適所以上の答えは無いと思ってます。
MySQLの並列処理性能やレプリケーションはPostgresSQLには足りないものです。
PostgresSQLの方が素晴らしいではなく住み分けだよと伝えたつもりです。
資料だけだとMySQLの
実際にもっと深く知りたい人はMyNA会やPostgreSQLカンファレンスに来てもらえたらと思います。
ということでPostgreSQL勉強会デビューの話しでした。
####追記####
PostgreSQLな人のマサカリよりMySQLな人のマサカリで死ぬパターン。— そーだい@初代ALF (@soudai1025) 2015, 10月 11
間違った知識広がったらいけませんし。
1. トランザクションレベルのSERIALIZABLEの挙動の誤記
SERIALIZABLEの読み取りロックはNOって書いてますけどYESが正しいです。
PostgreSQLもMySQLもSERIALIZABLEにするとロックを獲得すると他トランザクションのSELECTに対してもロック待ちさせます。
SERIALIZABLEについては触れなかったので当日は誰も気づいてなかったぽいですが間違いです。
2. MySQLのInnoDBはREPEATABLE READはファントムリードしない
PostgreSQLはするのでそういうもんだと思ってました。
デフォルトのREPEATABLE READが堅いということになります。
MySQLすごい!!
3. @yoku0825さんからの指摘事項がいっぱい
MySQL 5.6で同一スキーマ内はマルチスレッド処理できない、というのはMulti Threaded Slaveの話ですね。マスターなら問題なくマルチスレッドです。— yoku0825 (@yoku0825) 2015, 10月 11
5.5のInnoDBのパージはInnoDBのメインスレッドなので、5.6以降が専用スレッドですね。— yoku0825 (@yoku0825) 2015, 10月 11
utf8mb4_unicode_ciでこそハハパパ問題が発生します。。(utf8mb4_general_ci(デフォルト)では発生しない)— yoku0825 (@yoku0825) 2015, 10月 11
バイナリ型でなくても、utf8mb4_binなどの照合順序を指定すれば区別しますね。— yoku0825 (@yoku0825) 2015, 10月 11
一つのテーブルに一トリガーではなく、一つのテーブル一つのアクションに一トリガーずつ、です。— yoku0825 (@yoku0825) 2015, 10月 11
SlackはMySQL CasualであってMyNAではないです(別のコミュニティ)— yoku0825 (@yoku0825) 2015, 10月 11
5.7でも本体で自動フェールオーバーはサポートしてないです。MySQL Fabricのことか、MySQL Group Replication(同期型マルチマスター、Lab版)か。。— yoku0825 (@yoku0825) 2015, 10月 11
@soudai1025 それは残念ながらmysqlfailoverのことを指していますね(MHAと似たような動作です。エージェントレスなのでそういう書き方? mysqlfailoverデーモンが必要なので、Oracle本国の仕掛けた罠かと。。— yoku0825 (@yoku0825) 2015, 10月 12
こちらからは以上です。— yoku0825 (@yoku0825) 2015, 10月 11
つまり、みんな@yoku0825をフォローしよう。
(いつもアドバイスありがとうございます)
#スライドの中で話題にした本並べときます
0 件のコメント:
コメントを投稿