Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Tetsutaro Watanabe
PPTX, PDF
10,021 views
WiredTigerを詳しく説明
MongoDBのストレージエンジンであるWiredTigerについて詳しく説明します
Engineering
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Downloaded 39 times
1
/ 24
2
/ 24
3
/ 24
4
/ 24
Most read
5
/ 24
6
/ 24
7
/ 24
Most read
8
/ 24
9
/ 24
10
/ 24
11
/ 24
12
/ 24
13
/ 24
14
/ 24
15
/ 24
16
/ 24
17
/ 24
18
/ 24
Most read
19
/ 24
20
/ 24
21
/ 24
22
/ 24
23
/ 24
24
/ 24
More Related Content
PDF
Vacuum徹底解説
by
Masahiko Sawada
PPTX
MongoDBが遅いときの切り分け方法
by
Tetsutaro Watanabe
PDF
Docker Compose 徹底解説
by
Masahito Zembutsu
PPTX
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
by
NTT DATA Technology & Innovation
PDF
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PDF
PostgreSQLの運用・監視にまつわるエトセトラ
by
NTT DATA OSS Professional Services
PPTX
iostat await svctm の 見かた、考え方
by
歩 柴田
PDF
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
by
NTT DATA Technology & Innovation
Vacuum徹底解説
by
Masahiko Sawada
MongoDBが遅いときの切り分け方法
by
Tetsutaro Watanabe
Docker Compose 徹底解説
by
Masahito Zembutsu
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
by
NTT DATA Technology & Innovation
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PostgreSQLの運用・監視にまつわるエトセトラ
by
NTT DATA OSS Professional Services
iostat await svctm の 見かた、考え方
by
歩 柴田
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
by
NTT DATA Technology & Innovation
What's hot
PPTX
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
PDF
あなたの知らないPostgreSQL監視の世界
by
Yoshinori Nakanishi
PPTX
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
by
Miki Shimogai
PPTX
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
by
NTT DATA Technology & Innovation
PPTX
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PPTX
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
PPTX
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
by
NTT DATA Technology & Innovation
PPTX
MongoDBの監視
by
Tetsutaro Watanabe
PDF
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
by
NTT DATA Technology & Innovation
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
PDF
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
by
Uptime Technologies LLC (JP)
PDF
コンテナにおけるパフォーマンス調査でハマった話
by
Yuta Shimada
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
PDF
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
by
Google Cloud Platform - Japan
PDF
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
by
NTT DATA Technology & Innovation
PDF
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
by
Takahiro YAMADA
PDF
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
by
onozaty
PPTX
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
PPTX
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
by
NTT DATA Technology & Innovation
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
あなたの知らないPostgreSQL監視の世界
by
Yoshinori Nakanishi
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
by
Miki Shimogai
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
by
NTT DATA Technology & Innovation
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
by
NTT DATA Technology & Innovation
MongoDBの監視
by
Tetsutaro Watanabe
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
by
NTT DATA Technology & Innovation
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
by
Koichiro Matsuoka
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
by
Uptime Technologies LLC (JP)
コンテナにおけるパフォーマンス調査でハマった話
by
Yuta Shimada
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
by
Google Cloud Platform - Japan
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
by
NTT DATA Technology & Innovation
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
by
Takahiro YAMADA
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
by
onozaty
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
by
NTT DATA Technology & Innovation
Similar to WiredTigerを詳しく説明
PPTX
MongoDB3.2の紹介
by
Tetsutaro Watanabe
PPT
MongoDB
by
あしたのオープンソース研究所
PDF
はじめてのMongoDB
by
Keisuke Izumiya
PPT
Mongodb
by
Satoru Mikami
PDF
DB tech showcase: 噂のMongoDBその用途は?
by
Hiroaki Kubota
PDF
WiredTigerストレージエンジン楽しい
by
Akihiro Kuwano
PPTX
Mongo dbを知ろう
by
CROOZ, inc.
PDF
MongoDB勉強会資料
by
Hiromune Shishido
PDF
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
by
Masakazu Matsushita
PDF
CasualなMongoDBのサービス運用Tips
by
Naoki Sega
PDF
Mongodb 紹介
by
Ryo Matsumura
PDF
Introduction to MongoDB
by
moai kids
PDF
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
by
Akihiro Kuwano
PDF
MongoDBざっくり解説
by
知教 本間
PDF
ソーシャルゲームにおけるAWS/MongoDB利用事例
by
Masakazu Matsushita
PDF
MongoDB社の製品紹介 2019-MongoDB EA&Atlas
by
昌桓 李
PDF
20120831 mongoid
by
Takeshi AKIMA
PPTX
がっつりMongoDB事例紹介
by
Tetsutaro Watanabe
PPTX
日本語:Mongo dbに於けるシャーディングについて
by
ippei_suzuki
PPT
Mongoざっくり紹介
by
masakazuyamanaka
MongoDB3.2の紹介
by
Tetsutaro Watanabe
MongoDB
by
あしたのオープンソース研究所
はじめてのMongoDB
by
Keisuke Izumiya
Mongodb
by
Satoru Mikami
DB tech showcase: 噂のMongoDBその用途は?
by
Hiroaki Kubota
WiredTigerストレージエンジン楽しい
by
Akihiro Kuwano
Mongo dbを知ろう
by
CROOZ, inc.
MongoDB勉強会資料
by
Hiromune Shishido
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
by
Masakazu Matsushita
CasualなMongoDBのサービス運用Tips
by
Naoki Sega
Mongodb 紹介
by
Ryo Matsumura
Introduction to MongoDB
by
moai kids
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
by
Akihiro Kuwano
MongoDBざっくり解説
by
知教 本間
ソーシャルゲームにおけるAWS/MongoDB利用事例
by
Masakazu Matsushita
MongoDB社の製品紹介 2019-MongoDB EA&Atlas
by
昌桓 李
20120831 mongoid
by
Takeshi AKIMA
がっつりMongoDB事例紹介
by
Tetsutaro Watanabe
日本語:Mongo dbに於けるシャーディングについて
by
ippei_suzuki
Mongoざっくり紹介
by
masakazuyamanaka
More from Tetsutaro Watanabe
PPTX
データサイエンティスト向け性能問題対応の基礎
by
Tetsutaro Watanabe
PPTX
MLOpsはバズワード
by
Tetsutaro Watanabe
PPTX
ドライブレコーダの動画を使った道路情報の自動差分抽出
by
Tetsutaro Watanabe
PPTX
IoTデバイスデータ収集の難しい点
by
Tetsutaro Watanabe
PPTX
ドライブレコーダの画像認識による道路情報の自動差分抽出
by
Tetsutaro Watanabe
PPTX
先駆者に学ぶ MLOpsの実際
by
Tetsutaro Watanabe
PPTX
データ収集の基本と「JapanTaxi」アプリにおける実践例
by
Tetsutaro Watanabe
PPTX
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
by
Tetsutaro Watanabe
PPTX
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
by
Tetsutaro Watanabe
PPTX
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
by
Tetsutaro Watanabe
PPTX
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
by
Tetsutaro Watanabe
PPTX
ビッグデータ処理データベースの全体像と使い分け 2018年version
by
Tetsutaro Watanabe
PPTX
Google Cloud Next '18 Recap/報告会 機械学習関連
by
Tetsutaro Watanabe
PPTX
巨大なサービスと膨大なデータを支えるプラットフォーム
by
Tetsutaro Watanabe
PPTX
リクルートを支える横断データ基盤と機械学習の適用事例
by
Tetsutaro Watanabe
PPTX
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
by
Tetsutaro Watanabe
PPTX
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
by
Tetsutaro Watanabe
PPTX
ビックデータ処理技術の全体像とリクルートでの使い分け
by
Tetsutaro Watanabe
PPTX
MongoDB World 2014に行ってきた!
by
Tetsutaro Watanabe
データサイエンティスト向け性能問題対応の基礎
by
Tetsutaro Watanabe
MLOpsはバズワード
by
Tetsutaro Watanabe
ドライブレコーダの動画を使った道路情報の自動差分抽出
by
Tetsutaro Watanabe
IoTデバイスデータ収集の難しい点
by
Tetsutaro Watanabe
ドライブレコーダの画像認識による道路情報の自動差分抽出
by
Tetsutaro Watanabe
先駆者に学ぶ MLOpsの実際
by
Tetsutaro Watanabe
データ収集の基本と「JapanTaxi」アプリにおける実践例
by
Tetsutaro Watanabe
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
by
Tetsutaro Watanabe
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
by
Tetsutaro Watanabe
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
by
Tetsutaro Watanabe
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
by
Tetsutaro Watanabe
ビッグデータ処理データベースの全体像と使い分け 2018年version
by
Tetsutaro Watanabe
Google Cloud Next '18 Recap/報告会 機械学習関連
by
Tetsutaro Watanabe
巨大なサービスと膨大なデータを支えるプラットフォーム
by
Tetsutaro Watanabe
リクルートを支える横断データ基盤と機械学習の適用事例
by
Tetsutaro Watanabe
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
by
Tetsutaro Watanabe
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
by
Tetsutaro Watanabe
ビックデータ処理技術の全体像とリクルートでの使い分け
by
Tetsutaro Watanabe
MongoDB World 2014に行ってきた!
by
Tetsutaro Watanabe
WiredTigerを詳しく説明
1.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved WiredTigerを詳しく説明 2017/09/13 MongoDB勉強会 in 2017 コンサルタント 渡部 徹太郎 1
2.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved 自己紹介 2 {"ID" :"fetaro" "名前":"渡部 徹太郎" "研究":"東京工業大学でデータベースと情報検索の研究 (@日本データベース学会)" "仕事":{前職:["証券会社のオンライントレードシステムのWeb基盤", "オープンソースなら何でも。主にMongoDB,NoSQL"], 現職:["大手Web企業の横断分析基盤,Exadata,Hortonworks,EMR"] 副業:["MongoDBコンサルタント" ]} "エディタ":"emacs派", "趣味": ["自宅サーバ","麻雀"] }
3.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved • 「WiredTiger」をしっていますか? 3
4.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved OS ファイルシステム WiredTigerとは • MongoDBの心臓部! – MongoDBのストレージエンジン – データの読み書きを担当 – C言語で書かれたOSSを MongoDB,Incが買収して組み込んだ • MongoDBの単体性能 ≒WiredTigerの性能 4 アプリケーション MongoDBドライバ mongodプロセス WiredTiger ジャーナル WiredTiger データ WiredTiger インデックス ストレージエンジン WiredTiger ストレージAPI クエリエンジン WiredTigerの担当部分 ディスク メモリ Mongoクエリ BSONと インデックスの 読み書き キャッシュ ファイルIO
5.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved WiredTigerの登場前はMMAPv1 • MongoDB 2.6まではストレージエンジンはMMAPv1だった – MMAPv1は手抜きのストレージ • MonvoDB 3.0からはWiredTigerを導入 – ほぼ全ての側面でWiredTigerが優れている(読み込み性能以外) 5 WiredTiger MMAPv1 MongoDB 2.6 ー ✔デフォルト MongoDB 3.0 (オプション) ✔デフォルト MongoDB 3.2 ✔デフォルト (オプション) MongoDB 3.4 ✔デフォルト (オプション)
6.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved WiredTiger と MMAPv1 の違い 6 WiredTiger MMAPv1 概要 特徴 データ永続化に特化 OS提供機能でシンプルに実 装 アーキテクチャ MVCC (更新は全て追記) データファイルそのものを 更新 性能 書き込み性能 ◯ ドキュメント単位ロックで高 速 ✕ コレクション単位ロックで 低速(※) 読み込み性能 ◯追記型なのでやや複雑 ◎シンプルなので速い メモリ制限 ◯可能 ✕不可能 (OSが割り当てるだけ使う) ファイル システム データ圧縮 ◯可能 ✕不可能 インデックス圧縮 ◯可能 ✕不可能 データファイルのフラグ メンテーション ◯最小限 △ドキュメントの肥大化に より発生 データとインデックスの 分離 ◯可能 ✕不可能 耐障害性 ジャーナル無しでクラッ シュしたとき ◯追記型なので壊れない ✕ドキュメントが壊れる (リペアが必要) (※)2.6以前はデータベース単位ロック
7.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved これから • これからWiredTigerの動作の詳細を説明しますが、 いきなりWiredTigerの説明は難しいので、 まずはシンプルなMMAP v1 から 7
8.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved MMAPv1の動き • 起動時 – mongodは、OSに対して、 データベースファイルをメモリにmapするように依頼する – システムコールmmap()を実行 – 起動直後はメモリは空 8 doc1 doc3index doc2 ディスク メモリ mongodプロセス OSが管理 ブロック データベースファイル mmap( )
9.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved MMAPv1の動き • doc1を読む – mongodは、OSに対して、ブロックの取得を依頼 – OSは、メモリ上にないので、ディスクから読む(=遅い) • ページフォルト発生 • doc1と関連するindexのブロックだけが読み込まれる 9 doc1 doc3index doc2 ディスク メモリ doc1 mongodプロセス index
10.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved MMAPv1の動き • doc1をもう一度読む – mogodは、OSに対して、ブロックの取得を依頼 – OSは、メモリにあるので、メモリから返す応答する(=速い) 10 doc1 doc3index doc2 ディスク メモリ doc1 mongodプロセス index
11.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved MMAPv1の動き • doc2を読む – indexはメモリにあるが、doc2はメモリにないので、ディスク から読む(遅い) 11 doc1 doc3index doc2 ディスク メモリ doc1 mongodプロセス doc2index
12.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved MMAPv1の動き • doc3を読む – doc3はメモリにないので、ディスクから読む – 空きがないので、最もアクセス頻度の低いブロックを追い出す(ス ワップアウト) 12 doc1 doc3index doc2 ディスク メモリ mongodプロセス index doc3
13.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved MMAPv1の動き • doc1を更新(ジャーナル無し) – mongodは、OSに対して、コレクション単位のロックを依頼して更新 – 他のスレッドからの書き込みは待たされる(=遅くなる) – メモリ上にindexとdoc1があればメモリ上で更新は完結。なければIO発生 – 非同期でディスクに書き戻し(60秒に一回) • クラッシュすると最悪60秒間ロストする&データベースファイルが破損する 13 doc1 doc3index doc2 ディスク メモリmongodプロセス doc2index' スレッド スレッド 書き込みを待たされる2.ロック・ doc1とindexを更 新 × 1.アプリからクエリ4.アプリに返却 ロック開放 5.60秒に1回ディスクに書き戻し fsync() doc1'
14.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved MMAPv1の動き • doc1を更新(ジャーナル有り) – ジャーナルファイルに更新内容を記載 • クラッシュしても100ms以内の変更は保持 • クラッシュしてもデータ破損自動修復 14 doc1 doc3index doc2 ディスク メモリmongodプロセス doc2 スレッド 2.ロックを取得 更新内容を追記 ジャーナル ジャーナル 5.100msに1回flash (j:trueなら即時) 4.アプリに返却 ロックを開放 1.アプリからクエリ 3. doc1とindexを 更新 6.60秒に1回ディス クに書き戻し doc1'index'
15.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved mongodプロセス WiredTigerキャッシュ WiredTigerの動き • 起動直後 – WiredTigerキャッシュは空 15 doc1 doc 3index ディスク メモリ doc2 Readスレッド Writeスレッド dirtyページ cleanページ on diskページ root
16.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved mongodプロセス WiredTigerキャッシュ WiredTigerの動き • doc1を読む – ツリーが形成される – ツリーのリーフはディスクのページ毎に読み込まれている – indexとdocが含まれるページがキャッシュにのる 16 doc1 doc 3index ディスク メモリ doc2 Readスレッド Writeスレッド doc1index root dirtyページ cleanページ on diskページ
17.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved mongodプロセス WiredTigerキャッシュ WiredTigerの動き • doc2やdoc3を読む – キャッシュにのる 17 doc1 doc 3index ディスク メモリ doc2 Readスレッド Writeスレッド doc1index root doc 3 doc2 dirtyページ cleanページ on diskページ
18.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved mongodプロセス WiredTigerキャッシュ WiredTigerの動き • tx1でdoc1をdoc1'に更新 – ここでトランザクションtx1でdoc1をdoc1'に更新しようとする – それとは別に、メモリ上のジャーナルに更新内容を書き込む 18 doc1 doc 3index ディスク メモリ doc2 Readスレッド Writeスレッド doc1index root doc 3 doc2 doc1’ root(tx1) dirtyページ cleanページ on diskページ tx1 tx1 tdoc1→doc1' ジャーナル ジャーナル doc1→doc1' ※説明を簡単にするため、 indexの更新は図から省略 50ms毎にディスクに Snappyで圧縮されて永続化さ
19.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved mongodプロセス WiredTigerキャッシュ WiredTigerの動き • tx2でdoc1を読む – tx1が終わる前に、doc1の読み込みトランザクションtx2が動き出すと、 tx2には古いドキュメントが見える 19 doc1 doc 3index ディスク メモリ doc2 Readスレッド Writeスレッド doc1index root doc 3 doc2 doc1’ root(tx1) dirtyページ cleanページ on diskページ tx1 tx2 tx2 tx1 tdoc1→doc1' doc1→doc1' ジャーナル
20.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved mongodプロセス WiredTigerキャッシュ WiredTigerの動き • tx3がdoc1を読む – tx1がcommitした後に、tx3がdoc1を読みに行くと、 新しいdoc1' が見える 20 doc1 doc 3index ディスク メモリ doc2 Readスレッド Writeスレッド doc1index root doc 3 doc2 doc1’ root(tx1) dirtyページ cleanページ on diskページ tx3 tx2 tx1 tx3 t doc1→doc1' ジャーナル
21.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved mongodプロセス WiredTigerキャッシュ WiredTigerの動き • チェックポイント開始 – 前回のチェックポイントから60秒経過するか、ジャーナルが2GBを超えると、 チェックポイントになる – Evictionスレッドがcleanなページとdirtyなページをマージしてディスクへ書き込む 21 doc1' doc 3index ディスク メモリ doc2 Readスレッド Writeスレッド doc1index root doc 3 doc2 Evictionスレッド doc1’ root(tx1) dirtyページ cleanページ on diskページ doc1→doc1' ジャーナル
22.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved mongodプロセス WiredTigerキャッシュ WiredTigerの動き • チェックポイント終了 – チェックポイントが終わると、古いツリーは消されて、 キャッシュとディスクが同期する – ジャーナルは空になる 22 doc1' doc 3index ディスク メモリ doc2 Readスレッド Writeスレッド index doc 3 doc2 doc1’ root(tx1) dirtyページ cleanページ on diskページ ジャーナル (空)
23.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved まとめ • WiredTigerはMongoDBの心臓部 • 古い手抜きのMMAPv1から大幅に進化 • ロックを発生させないMVCCを採用 23
24.
Copyright ⓒ2017 CREATIONLINE,
INC. All Rights Reserved 参考にした資料 • ちょっと古い公式説明資料。だいたい同じスライド – http://www.slideshare.net/mongodb/mongo-db- wiredtigerwebinar?ref=https%3A%2F%2Fwww.mongodb.co m%2Fpresentations%2Fwebinar-a-technical-introduction-to- wiredtiger – http://www.slideshare.net/NorbertoLeite/mongodb- wiredtiger-internals – https://scs.hosted.panopto.com/Panopto/Pages/Viewer.aspx ?id=9a55027f-2b6c-48f4-86f6-73cc167619d0 • 新しい公式セミナ。WiredTigerで使っている様々な工夫を詳細に 説明している。 – https://www.mongodb.com/presentations/mongodb-europe- 2017-building-wiredtiger • ブログ。WiredTigerのstatの見方や、パフォーマンスチューニング について解説している – http://www.developer.com/db/tips-for-mongodb-wiredtiger- performance-tuning.html 24
Download