110 Views
December 16, 15
スライド概要
http://yahoo-ds-event.connpass.com/event/22017/
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
ヤフーのRDBと 最新のMySQLの検証結果 ヤフー株式会社 三谷 智史
自己紹介 • 三谷 智史(@mita2) • 所属 DBMS技術 RDB専門部隊 13名 • DB Administration 黒帯 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2
Agenda • ヤフーはどんなRDB使ってるの? • MySQL新バージョン検証してみました Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 3
ヤフーはどんなRDB使ってるの? Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 4
Yahoo! JAPANのRDB環境 Oracle 11g MySQL, Percona • 11g RAC Enterprise Edition • MySQL5.1, Percona 5.5, Percona 5.6 • 約200DB • 約450DB • 広告、ヤフオク、Yahoo!ショッピ • Yahoo!天気、Yahoo!スポーツ、 ング、Yahoo!トラベル、Yahoo! Yahoo!知恵袋、Yahoo!ブログ ニュース etc etc
MySQL 新バージョン 検証してみました Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 6
MySQL 5.7 • 10/21 にリリースされた新バージョン • 2年半ぶりの大規模リリース 日本語の全文検索 JSON型のサポート 並列レプリケーション Query Rewrite Plugin データロストのない レプリケーション バッファプール オンライン拡張 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 7
Query Rewrite Plugin Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 8
どういうとき使うの? このクエリこうやれば爆速だ ヽ(*´∀`)ノ キャッホーイ!! DB管理者 このクエリ、こうなおしてください DB管理者 ORMが自動生成したクエリなので直せないです (意訳:メンドイ) ショボーン(´・ω・`) 開発者 DB管理者 DB側で書き換えちゃうもんね!(`・ω・´)シャキーン DB管理者 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 9
Query Rewrite Plugin 例 mysql> SELECT id FROM t1; +------+ | id | +------+ | 1 | | 2 | | 3 | +------+ rulesテーブル に設定を INSERT mysql> INSERT INTO query_rewrite.rewrite_rules (pattern, pattern_database, ~ +------------------+------------------+--------------------------+---------+ | pattern | pattern_database | replacement | message | +------------------+------------------+--------------------------+---------| | SELECT * FROM t1 | d1 | SELECT * FROM t1 LIMIT 1 | NULL | +------------------+------------------+--------------------------+---------| mysql> SELECT * FROM t1; +------+ | id | +------+ | 1 | +------+ Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 10
バッファプールのオンライン拡張 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 11
バッファープールの役割 • データをキャッシュしておくメモリ上の領域 • 不十分だとパフォーマンスが劣化する • サイズ変更にはDB再起動が必要 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 12
画期的なこと ×できない ×できない ○できます Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 13
変更方法 • SET するだけ mysql> SET GLOBAL innodb_buffer_pool_size = 1048576000; Query OK, 0 rows affected (0.00 sec) Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 14
サイズ変更の単位 innodb_buffer_pool_instances=4 chunk_size=128MB 1G 128 MB 128 MB 1G 128 MB 128 MB 1G 128 MB 1G 128 MB Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 15
注意 • リサイズが完了するまでクエリがブロックされる ブロックされた秒数(chunk=128MB) 2.5 2 2 1.5 1 1 0.5 0 0.4 4GB→8GB 4GB→15GB Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 4GB→25GB 16
まとめ Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 17
まとめ ヤフーは RDB も ヘビーユーザーです MySQL 5.7 期待できそうです ぜひ、懇親会で声かけてください ※ ヤフーDBチーム ステッカー差し上げます(枚数限定) Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 18
Thank you Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 19