ヤフーのRDBと最新のMySQLの検証結果#yjdsw3

111 Views

December 16, 15

スライド概要

http://yahoo-ds-event.connpass.com/event/22017/

profile-image

2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

ヤフーのRDBと 最新のMySQLの検証結果 ヤフー株式会社 三谷 智史

2.

自己紹介 • 三谷 智史(@mita2) • 所属 DBMS技術 RDB専門部隊 13名 • DB Administration 黒帯 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2

3.

Agenda • ヤフーはどんなRDB使ってるの? • MySQL新バージョン検証してみました Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 3

4.

ヤフーはどんなRDB使ってるの? Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 4

5.

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

6.

MySQL 新バージョン 検証してみました Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 6

7.

MySQL 5.7 • 10/21 にリリースされた新バージョン • 2年半ぶりの大規模リリース 日本語の全文検索 JSON型のサポート 並列レプリケーション Query Rewrite Plugin データロストのない レプリケーション バッファプール オンライン拡張 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 7

8.

Query Rewrite Plugin Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 8

9.

どういうとき使うの? このクエリこうやれば爆速だ ヽ(*´∀`)ノ キャッホーイ!! DB管理者 このクエリ、こうなおしてください DB管理者 ORMが自動生成したクエリなので直せないです (意訳:メンドイ) ショボーン(´・ω・`) 開発者 DB管理者 DB側で書き換えちゃうもんね!(`・ω・´)シャキーン DB管理者 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 9

10.

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

11.

バッファプールのオンライン拡張 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 11

12.

バッファープールの役割 • データをキャッシュしておくメモリ上の領域 • 不十分だとパフォーマンスが劣化する • サイズ変更にはDB再起動が必要 Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 12

13.

画期的なこと ×できない ×できない ○できます Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 13

14.

変更方法 • 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

15.

サイズ変更の単位 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

16.

注意 • リサイズが完了するまでクエリがブロックされる ブロックされた秒数(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

17.

まとめ Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 17

18.

まとめ ヤフーは RDB も ヘビーユーザーです MySQL 5.7 期待できそうです ぜひ、懇親会で声かけてください ※ ヤフーDBチーム ステッカー差し上げます(枚数限定) Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 18

19.

Thank you Copyright (C) 2015 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 19