Submit Search
Upload
MongoDB勉強会資料
•
7 likes
•
2,833 views
Hiromune Shishido
Follow
第二回MongoDB勉強会の発表資料です
Read less
Read more
Report
Share
Report
Share
1 of 29
Download now
Download to read offline
Recommended
MongoDBとAjaxで作る解析フロントエンド&GraphDBを用いたソーシャルデータ解析
MongoDBとAjaxで作る解析フロントエンド&GraphDBを用いたソーシャルデータ解析
Takahiro Inoue
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
Masakazu Matsushita
Mongo Tokyo 2012で発表した資料。 Animal LandでMongoDBを利用する際に考慮した点などなど。
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
MMAPv1, WiredTigerについても詳細に説明しています
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
Takahiro Inoue
はじめてのMongoDB
はじめてのMongoDB
Keisuke Izumiya
社内勉強会での発表資料です
ソーシャルゲームログ解析基盤のMongoDB活用事例
ソーシャルゲームログ解析基盤のMongoDB活用事例
知教 本間
【エンジニアカフェEvent×gumiStudy】ソーシャルゲームの解析を支える技術-MongoDB編- https://www.facebook.com/event.php?eid=295541553794432 の発表資料です。
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
JustSystems Corporation
JJUG CCC 2018 Spring での発表資料です。 #jjug_ccc #ccc_c4
MongoDBざっくり解説
MongoDBざっくり解説
知教 本間
2011-12-07 MongoDB女子部startup発表資料
Recommended
MongoDBとAjaxで作る解析フロントエンド&GraphDBを用いたソーシャルデータ解析
MongoDBとAjaxで作る解析フロントエンド&GraphDBを用いたソーシャルデータ解析
Takahiro Inoue
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
Masakazu Matsushita
Mongo Tokyo 2012で発表した資料。 Animal LandでMongoDBを利用する際に考慮した点などなど。
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
MMAPv1, WiredTigerについても詳細に説明しています
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
Takahiro Inoue
はじめてのMongoDB
はじめてのMongoDB
Keisuke Izumiya
社内勉強会での発表資料です
ソーシャルゲームログ解析基盤のMongoDB活用事例
ソーシャルゲームログ解析基盤のMongoDB活用事例
知教 本間
【エンジニアカフェEvent×gumiStudy】ソーシャルゲームの解析を支える技術-MongoDB編- https://www.facebook.com/event.php?eid=295541553794432 の発表資料です。
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
JustSystems Corporation
JJUG CCC 2018 Spring での発表資料です。 #jjug_ccc #ccc_c4
MongoDBざっくり解説
MongoDBざっくり解説
知教 本間
2011-12-07 MongoDB女子部startup発表資料
AmebaのMongoDB活用事例
AmebaのMongoDB活用事例
Akihiro Kuwano
Cassandra v0.6-siryou
Cassandra v0.6-siryou
あしたのオープンソース研究所
あしたのオープンソース研究所 2010年4月27日開催 Cassandra (0.6) 座談会 発表者 永江さん 提供 インフォサイエンス
後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜
Masakazu Matsushita
BPStudy 71回で発表した、MongoDBのアプリ寄りの使い方の話。
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db
Yuji Isobe
Fluentd+elasticsearch+kibana(fluentd編)
Fluentd+elasticsearch+kibana(fluentd編)
Daisuke Kikuchi
社内勉強会で発表した内容です。 ログの収集、分析、可視化までを行なう、 「Fluentd」 「Elasticsearch」 「Kibana」の組み合わせのうち、 今回は「Fluentd」について発表を行いました。 ログの収集方法から、出力先までを柔軟にカスタマイズできるオープンソース・ソフトウェアです。
MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎
Naruhiko Ogasawara
OSC2014 Kansai@Kyoto で発表したスライドです。著名なNoSQLの一つであるMongoDBについて、ドキュメント指向データベース、パフォーマンスとインデックス、レプリカセット、オートシャーディングといった特徴を取り上げ、教科書的な基礎を紹介しました。
カジュアルにソースコードリーディング
カジュアルにソースコードリーディング
Akihiro Okuno
20120706 MongoDB Casual Talks
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
2014年2月7日、OSS推進フォーラム クラウド技術部会にて発表したMongoDBの入門プレゼンです。
Mongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
MongoDB
MongoDB
あしたのオープンソース研究所
あしたのオープンソース研究所 2011年6月7日開催 mongoDB 座談会 発表者 永江さん 提供 インフォサイエンス
Mongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみた
htty_hasumi
MongoDB
MongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasual
Yasuhiro Matsuo
This presentation tells about how to use Multi-AZ with Replica Set.
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
ippei_suzuki
MongoDBのシャーディング機能についての解説
Mongodb 紹介
Mongodb 紹介
Ryo Matsumura
ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例
Masakazu Matsushita
QCon Tokyo 2012で発表した資料。 AWSやMongoDBの利用のポイントなど。
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化する
Kensuke Maeda
NetApp Clustered DATA ONTAPのsysstatコマンドを Fluentd+ElasticSearch+kibanaを利用して可視化してみました。
Mongodb
Mongodb
Satoru Mikami
MongoDB 勉強会
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
Shoken Fujisaki
丸の内MongoDB勉強会 #4で@fetarodcさんが発表した「MongoDB全設定値解説」のスライドです。https://github.com/syokenz/marunouchi-mongodb/tree/master/20121106/fetarodc
MyNA JPUG study 20160220-postgresql-json-datatype
MyNA JPUG study 20160220-postgresql-json-datatype
Toshi Harada
MyNA JPUG study 20160220-postgresql-json-datatype
コンテキストデータの永続化のための戦略
コンテキストデータの永続化のための戦略
fisuda
コンテキストデータの永続化のための戦略
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
Akihiro Kuwano
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
新卒入社3年目のエンジニア集団。それぞれが広告関連システム、ビデオ関連サービス、地図関連サービスの開発に関わる傍ら、Node.js、MongoDB、HTML5を組み合わせたブラウザ上で動作する社内用メッセンジャーツールを開発や、WebSocketを使った実験的地図サービスの開発をおこなっている。これらを実験場として、ブラウザの最新仕様やNode.jsのノウハウをヤフー社内に普及・啓蒙中。
More Related Content
What's hot
AmebaのMongoDB活用事例
AmebaのMongoDB活用事例
Akihiro Kuwano
Cassandra v0.6-siryou
Cassandra v0.6-siryou
あしたのオープンソース研究所
あしたのオープンソース研究所 2010年4月27日開催 Cassandra (0.6) 座談会 発表者 永江さん 提供 インフォサイエンス
後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜
Masakazu Matsushita
BPStudy 71回で発表した、MongoDBのアプリ寄りの使い方の話。
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db
Yuji Isobe
Fluentd+elasticsearch+kibana(fluentd編)
Fluentd+elasticsearch+kibana(fluentd編)
Daisuke Kikuchi
社内勉強会で発表した内容です。 ログの収集、分析、可視化までを行なう、 「Fluentd」 「Elasticsearch」 「Kibana」の組み合わせのうち、 今回は「Fluentd」について発表を行いました。 ログの収集方法から、出力先までを柔軟にカスタマイズできるオープンソース・ソフトウェアです。
MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎
Naruhiko Ogasawara
OSC2014 Kansai@Kyoto で発表したスライドです。著名なNoSQLの一つであるMongoDBについて、ドキュメント指向データベース、パフォーマンスとインデックス、レプリカセット、オートシャーディングといった特徴を取り上げ、教科書的な基礎を紹介しました。
カジュアルにソースコードリーディング
カジュアルにソースコードリーディング
Akihiro Okuno
20120706 MongoDB Casual Talks
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
2014年2月7日、OSS推進フォーラム クラウド技術部会にて発表したMongoDBの入門プレゼンです。
Mongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
MongoDB
MongoDB
あしたのオープンソース研究所
あしたのオープンソース研究所 2011年6月7日開催 mongoDB 座談会 発表者 永江さん 提供 インフォサイエンス
Mongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみた
htty_hasumi
MongoDB
MongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasual
Yasuhiro Matsuo
This presentation tells about how to use Multi-AZ with Replica Set.
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
ippei_suzuki
MongoDBのシャーディング機能についての解説
Mongodb 紹介
Mongodb 紹介
Ryo Matsumura
ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例
Masakazu Matsushita
QCon Tokyo 2012で発表した資料。 AWSやMongoDBの利用のポイントなど。
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化する
Kensuke Maeda
NetApp Clustered DATA ONTAPのsysstatコマンドを Fluentd+ElasticSearch+kibanaを利用して可視化してみました。
Mongodb
Mongodb
Satoru Mikami
MongoDB 勉強会
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
Shoken Fujisaki
丸の内MongoDB勉強会 #4で@fetarodcさんが発表した「MongoDB全設定値解説」のスライドです。https://github.com/syokenz/marunouchi-mongodb/tree/master/20121106/fetarodc
MyNA JPUG study 20160220-postgresql-json-datatype
MyNA JPUG study 20160220-postgresql-json-datatype
Toshi Harada
MyNA JPUG study 20160220-postgresql-json-datatype
コンテキストデータの永続化のための戦略
コンテキストデータの永続化のための戦略
fisuda
コンテキストデータの永続化のための戦略
What's hot
(20)
AmebaのMongoDB活用事例
AmebaのMongoDB活用事例
Cassandra v0.6-siryou
Cassandra v0.6-siryou
後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db
Fluentd+elasticsearch+kibana(fluentd編)
Fluentd+elasticsearch+kibana(fluentd編)
MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎
カジュアルにソースコードリーディング
カジュアルにソースコードリーディング
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Mongo dbを知ろう
Mongo dbを知ろう
MongoDB
MongoDB
Mongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみた
MongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasual
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
Mongodb 紹介
Mongodb 紹介
ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化する
Mongodb
Mongodb
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
MyNA JPUG study 20160220-postgresql-json-datatype
MyNA JPUG study 20160220-postgresql-json-datatype
コンテキストデータの永続化のための戦略
コンテキストデータの永続化のための戦略
Similar to MongoDB勉強会資料
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
Akihiro Kuwano
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
新卒入社3年目のエンジニア集団。それぞれが広告関連システム、ビデオ関連サービス、地図関連サービスの開発に関わる傍ら、Node.js、MongoDB、HTML5を組み合わせたブラウザ上で動作する社内用メッセンジャーツールを開発や、WebSocketを使った実験的地図サービスの開発をおこなっている。これらを実験場として、ブラウザの最新仕様やNode.jsのノウハウをヤフー社内に普及・啓蒙中。
既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~
じゅん なかざ
社内にfluentd導入時の調査内容メモ 最後のmongodbの説明は完全に蛇足感w
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
じゅん なかざ
NoSQLを触ってみたいPHP開発者向けに、資料を作ってみました。 沖縄PHP&MySQL勉強会 | イベントアテンド [ATND] でイベント作成・チケット販売・参加者の出欠管理 http://atnd.org/event/E0008436
Mongo db world 2018
Mongo db world 2018
Creationline,inc.
mongoDBWorld2018 keynote Recap
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
Ryosuke IWANAGA
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?
Hiroaki Kubota
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステム
Hitoshi Asai
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Chihiro Ito
日本Javaユーザーグループ JJUG ナイトセミナー 2 月 27 日(水) http://www.java-users.jp/?p=309 注:サンプルソースはあくまでも例であり、その修正例も完全なものではありません。
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
griddb
「オープンソースカンファレンス 2017 Tokyo/Spring(2017年3月10日,11日講演資料)」 オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
Developers Summit
Osc2012.dbに行ってきました
Osc2012.dbに行ってきました
Masaru Kobashigawa
Firefoxの開発プロセス
Firefoxの開発プロセス
Makoto Kato
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
初心者向けにMongoDBの基本を解説しています。 この資料は2014/3/1のOSC 2014 Tokyo/Springで発表しました 。 2015/3/3最新の情報で一部アップデートしました。 2015/7/15MongoDB ver3.0ようにちょっと修正しました。
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
GoAzure
A-2-1 Git/WebMatrix 2 から使う Node.js on Windows Azure Japan Windows Azure User Group 森島 政人
TypeScriptへの入口
TypeScriptへの入口
Sunao Tomita
2012/12/15 JAZUG女子部ぷれぜんつBuild祭り でのTypeScriptの話
Sc2009autumn s2robot
Sc2009autumn s2robot
Shinsuke Sugaya
Introduction to MongoDB
Introduction to MongoDB
moai kids
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
genroku
code4lib japan 2020ライトニングトーク資料
Similar to MongoDB勉強会資料
(20)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~
PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
Mongo db world 2018
Mongo db world 2018
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステム
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
Osc2012.dbに行ってきました
Osc2012.dbに行ってきました
Firefoxの開発プロセス
Firefoxの開発プロセス
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
TypeScriptへの入口
TypeScriptへの入口
Sc2009autumn s2robot
Sc2009autumn s2robot
Introduction to MongoDB
Introduction to MongoDB
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
MongoDB勉強会資料
1.
Tachy with MongoDB
株式会社サイバーエージェント アメーバ事業本部 宍戸展志
2.
MongoDB勉強会 第二回 MongoDB勉強会 • 自己紹介
• 宍戸展志(ししど ひろむね) 25歳 • Twitter @joe_hrmn • 所属 • 株式会社 サイバーエージェント • Tachy(プレリリース中)担当 アプリケーションエンジニア • その他 • サッカー大好き • Piggに似てる 2
3.
MongoDB勉強会 第二回 MongoDB勉強会 アジェンダ • Tachyについて •
システム構成 • MongoDBの使いどころ • 苦労した話 • これから 3
4.
MongoDB勉強会 第二回 MongoDB勉強会 Tachy • 実名制SNS
• タイムライン形式で情報を表示 • ひとこと、写真投稿、予定機能 etc • 『閲覧権限』の設定あり • 使っている技術要素 • MongoDB » Morphia http://code.google.com/p/morphia/ • MySQL • ActiveMQ ( 5.3.2 ) 4
5.
MongoDB勉強会 第二回 MongoDB勉強会
5
6.
MongoDB勉強会 第二回 MongoDB勉強会
\(^o^)/ / 6
7.
MongoDB勉強会 第二回 MongoDB勉強会
を使った理由 MongoDBを使った理由 • 使ってみたかった • 社内ではpicoで利用実績あり • データ分散の処理は大変 • データアクセスが高速(と聞いて) • 自動でfailover • ドキュメント形式の柔軟性 7
8.
MongoDB勉強会 第二回 MongoDB勉強会 システム構成
【Web App】 】 【ActiveMQ】 】 【mongoDB】 】 】 【MySQL】 8
9.
MongoDB勉強会 第二回 MongoDB勉強会 MongoDB • Ver
1.6.5 • ReplicaSet + Sharding webApp MQ API • JavaDriver 【client】 • 2.4 • morphia mongoc mongos • 0.99 mongod mongod mongod 9
10.
MongoDB勉強会 第二回 MongoDB勉強会 Collections • Entry •
Timeline • Room Etc… 10
11.
MongoDB勉強会 第二回 MongoDB勉強会 Entry
11
12.
MongoDB勉強会 第二回 MongoDB勉強会 operation@Entry • 発言の取得
– db.Entry.find({entryId : 123, deleteFlag:0}); • コメントの取得 – db.Entry.find({replyEntryId:1234, deleteFlag:0}).sort({registDate:-1}); • データのinsert(1件ずつ) • 削除(→deleteFlagのupdate) 12
13.
MongoDB勉強会 第二回 MongoDB勉強会 Timeline
13
14.
MongoDB勉強会 第二回 MongoDB勉強会 operation@Timeline • ユーザーのタイムラインの取得
– db.Timeline.find({userId:1, registDate > xxx}); →この部分には複合indexを定義 db.Timeline.ensureIndex({userId:1, registDate:-1}); • Insert(1件ずつ) – 1Entryに対して、100人に配る場合は100回ループを回す形 – 後々ボトルネックになるので変更 14
15.
MongoDB勉強会 第二回 MongoDB勉強会 Room
Embedオブジェクトとして Listを内部に保持 Ex) db.Room.findOne({members:26}); 15
16.
MongoDB勉強会 第二回 MongoDB勉強会 >
db.Room.findOne({roomId:603}); { "_id" : ObjectId("4d9e772074978c29974fba92"), "roomId" : NumberLong(603), "userId" : NumberLong(238), "text" : "限定ヒトコト(グループ5)", "registDate" : "Fri Apr 08 2011 11:46:56 GMT+0900 (JST)", "editDate" : "Fri Apr 08 2011 11:46:56 GMT+0900 (JST)", "emaFlag" : 0, "deleteFlag" : 0, "members" : [ NumberLong(239), NumberLong(274), NumberLong(238) ] } 16
17.
MongoDB勉強会 第二回 MongoDB勉強会 operation@Room • Room情報の取得
– db.Room.find({roomId:123}); • Roomに含まれているか – db.Room.find({members:123}); • Insert – 1件ずつ • Update – メンバーの追加 17
18.
MongoDB勉強会 第二回 MongoDB勉強会 テストしてみました • 環境
– App (Apache / Tomcat) • Intel(R) Xeon(R) CPU X3430 @ 2.40GHz (4core) • 12G RAM – MongoDB • Xfs • Intel(R) Xeon(R) CPU X3430 @ 2.40GHz (4core) • 16G RAM – ActiveMQ • Intel(R) Xeon(R) CPU L5410 @ 2.33GHz (4core) • 12G RAM 18
19.
MongoDB勉強会 第二回 MongoDB勉強会 タイムラインの作成が重い・・・ • 変遷
– timelineDao.save(timeline, WriteConcern.SAFE); – 1件ずつinsert » Reciever側の負荷が高騰 19
20.
MongoDB勉強会 第二回 MongoDB勉強会 タイムラインの作成が重い・・・ • 変遷
– timelineDao.save(timeline, WriteConcern.SAFE); – 1件ずつinsert » Reciever側の負荷が高騰 – timelineDao.getCollection().insert(timelineList, WriteConcern.SAFE); – Bulk insertに変更 » Thread dumpなどで見ているとまだ詰まってる 20
21.
MongoDB勉強会 第二回 MongoDB勉強会 タイムラインの作成が重い・・・ • 変遷
– timelineDao.save(timeline, WriteConcern.SAFE); – 1件ずつinsert » Reciever側の負荷が高騰 – timelineDao.getCollection().insert(timelineList, WriteConcern.SAFE); – Bulk insertに変更 » Thread dumpなどで見ているとまだ詰まってる – timelineDao.getCollection().insert(timelineList); – 書き込みチェックなしに 21
22.
MongoDB勉強会 第二回 MongoDB勉強会 タイムラインの取得も重い・・・ • TimelineにはentryIdしかentry情報が無い
• 結局EntryCollectionに取得件数分find()する必要がある » CSが頻発 • 変遷 – db.Entry.find({entryId:12345}); » 必要な数だけ 22
23.
MongoDB勉強会 第二回 MongoDB勉強会 タイムラインの取得も重い・・・ • TimelineにはentryIdしかentry情報が無い
• 結局EntryCollectionに取得件数分find()する必要がある » CSが頻発 • 変遷 – db.Entry.find({entryId:12345}); » 必要な数だけ – entryIdListを事前に作成して db.Entry.find({entryId:{$in : entryIdList}}).sort({registDate:-1}); 23
24.
MongoDB勉強会 第二回 MongoDB勉強会 【Error】 Switching
Master 】 • 接続先がmongosプロセス1つの時、mongoインスタンス 作成時に渡すIPがListだと発生 ■before List<ServerAddress> replSets = new ArrayList<ServerAddress>(); for(String server : serverList) replSets.add(new ServerAddress(server, port)); mongo = new Mongo(replSets, option.createMongoOptions()); ■after ServerAddress addr = new ServerAddress(mongos, port); mongo = new Mongo(addr, option.createMongoOptions()); 24
25.
MongoDB勉強会 第二回 MongoDB勉強会
・・・じゃない slaveOk・・・じゃない • mongosを通すとslaveに参照クエリが投げられない • ReplicaSet単体で動かしているときは問題なし • 書き込みチェック(WriteConcern.SAFE など)は内部 的に書き込み後、findOneを発行 • Collectionのlock回数を少しでも減らしたい • 参照は別サーバーに向いて欲しい » 調査中…(´・ω・`) 25
26.
MongoDB勉強会 第二回 MongoDB勉強会 その他いろいろ • Out
of semaphores to get db connection • MongoOptionsの下記の値を調整 connectionPerHost * threadsAllowedToBlockForConnectionMultiplier >= maxthreads • Too Many Open Files • Test中にnic死亡 • Xfsの設定はmongo推奨に合わせるのがよさそう 26
27.
MongoDB勉強会 第二回 MongoDB勉強会 良かったこと • Index重要 •
mongostatが役に立った • Sar, vmstat, iostat • RDBのノウハウの流用が可能 • explain 27
28.
MongoDB勉強会 第二回 MongoDB勉強会 今後 • より複雑なクエリでの性能検証
> db.Entry.find({ ... userId:26, ... replyUserId:{$nin:[0,26]}, ... entryType:{$in:["ENTRY","PHOTO"]}, ... deleteFlag:0, ... $where:"this.replyEntryId <= this.parentEntryId"}).limit(50).sort({registDate:-1}).explain(); { "cursor" : "BtreeCursor userId", "nscanned" : 176, "nscannedObjects" : 176, "n" : 18, "scanAndOrder" : true, "millis" : 2, "indexBounds" : { "userId" : [ [ 26, 26 ] ] } } 28
29.
MongoDB勉強会 第二回 MongoDB勉強会 今後 • バックアップ、リストア •
Collection設計 • もっと多くのデータで 29
Download now