Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
私は如何にして私は如何にして
詳解詳解 MySQL 5.7MySQL 5.7 をを
執筆するに至ったか執筆するに至ったか
奥野 幹也
Twitter: @nippondanji
mikiya (dot) okuno (at) gmail (do...
免責事項
本プレゼンテーションにおいて示されている見解は、私
自身の見解であって、オラクル・コーポレーションの見
解を必ずしも反映したものではありません。ご了承くだ
さい。
自己紹介
●
MySQL サポートエンジニア
– 日々のしごと
● トラブルシューティング全般
●
Q&A 回答
● パフォーマンスチューニング
など
● ライフワーク
– 自由なソフトウェアの普及
● オープンソースではない
●
GPL 万歳...
おかげさまで
新書籍発売と
相成りました。
ありがとうございます!
詳解 MySQL 5.7
止まらぬ進化に乗り遅れないためのテクニカルガイド
●
MySQL 5.7 の新機能を網羅的に解説
– 175 の新機能
– WorkLog/Bug Id つき
– コンセプト、仕組み、使い方
●
新機能の理解に必要な前...
MySQL 5.7 の
新機能概要
MySQL 5.7 の数多くの新機能
●
実に 150 以上もの新機能が追加された!!
– MySQL 5.7 の新機能完全リスト
https://yakst.com/ja/posts/3037
– yoku0825++
●
レプリケーション関...
レプリケーションの新機能
● マルチスレッドスレーブの改良
●
マルチソースレプリケーション
● 準同期レプリケーションの改良
– ロスレスレプリケーション
– パフォーマンスの改善
– ACK を返すスレーブ数の指定
●
GTID の改良
–...
オプティマイザの新機能
●
EXPLAIN for CONNECTION
●
JSON EXPLAIN
●
コストモデル
– JOIN の順序選択
– 統計情報の正確性
– コストの係数のユーザーによる設定
●
GROUP BY
●
FROM ...
InnoDB の新機能
● 一般テーブルスペース
●
テンポラリテーブルの InnoDB 化
●
バッファプールのオンラインリサイズ
●
UNDO ログの自動トランケート
●
32/64KB ページのサポート
●
REDO ログフォーマットの改...
InnoDB の新機能 つづき
● 全文検索用プラガブルパーサーのサポート
– ngram あるいは MeCab による日本語の全文検索
● 全文検索の最適化
● 空間インデックスのサポート
●
透過的テーブル圧縮
●
透過的テーブルスペース暗...
InnoDB の新機能
性能改善系
● テンポラリテーブルのための最適化
●
RO トランザクションの性能改善
●
RW トランザクションの性能改善
– index­>lock の競合改善( SX ロック)
●
リードビュー作成の性能改善
●
...
セキュリティ関係の新機能
● パスワード期限の設定
●
ユーザーのロック、アンロック
●
SET PASSWORD コマンドの仕様変更
●
CREATE USER … IF NOT EXISTS
●
ログイン不可能なユーザーアカウント
●
SS...
その他の新機能
●
JSON データ型のサポート
● 生成カラム
●
X DevAPI
● トリガーが同一種類のものを複数定義できるようになった
●
sys スキーマが標準で同梱されるようになった
●
パーティショニングされたテーブルの改良
●...
なんか・・・
多すぎね・・・?
新機能が多いのはいいけれども・・・
● 素晴らしい新機能の面々!!
– MySQL 5.6 からの正常進化
– 有用な機能多数
– まさに宝の山!!
● 多すぎる色々と問題あるよね
– 多すぎて全体像が把握できない
● 宝の持ち腐れでは・・・
...
どげんかせんと
いかん・・・・・!!
使いこなせるか
不安なら
解説書を書けば
いいじゃない!!
新機能解説書なんて
売れるのか・・・?
● 企画としての不安はあったけれども、ユーザーにとって必要
なものだと思った。
●
普段から付き合いのある G 社某氏に相談
– あれ・・・
– 目が曇った・・・
– やっぱり、ダメかも。
● 坂井さんに...
ページ数、多いですね。
● 最初に書いた数章で多くなり過ぎないよう釘を刺される。
– 余談:鍵本は当初800ページありました・・・w
– 新機能が多いんだから仕方がないでしょ!!
– と思いつつもスリムな書籍に仕上げなければ・・・
●
多くなり...
新機能が分かるって
どういうこと?
● マーケティングトークは核心に触れていない!!
●
仕組みが分かる
– そもそものアーキテクチャの理解
– どんな課題があったのか
– どこがどう変わったのか
● 使い方が分かる
– 使いどころ
– 具体的...
本書の構成
●
第 1 章: MySQL の概要
– MySQL の紹介
– 過去のバージョンにおける機能追加の歴史
●
以降の章はカテゴリごとの新機能の紹介
– 第 2 章:レプリケーション
– 第 3 章:オプティマイザ
– 第 4 章: ...
各章の構成
● 冒頭部分で新機能を理解するための前提知識を詳解
– 基本的なコンセプト
– アーキテクチャ
– 使い方の詳解など
●
各章のテーマに沿った新機能を詳解
– 新機能が何の課題を解決したかを具体的に解説
– 新機能にひとつひとつ番号...
難しい、あるいは分かりづらい
ポイントもついでに解説
●
第 3 章:オプティマイザ
– MySQL の JOIN のアルゴリズム
– オプティマイザトレース
●
第 4 章: InnoDB
– 教科書的なアーキテクチャ
– 特徴的なアーキテク...
巻末付録: WorkLog/Bug
● 徹底的に詳細を知りたい貴方へ・・・
Q&Aご静聴ありがとうございました。
Prochain SlideShare
Chargement dans…5
×

私は如何にして詳解 MySQL 5.7を執筆するに至ったか

詳解MySQL 5.7 出版記念交流会で使用したスライドです。

  • Identifiez-vous pour voir les commentaires

私は如何にして詳解 MySQL 5.7を執筆するに至ったか

  1. 1. 私は如何にして私は如何にして 詳解詳解 MySQL 5.7MySQL 5.7 をを 執筆するに至ったか執筆するに至ったか 奥野 幹也 Twitter: @nippondanji mikiya (dot) okuno (at) gmail (dot) com @ 詳解 MySQL 5.7  出版記念交流会
  2. 2. 免責事項 本プレゼンテーションにおいて示されている見解は、私 自身の見解であって、オラクル・コーポレーションの見 解を必ずしも反映したものではありません。ご了承くだ さい。
  3. 3. 自己紹介 ● MySQL サポートエンジニア – 日々のしごと ● トラブルシューティング全般 ● Q&A 回答 ● パフォーマンスチューニング など ● ライフワーク – 自由なソフトウェアの普及 ● オープンソースではない ● GPL 万歳!! – 最近はまってる趣味はリカンベント(自転車) ● ブログ – 漢のコンピュータ道 – http://nippondanji.blogspot.com/
  4. 4. おかげさまで 新書籍発売と 相成りました。 ありがとうございます!
  5. 5. 詳解 MySQL 5.7 止まらぬ進化に乗り遅れないためのテクニカルガイド ● MySQL 5.7 の新機能を網羅的に解説 – 175 の新機能 – WorkLog/Bug Id つき – コンセプト、仕組み、使い方 ● 新機能の理解に必要な前提知識 – 古いバージョンでも適用可能 – アーキテクチャを理解することで 本物の理解を
  6. 6. MySQL 5.7 の 新機能概要
  7. 7. MySQL 5.7 の数多くの新機能 ● 実に 150 以上もの新機能が追加された!! – MySQL 5.7 の新機能完全リスト https://yakst.com/ja/posts/3037 – yoku0825++ ● レプリケーション関連 ● InnoDB 関連 ● オプティマイザー関連 ● セキュリティ関連 ● パフォーマンススキーマ関連 ● GIS 関連 ● JSON 関連 etc etc...
  8. 8. レプリケーションの新機能 ● マルチスレッドスレーブの改良 ● マルチソースレプリケーション ● 準同期レプリケーションの改良 – ロスレスレプリケーション – パフォーマンスの改善 – ACK を返すスレーブ数の指定 ● GTID の改良 – スレーブでの管理が効率化 – 再起動時の GTID 計算方法が効率化 ● オンライン操作の拡充 – GTID 有効化 – CHAMGE MASTER の一部 – レプリケーションフィルター
  9. 9. オプティマイザの新機能 ● EXPLAIN for CONNECTION ● JSON EXPLAIN ● コストモデル – JOIN の順序選択 – 統計情報の正確性 – コストの係数のユーザーによる設定 ● GROUP BY ● FROM 句のサブクエリ ● IN サブクエリ ● UNION ALL ● ソート ● テンポラリテーブル
  10. 10. InnoDB の新機能 ● 一般テーブルスペース ● テンポラリテーブルの InnoDB 化 ● バッファプールのオンラインリサイズ ● UNDO ログの自動トランケート ● 32/64KB ページのサポート ● REDO ログフォーマットの改善 ● バッファプールをダンプする割合の指定 ● ページ統合におけるページ充填率の指定 ● コピーしない ALTER TABLE 操作の増加
  11. 11. InnoDB の新機能 つづき ● 全文検索用プラガブルパーサーのサポート – ngram あるいは MeCab による日本語の全文検索 ● 全文検索の最適化 ● 空間インデックスのサポート ● 透過的テーブル圧縮 ● 透過的テーブルスペース暗号化 ● ダブルライトが不要なとき自動的に無効化 ● NUMA サポートの追加 ● InnoDB モニターの有効化方法変更 ● 情報スキーマの改良 ● デフォルト行フォーマットの指定
  12. 12. InnoDB の新機能 性能改善系 ● テンポラリテーブルのための最適化 ● RO トランザクションの性能改善 ● RW トランザクションの性能改善 – index­>lock の競合改善( SX ロック) ● リードビュー作成の性能改善 ● trx_t のキャッシュ効率改善 ● AHI のミューテックス競合改善 ● ページクリーナーのマルチスレッド化 ● フラッシュアルゴリズムの改善 ● クラッシュリカバリの性能改善 ● ログファイル書き込みの性能改善 ● インデックス作成の高速化 etc
  13. 13. セキュリティ関係の新機能 ● パスワード期限の設定 ● ユーザーのロック、アンロック ● SET PASSWORD コマンドの仕様変更 ● CREATE USER … IF NOT EXISTS ● ログイン不可能なユーザーアカウント ● SSL のセットアップが容易に – キーファイルの自動生成 – mysql_ssl_rsa_setup ● 透過的テーブルスペース暗号化 ● デフォルトの状態がセキュアに – test データベースの廃止 – 匿名ユーザーの廃止 – localhost 以外の root の廃止
  14. 14. その他の新機能 ● JSON データ型のサポート ● 生成カラム ● X DevAPI ● トリガーが同一種類のものを複数定義できるようになった ● sys スキーマが標準で同梱されるようになった ● パーティショニングされたテーブルの改良 ● クライアント系コマンドの改良 ● STRICT モードと IGNORE のリファクタリング ● いくつかのシステムテーブルが InnoDB に変更 etc etc
  15. 15. なんか・・・ 多すぎね・・・?
  16. 16. 新機能が多いのはいいけれども・・・ ● 素晴らしい新機能の面々!! – MySQL 5.6 からの正常進化 – 有用な機能多数 – まさに宝の山!! ● 多すぎる色々と問題あるよね – 多すぎて全体像が把握できない ● 宝の持ち腐れでは・・・ – マーケティングトークにはいいけれども・・・ ● 製品はマーケティングのためのものではない!! – みんな使いこなせるのか? ● 製品は使いこなせてナンボ!!
  17. 17. どげんかせんと いかん・・・・・!!
  18. 18. 使いこなせるか 不安なら 解説書を書けば いいじゃない!!
  19. 19. 新機能解説書なんて 売れるのか・・・? ● 企画としての不安はあったけれども、ユーザーにとって必要 なものだと思った。 ● 普段から付き合いのある G 社某氏に相談 – あれ・・・ – 目が曇った・・・ – やっぱり、ダメかも。 ● 坂井さんに愚痴る – 翔泳社さんを紹介される。 – 紹介から詳解へ至る。
  20. 20. ページ数、多いですね。 ● 最初に書いた数章で多くなり過ぎないよう釘を刺される。 – 余談:鍵本は当初800ページありました・・・w – 新機能が多いんだから仕方がないでしょ!! – と思いつつもスリムな書籍に仕上げなければ・・・ ● 多くなり過ぎないよう意識した内容に。 – 基本的なコンセプトが理解できる。 ● 必要があればアーキテクチャの説明も。 – 新機能の効果が分かる。 – 使い方、使いどころが分かる。 – さらなる詳細は WorkLog で。
  21. 21. 新機能が分かるって どういうこと? ● マーケティングトークは核心に触れていない!! ● 仕組みが分かる – そもそものアーキテクチャの理解 – どんな課題があったのか – どこがどう変わったのか ● 使い方が分かる – 使いどころ – 具体的な使い方 – セットアップ手順など
  22. 22. 本書の構成 ● 第 1 章: MySQL の概要 – MySQL の紹介 – 過去のバージョンにおける機能追加の歴史 ● 以降の章はカテゴリごとの新機能の紹介 – 第 2 章:レプリケーション – 第 3 章:オプティマイザ – 第 4 章: InnoDB – 第 5 章:パフォーマンススキーマと sys スキーマ – 第 6 章: JSON データ型 – 第 7 章:パーティショニング – 第 8 章:セキュリティ – 第 9 章:クライアント&プロトコル – 第 10 章:その他
  23. 23. 各章の構成 ● 冒頭部分で新機能を理解するための前提知識を詳解 – 基本的なコンセプト – アーキテクチャ – 使い方の詳解など ● 各章のテーマに沿った新機能を詳解 – 新機能が何の課題を解決したかを具体的に解説 – 新機能にひとつひとつ番号を追加 ● ディスカッションするときのリファレンスとして
  24. 24. 難しい、あるいは分かりづらい ポイントもついでに解説 ● 第 3 章:オプティマイザ – MySQL の JOIN のアルゴリズム – オプティマイザトレース ● 第 4 章: InnoDB – 教科書的なアーキテクチャ – 特徴的なアーキテクチャ ● 第 5 章:パフォーマンススキーマと sys スキーマ – パフォーマンススキーマの基本的な使い方 ● 第 8 章:セキュリティ – 権限システムの概要 – プロキシーユーザー
  25. 25. 巻末付録: WorkLog/Bug ● 徹底的に詳細を知りたい貴方へ・・・
  26. 26. Q&Aご静聴ありがとうございました。

×