LoginSignup
15
14

More than 5 years have passed since last update.

MyNA(日本MySQLユーザ会)会 2015年8月 ノート

Posted at

はじめに

  • @kamipo さんOracle ACEおめでとうございます。
  • GMOさんと@yoku0825さん、会場提供と運営ありがとうございました。
  • 発表者様の本質と違っている可能性もあります。(一部主観も記述してあります。)
    • きっと資料はSlideShareあたりに出てくれると信じて・・・
  • MySQLのことならhttp://mysql-casual-slackin.herokuapp.com @Slackに登録をとのこと。
  • MySQLユーザ会からのお知らせ
    • ユーザ会2015/10/30(金)にユーザ会の15周年パーティがあるそうです。

@kamipo MySQL運用とActiveRecord

MySQLを流行らせたい

  • MySQLで困っている人を助けることで、MySQLを利用する人を増やす。
    • Twitterで困っている人を探す
    • githubで困っているissueを解決する
    • ということは困っている人はどちらかにポストすれば手厚いサポートが受けられる・・・?
  • 基本的にアプリケーションから利用されるので、ActiveRecordの問題も解決する。(ActiveRecord と MySQL両面から)

MySQLの問題を解決する

おすすめ機能

@i_rethi dimSTATから見るベンチマーク

dimSTATとは何か

性能測定結果

  • CentOS6.6 MySQL5.6.26と5.7.8 RC1で測定
    • innodb_page_size=4Kにすると性能が上がっている。(default16K)
      • ただし、環境によっては変更しても上がるとは限らない。
    • xfsとext4ではxfsの方が性能がよい。
      • ext4は複数thread 単一ファイルに弱い。単一thread 単一ファイルは変わらない。
        • ext4はmutex lockが起こりやすい。
        • Flame graphsでIO状況を可視化できます。

@kazeburo PHPとMySQLの怖い話、メルカリのデータベース戦略

mercariさんでの利用状況

  • JPではクラウド+専用サーバ(Private LAN)
    • ioMemoryでMySQL構築
  • USではAWS
    • RDSを利用(将来的には辞めたい模様)
  • MySQLは5.6系を利用
  • データベースをテーブル毎に分割してスケールアウトさせる。
    • テーブルごとに別サーバに保存。別サーバ化する対象は以下のようなテーブル。
      • 大きなテーブル
      • トランザクションに無関係なテーブル
  • MySQL以外のデータベース・ミドルウェアを利用
    • memcached
    • Redis
    • Treasure Data
    • BigQuery
    • Norikra
    • MySQL 5.7
    • Mackerel

ログ解析と監視

  • ログはfluentdで収集してTreasureDataやMackrelに投げる
  • ログから監視はfluentdで収集してNorikraで解析してSlackなどに通知。
  • ログの敷居値アラートはMackerelを利用する。

分析DB

  • Multi-Source Replication
    • 3つのマスターからReplicationをして分析データベースを作成する。
  • Triggerでマスクする
    • MD5によるマスクをかける。(一意性も担保できる)

PHPとMySQLの怖い話

  • commit()が例外を出さない
    • 原因
      • あくまでもERRORなので例外ではないと判断されるため。
    • 対処
      • ERRORが出力された場合、Exceptionにラップする。
      • commit()の前にquery("SELECT 1")をするとよい。
  • ★Empty row packet body(ここがいまいち理解できませんでした・・・)
    • 対処
      • unbuffered queryを利用しない。
      • net_write_timeoutを伸ばす。
  • PHPは怖くない!!!(らしい...)

@RKajiyama さてMySQL 5.7.8がGAではなくまさかのRC2であることが発覚したわけですが、ここでMySQL人柱の会の会員様向けの新ネタを見てみましょう。

とりあえず人柱募集とのこと

MySQL[今後|最近]の新機能

  • mysql"p"ump
  • MySQL Group Replication
  • MySQL JSON
    • http://variable.jp
    • データ型とネイティブ関数は違うものなので注意。
  • New Data Dictionary
    • すべてInnodb化する。
  • http plugin
    • httpの中にSQLを書ける
  • MySQL Connector
  • Haddop applier
  • Binlog Events(旧Binlog Library)
    • libmysqlstream
    • libmysqlevents
  • Group Replication
  • Binlog Events
  • Proxy & Fabric
  • (ひっそり)Timezoneファイル
15
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
14