Enviar búsqueda
Cargar
WiredTigerを詳しく説明
•
Descargar como PPTX, PDF
•
1 recomendación
•
9,332 vistas
Tetsutaro Watanabe
Seguir
MongoDBのストレージエンジンであるWiredTigerについて詳しく説明します
Leer menos
Leer más
Ingeniería
Denunciar
Compartir
Denunciar
Compartir
1 de 24
Descargar ahora
Recomendados
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Tetsutaro Watanabe
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
Recomendados
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Tetsutaro Watanabe
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
ichirin2501
MongoDBの監視
MongoDBの監視
Tetsutaro Watanabe
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
Mongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
Spring Cloud Data Flow の紹介 #streamctjp
Spring Cloud Data Flow の紹介 #streamctjp
Yahoo!デベロッパーネットワーク
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法
Kumazaki Hiroki
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
Recruit Technologies
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
hamaken
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
Amazon Web Services Japan
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
MongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキスト
Akihiro Kuwano
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
Spannerに関する技術メモ
Spannerに関する技術メモ
Etsuji Nakai
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット
Akihiro Suda
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分け
Tetsutaro Watanabe
Más contenido relacionado
La actualidad más candente
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
ichirin2501
MongoDBの監視
MongoDBの監視
Tetsutaro Watanabe
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
Masahito Zembutsu
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Yuki Morishita
Mongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
Spring Cloud Data Flow の紹介 #streamctjp
Spring Cloud Data Flow の紹介 #streamctjp
Yahoo!デベロッパーネットワーク
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法
Kumazaki Hiroki
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
Recruit Technologies
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
hamaken
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
Amazon Web Services Japan
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
MongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキスト
Akihiro Kuwano
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Yoshinori Nakanishi
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
Spannerに関する技術メモ
Spannerに関する技術メモ
Etsuji Nakai
La actualidad más candente
(20)
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
MongoDBの監視
MongoDBの監視
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
Mongo dbを知ろう
Mongo dbを知ろう
Spring Cloud Data Flow の紹介 #streamctjp
Spring Cloud Data Flow の紹介 #streamctjp
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
MongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキスト
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Spannerに関する技術メモ
Spannerに関する技術メモ
Similar a WiredTigerを詳しく説明
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット
Akihiro Suda
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分け
Tetsutaro Watanabe
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
Takahiro Inoue
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
terurou
10大ニュースで振り返るpg con2013
10大ニュースで振り返るpg con2013
NTT DATA OSS Professional Services
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
Tokoroten Nakayama
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
NTT DATA Technology & Innovation
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
Kaz Aiso
後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜
Masakazu Matsushita
レガシーな Perl システムに DDD (ドメイン駆動設計)を取り入れる
レガシーな Perl システムに DDD (ドメイン駆動設計)を取り入れる
sairoutine
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
infinite_loop
ownCloud のあれこれ July Tech Festa 2016
ownCloud のあれこれ July Tech Festa 2016
Tetsurou Yano
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
Insight Technology, Inc.
不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について
Yasunori Goto
OpenStack Congress Deep Dive
OpenStack Congress Deep Dive
masahito12
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn
私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
Introduction to MongoDB
Introduction to MongoDB
moai kids
Similar a WiredTigerを詳しく説明
(20)
高速にコンテナを起動できるイメージフォーマット
高速にコンテナを起動できるイメージフォーマット
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分け
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
10大ニュースで振り返るpg con2013
10大ニュースで振り返るpg con2013
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜
レガシーな Perl システムに DDD (ドメイン駆動設計)を取り入れる
レガシーな Perl システムに DDD (ドメイン駆動設計)を取り入れる
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
ownCloud のあれこれ July Tech Festa 2016
ownCloud のあれこれ July Tech Festa 2016
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について
OpenStack Congress Deep Dive
OpenStack Congress Deep Dive
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
私とOSSの25年
私とOSSの25年
Introduction to MongoDB
Introduction to MongoDB
Más de Tetsutaro Watanabe
データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
Tetsutaro Watanabe
MLOpsはバズワード
MLOpsはバズワード
Tetsutaro Watanabe
ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出
Tetsutaro Watanabe
IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点
Tetsutaro Watanabe
ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出
Tetsutaro Watanabe
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
Tetsutaro Watanabe
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例
Tetsutaro Watanabe
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
Tetsutaro Watanabe
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
Tetsutaro Watanabe
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
Tetsutaro Watanabe
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
Tetsutaro Watanabe
ビッグデータ処理データベースの全体像と使い分け 2018年version
ビッグデータ処理データベースの全体像と使い分け 2018年version
Tetsutaro Watanabe
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
Tetsutaro Watanabe
巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム
Tetsutaro Watanabe
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
Tetsutaro Watanabe
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
Tetsutaro Watanabe
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
Tetsutaro Watanabe
MongoDB3.2の紹介
MongoDB3.2の紹介
Tetsutaro Watanabe
MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!
Tetsutaro Watanabe
Más de Tetsutaro Watanabe
(19)
データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
MLOpsはバズワード
MLOpsはバズワード
ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出
IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点
ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
ビッグデータ処理データベースの全体像と使い分け 2018年version
ビッグデータ処理データベースの全体像と使い分け 2018年version
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
MongoDB3.2の紹介
MongoDB3.2の紹介
MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!
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
Descargar ahora