Submit Search
MySQLアーキテクチャ図解講座
50 likes
•
27,330 views
Mikiya Okuno
第1回Database Lounge Tokyoで発表したスライドです。ゆるふわにMySQLのアーキテクチャを解説しました。
Software
Read more
1 of 34
Download now
Downloaded 141 times
1
2
3
4
5
Most read
6
7
8
9
Most read
10
11
12
13
14
Most read
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
More Related Content
PDF
MongoDB WiredTiger Internals
Norberto Leite
PDF
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
PDF
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
PPTX
Sql server のバックアップとリストアの基礎
Masayuki Ozawa
PDF
Graphic Notes on Linear Algebra and Data Science
Kenji Hiranabe
PPTX
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
NTT DATA Technology & Innovation
PDF
The InnoDB Storage Engine for MySQL
Morgan Tocker
PDF
Vacuum徹底解説
Masahiko Sawada
MongoDB WiredTiger Internals
Norberto Leite
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
Sql server のバックアップとリストアの基礎
Masayuki Ozawa
Graphic Notes on Linear Algebra and Data Science
Kenji Hiranabe
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
NTT DATA Technology & Innovation
The InnoDB Storage Engine for MySQL
Morgan Tocker
Vacuum徹底解説
Masahiko Sawada
What's hot
(20)
PDF
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
PDF
PostgreSQL 15の新機能を徹底解説
Masahiko Sawada
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
PDF
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
NTT DATA Technology & Innovation
PDF
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
PPTX
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
PDF
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
PDF
そんなトランザクションマネージャで大丈夫か?
takezoe
PDF
Where狙いのキー、order by狙いのキー
yoku0825
PDF
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
PDF
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
NTT DATA Technology & Innovation
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
PDF
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
PDF
データベース設計徹底指南
Mikiya Okuno
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
PPTX
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
PDF
今さらだけどMySQLとライセンス
Hidenori Ishii
PDF
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
PPTX
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
PostgreSQL 15の新機能を徹底解説
Masahiko Sawada
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
トランザクション処理可能な分散DB 「YugabyteDB」入門(Open Source Conference 2022 Online/Fukuoka 発...
NTT DATA Technology & Innovation
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
そんなトランザクションマネージャで大丈夫か?
takezoe
Where狙いのキー、order by狙いのキー
yoku0825
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
NTT DATA Technology & Innovation
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
データベース設計徹底指南
Mikiya Okuno
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
今さらだけどMySQLとライセンス
Hidenori Ishii
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
Ad
Similar to MySQLアーキテクチャ図解講座
(20)
PDF
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
Mikiya Okuno
PDF
私は如何にして詳解 MySQL 5.7を執筆するに至ったか
Mikiya Okuno
PDF
リレーショナルデータベースとの上手な付き合い方
Mikiya Okuno
PDF
Database qpstudy-okuno
Mikiya Okuno
PDF
RDBにおけるバリデーションをリレーショナルモデルから考える
Mikiya Okuno
PDF
人類は如何にして大切な データベースを守るべきか
Mikiya Okuno
PDF
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
Mikiya Okuno
PDF
なぜ、いまリレーショナルモデルなのか
Mikiya Okuno
PDF
MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~
yoyamasaki
PDF
SQL+NoSQL!? それならMySQL Clusterでしょ。
yoyamasaki
PDF
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
Mikiya Okuno
PDF
とあるギークのキーボード遍歴
Mikiya Okuno
PDF
MySQLとオープンソースビジネスの10年、そして未来へ
Open Source Software Association of Japan
PDF
@keny_lalaのMySQL道普請
Kentaro Kitagawa
PDF
MySQL Workbench 6.1 の紹介
yoyamasaki
PPTX
テストの視点からのモデリング(公開用) #wacate
Kinji Akemine
PDF
アジャイルにモデリングは必要か
Hiromasa Oka
PDF
リレーショナルデータベースとの上手な付き合い方 long version
Mikiya Okuno
PDF
What's New in MySQL 5.7 InnoDB
Mikiya Okuno
PDF
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
Akihiro Kuwano
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
Mikiya Okuno
私は如何にして詳解 MySQL 5.7を執筆するに至ったか
Mikiya Okuno
リレーショナルデータベースとの上手な付き合い方
Mikiya Okuno
Database qpstudy-okuno
Mikiya Okuno
RDBにおけるバリデーションをリレーショナルモデルから考える
Mikiya Okuno
人類は如何にして大切な データベースを守るべきか
Mikiya Okuno
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
Mikiya Okuno
なぜ、いまリレーショナルモデルなのか
Mikiya Okuno
MySQLをGUIで触ろう!! ~MySQL Workbenchのご紹介~
yoyamasaki
SQL+NoSQL!? それならMySQL Clusterでしょ。
yoyamasaki
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
Mikiya Okuno
とあるギークのキーボード遍歴
Mikiya Okuno
MySQLとオープンソースビジネスの10年、そして未来へ
Open Source Software Association of Japan
@keny_lalaのMySQL道普請
Kentaro Kitagawa
MySQL Workbench 6.1 の紹介
yoyamasaki
テストの視点からのモデリング(公開用) #wacate
Kinji Akemine
アジャイルにモデリングは必要か
Hiromasa Oka
リレーショナルデータベースとの上手な付き合い方 long version
Mikiya Okuno
What's New in MySQL 5.7 InnoDB
Mikiya Okuno
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
Akihiro Kuwano
Ad
More from Mikiya Okuno
(16)
PDF
サポート一筋24+年のエンジニア、サポートのイロハは E4500に教わった。 Sun Microsystems 勉強会〜1994年頃から2000年頃の思い...
Mikiya Okuno
PDF
MySQL Cluster 新機能解説 7.5 and beyond
Mikiya Okuno
PDF
MySQL 5.7 トラブルシューティング 性能解析入門編
Mikiya Okuno
PDF
What's New in MySQL 5.7 Security
Mikiya Okuno
PDF
What's New in MySQL 5.7 Replication
Mikiya Okuno
PDF
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
Mikiya Okuno
PDF
リレーショナルな正しいデータベース設計
Mikiya Okuno
PDF
あなたが知らない リレーショナルモデル
Mikiya Okuno
PDF
MySQLトラブル解析入門
Mikiya Okuno
PDF
Mysql toranomaki
Mikiya Okuno
ODP
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
Mikiya Okuno
PDF
Rdbms qpstudy-okuno
Mikiya Okuno
PDF
MySQL 5.6新機能解説@dbtechshowcase2012
Mikiya Okuno
PDF
Database smells
Mikiya Okuno
PDF
MySQL日本語利用徹底入門
Mikiya Okuno
ODP
Performance Schema @ MySQL Casual #2
Mikiya Okuno
サポート一筋24+年のエンジニア、サポートのイロハは E4500に教わった。 Sun Microsystems 勉強会〜1994年頃から2000年頃の思い...
Mikiya Okuno
MySQL Cluster 新機能解説 7.5 and beyond
Mikiya Okuno
MySQL 5.7 トラブルシューティング 性能解析入門編
Mikiya Okuno
What's New in MySQL 5.7 Security
Mikiya Okuno
What's New in MySQL 5.7 Replication
Mikiya Okuno
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
Mikiya Okuno
リレーショナルな正しいデータベース設計
Mikiya Okuno
あなたが知らない リレーショナルモデル
Mikiya Okuno
MySQLトラブル解析入門
Mikiya Okuno
Mysql toranomaki
Mikiya Okuno
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
Mikiya Okuno
Rdbms qpstudy-okuno
Mikiya Okuno
MySQL 5.6新機能解説@dbtechshowcase2012
Mikiya Okuno
Database smells
Mikiya Okuno
MySQL日本語利用徹底入門
Mikiya Okuno
Performance Schema @ MySQL Casual #2
Mikiya Okuno
MySQLアーキテクチャ図解講座
1.
MySQLMySQL アーキテクチャアーキテクチャ 図解講座図解講座 奥野 幹也 Twitter:
@nippondanji mikiya (dot) okuno (at) gmail (dot) com @Database Lounge Tokyo #1
2.
免責事項 本プレゼンテーションにおいて示されている見解は、私 自身の見解であって、オラクル・コーポレーションの見 解を必ずしも反映したものではありません。ご了承くだ さい。
3.
自己紹介 ● MySQL サポートエンジニア – 日々のしごと ●
トラブルシューティング全般 ● Q&A 回答 ● パフォーマンスチューニング など ● ライフワーク – 自由なソフトウェアの普及 ● オープンソースではない ● GPL 万歳!! – 最近はまってる趣味はリカンベント(自転車) ● ブログ – 漢のコンピュータ道 – http://nippondanji.blogspot.com/
4.
MySQL 5.7 の アーキテクチャ概要
5.
MySQL のアーキテクチャ 概略図
6.
ストレージエンジンとは ● データの格納と取り出しを担当 – トランザクション管理 ●
行アクセスの排他制御 ● クラッシュリカバリ – 統計情報の管理 ● テーブル ● インデックス – 低レベルの行アクセス API ● 先頭からのスキャン ● 任意のポジションの行を取得 ● キーによる検索 ● インデックススキャン etc
7.
ストレージエンジンによる テーブルスキャンの例 ha_tina::store_lock ha_tina::external_lock ha_tina::info ha_tina::rnd_init ha_tina::extra - ENUM
HA_EXTRA_CACHE Cache record in HA_rrnd() ha_tina::rnd_next ha_tina::rnd_next ha_tina::rnd_next ha_tina::rnd_next ha_tina::rnd_next ha_tina::rnd_next ha_tina::rnd_next ha_tina::rnd_next ha_tina::rnd_next ha_tina::extra - ENUM HA_EXTRA_NO_CACHE End caching of records (def) ha_tina::external_lock ha_tina::extra - ENUM HA_EXTRA_RESET Reset database to after open
8.
オプティマイザ
9.
クエリ実行の流れ ● GNU Bison
によるパーサー ● コストベースオプティマイザ – コスト係数を調整可能 – ストレージエンジンから 統計情報を取得 ● 行アクセスやトランザクション管 理はストレージエンジンまかせ
10.
Nested Loop Join SELECT
… FROM t1 INNER JOIN t2 ON … WHERE … for each row in t1 matching where condition { for each row in t2 matching join and where condition { send joined row to client } }
11.
Block Nested Loop
Join
12.
MySQL が利用する文字コード
13.
InnoDB
14.
教科書通りのトランザクション 対応データストア InnoDB ログバッファ InnoDB ログファイル InnoDB バッファプール InnoDB テーブルスペース
15.
クラスターインデックス
16.
InnoDB の分離レベル 分離レベル 分離性
ダーティー リード インコンシス テントリード ロストアップ デート ファントム READ- UNCOMMITTED 低 ○ ○ ○ ○ READ- COMMITTED × ○ ○ ○ REPEATABLE- READ × × ○ × SERIALIZABLE 高 × × × × ● InnoDB の RR ではファントムは起きない!! – ただしロッキングリードとノンロッキングリードに注意
17.
ネクストキーロック ● ロッキングリードにおいて ファントムを防ぐ仕組み ● 行と行の間の仮想的な 空間にロックをかける ● INSERT をブロック!!
18.
UNDO ログと MVCC
19.
UNDO ログトランケート UNDO ログ空き領域 UNDO
ログ使用中の領域 innodb_max_ undo_log_size INACTIVE 初期サイズ = 10MB INACTIVE にして 空になるまで待つ。 その間は他の UNDO ログファイルで凌ぐ。 UNDO ログ ファイルを初期化 UNDO ログファイルの サイズがしきい値を超えた
20.
圧縮テーブル ● innodb_file_format =
Barracuda ● CREATE TABLE tblname (…) ENGINE = InnoDB ROW_FORMAT = COMPRESSED KEY_BLOCK_SIZE=4; バッファプールが 二重に消費される。 オーバーヘッド大。
21.
透過的テーブル圧縮 CREATE TABLE tblname (…)
ENGINE = InnoDB COMPRESSION = lz4;
22.
透過的テーブルスペース 暗号化の仕組み
23.
レプリケーション
24.
レプリケーションの概要
25.
準同期レプリケーション
26.
バイナリログの グループコミット
27.
スレーブ上で並列化可能な トランザクション
28.
マルチスレッドスレーブ LOGICAL_CLOCK モード
29.
パフォーマンス スキーマ
30.
パフォーマンススキーマ vs 情報スキーマ パフォーマンススキーマ 情報スキーマ 主目的
パフォーマンスデータの取得 メタデータの取得 アプリケーション パフォーマンスチューニング 監視ツールや管理ツール 導入されたバージョン 5.5 5.1 SQL 標準? いいえ はい 実装方法 ストレージエンジンのひとつ 情報スキーマ API データ収集のタイミング mysqld 内部で任意のタイミ ングでコード実行時 情報スキーマテーブルアクセ ス時 通常時のオーバーヘッド あり なし 表示によるオーバーヘッド 少ない 大きい 類似のツール DTrace, SystemTap SHOW コマンド
31.
計器( Instrument )
32.
コンシューマー ● 計器をグループ化 ● パフォーマンスデータを保 存するメモリ領域
33.
宣伝: 新書籍「詳解 MySQL
5.7 」 ● MySQL 5.7 の新機能を網羅 – 175 もの新機能を解説 – 新機能の理解に欠かせ ないアーキテクチャの話 も盛りだくさん – 本日解説しなかった新 機能も詳しく解説!! ● 8 月 23 日発売予定
34.
Q&Aご静聴ありがとうございました。
Download