Submit Search
MongoDB
Download as PPT, PDF
12 likes
8,264 views
あしたのオープンソース研究所
あしたのオープンソース研究所 2011年6月7日開催 mongoDB 座談会 発表者 永江さん 提供 インフォサイエンス
Read more
1 of 24
Download now
Downloaded 62 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
More Related Content
PDF
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
PDF
後悔しないもんごもんごの使い方 〜アプリ編〜
Masakazu Matsushita
PDF
DB tech showcase: 噂のMongoDBその用途は?
Hiroaki Kubota
PDF
MongoDBざっくり解説
知教 本間
PPTX
がっつりMongoDB事例紹介
Tetsutaro Watanabe
PDF
MongoDB very basic (Japanese) / MongoDB基礎の基礎
Naruhiko Ogasawara
PDF
Introduction to MongoDB
moai kids
PPTX
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
後悔しないもんごもんごの使い方 〜アプリ編〜
Masakazu Matsushita
DB tech showcase: 噂のMongoDBその用途は?
Hiroaki Kubota
MongoDBざっくり解説
知教 本間
がっつりMongoDB事例紹介
Tetsutaro Watanabe
MongoDB very basic (Japanese) / MongoDB基礎の基礎
Naruhiko Ogasawara
Introduction to MongoDB
moai kids
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
What's hot
(20)
PPTX
MongoDB World 2014に行ってきた!
Tetsutaro Watanabe
PDF
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
Ryuji Tamagawa
PPTX
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
PDF
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Naruhiko Ogasawara
PPTX
Mongo dbを知ろう
CROOZ, inc.
PPTX
MongoDBの監視
Tetsutaro Watanabe
PDF
初めてのMongo db
Ryuji Tamagawa
PDF
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
Takahiro Inoue
PPT
Cassandra v0.6-siryou
あしたのオープンソース研究所
PPTX
Mongo db勉強会の補足
CROOZ, inc.
PPT
ザ・ドキュメント~うまくいかないNoSQL~
Akihiro Kuwano
PDF
Db tech showcase2015 how to replicate between clusters
Hiroaki Kubota
PPTX
日本語:Mongo dbに於けるシャーディングについて
ippei_suzuki
PDF
MongoDBのはじめての運用テキスト
Akihiro Kuwano
PDF
NoSQLデータベースと位置情報
Koji Ichiwaki
PDF
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
Masakazu Matsushita
PPTX
MongoDB3.2の紹介
Tetsutaro Watanabe
ODP
Mongo dbを半年ちょっと運用してみた
htty_hasumi
PDF
MongoDBのアレをアレする
Akihiro Kuwano
PPTX
MongoDB on EC2 #mongodbcasual
Yasuhiro Matsuo
MongoDB World 2014に行ってきた!
Tetsutaro Watanabe
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
Ryuji Tamagawa
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Naruhiko Ogasawara
Mongo dbを知ろう
CROOZ, inc.
MongoDBの監視
Tetsutaro Watanabe
初めてのMongo db
Ryuji Tamagawa
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
Takahiro Inoue
Cassandra v0.6-siryou
あしたのオープンソース研究所
Mongo db勉強会の補足
CROOZ, inc.
ザ・ドキュメント~うまくいかないNoSQL~
Akihiro Kuwano
Db tech showcase2015 how to replicate between clusters
Hiroaki Kubota
日本語:Mongo dbに於けるシャーディングについて
ippei_suzuki
MongoDBのはじめての運用テキスト
Akihiro Kuwano
NoSQLデータベースと位置情報
Koji Ichiwaki
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
Masakazu Matsushita
MongoDB3.2の紹介
Tetsutaro Watanabe
Mongo dbを半年ちょっと運用してみた
htty_hasumi
MongoDBのアレをアレする
Akihiro Kuwano
MongoDB on EC2 #mongodbcasual
Yasuhiro Matsuo
Ad
Similar to MongoDB
(20)
PDF
PHP開発者のためのNoSQL入門
じゅん なかざ
PPT
Mongodb
Satoru Mikami
PDF
RとSQLiteで気軽にデータベース作成
弘毅 露崎
ODP
Mongo db勉強会
otmb
PDF
カウチなやつら CouchDB in the room
Makoto Ohnami
PDF
既存システムへの新技術活用法 ~fluntd/MongoDB~
じゅん なかざ
PDF
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
PPTX
Mongo db使ってみよう
Oda Shinsuke
PDF
Dat009 クラウドでビック
Tech Summit 2016
PDF
CouchDB JP & BigCouch
Yohei Sasaki
PPTX
Dat009 クラウドでビック
Tech Summit 2016
PPTX
BPStudy32 CouchDB 再入門
Yohei Sasaki
PPTX
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
Insight Technology, Inc.
PPTX
SQL Server 入門
Tsuyoshi Kitagawa
PPTX
シラサギハンズオン 東京
Yu Ito
PPTX
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
Tetsutaro Watanabe
PDF
20190516_DLC10_PGStrom
Kohei KaiGai
PPTX
AWSで作る分析基盤
Yu Otsubo
PPTX
シラサギハンズオン 1015 1016
Yu Ito
PDF
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
Hadoop / Spark Conference Japan
PHP開発者のためのNoSQL入門
じゅん なかざ
Mongodb
Satoru Mikami
RとSQLiteで気軽にデータベース作成
弘毅 露崎
Mongo db勉強会
otmb
カウチなやつら CouchDB in the room
Makoto Ohnami
既存システムへの新技術活用法 ~fluntd/MongoDB~
じゅん なかざ
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
Mongo db使ってみよう
Oda Shinsuke
Dat009 クラウドでビック
Tech Summit 2016
CouchDB JP & BigCouch
Yohei Sasaki
Dat009 クラウドでビック
Tech Summit 2016
BPStudy32 CouchDB 再入門
Yohei Sasaki
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
Insight Technology, Inc.
SQL Server 入門
Tsuyoshi Kitagawa
シラサギハンズオン 東京
Yu Ito
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
Tetsutaro Watanabe
20190516_DLC10_PGStrom
Kohei KaiGai
AWSで作る分析基盤
Yu Otsubo
シラサギハンズオン 1015 1016
Yu Ito
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
Hadoop / Spark Conference Japan
Ad
More from あしたのオープンソース研究所
(13)
PPT
Apache Hive 紹介
あしたのオープンソース研究所
PPT
Datomic&datalog紹介
あしたのオープンソース研究所
PPT
Red5
あしたのオープンソース研究所
PDF
Friendica_28th_AshitanoKen
あしたのオープンソース研究所
PPT
Apache UIMA
あしたのオープンソース研究所
PPT
Flume
あしたのオープンソース研究所
PDF
Gephi Quick Start (Japanese)
あしたのオープンソース研究所
PDF
Gephi Tutorial Visualization (Japanese)
あしたのオープンソース研究所
PDF
Rails.20110405
あしたのオープンソース研究所
PPT
S4
あしたのオープンソース研究所
PPT
machine learning & apache mahout
あしたのオープンソース研究所
PDF
20100831.あしたの研第14回座談会moses.スライド
あしたのオープンソース研究所
PDF
Cassandra 分散データベース
あしたのオープンソース研究所
Apache Hive 紹介
あしたのオープンソース研究所
Datomic&datalog紹介
あしたのオープンソース研究所
Red5
あしたのオープンソース研究所
Friendica_28th_AshitanoKen
あしたのオープンソース研究所
Apache UIMA
あしたのオープンソース研究所
Flume
あしたのオープンソース研究所
Gephi Quick Start (Japanese)
あしたのオープンソース研究所
Gephi Tutorial Visualization (Japanese)
あしたのオープンソース研究所
Rails.20110405
あしたのオープンソース研究所
S4
あしたのオープンソース研究所
machine learning & apache mahout
あしたのオープンソース研究所
20100831.あしたの研第14回座談会moses.スライド
あしたのオープンソース研究所
Cassandra 分散データベース
あしたのオープンソース研究所
MongoDB
1.
mongoDB のご紹介 インフォサイエンス
永江 哲朗
2.
mongoDB とは
(※) [ 開発元 ] 10gen [ 実装 ] C++ [ タイプ ] ドキュメント指向データベース [OS] Windows, Linux, OS X, Solaris でバイナリ配布 [ 言語サポート ] ( 公式 ) C, C++, C#, Haskell, Java, JavaScript, Perl, PHP, Python, Ruby, Scala [ ライセンス ] DB: GNU AGPL v3.0 もしくは商用ライセンス 各種言語用ドライバー : Apache License v2 ※ [Wikipedia]
3.
mongoDB の歴史 ・
PAAS を開始するため、 2007 年に 10gen はアプリケーションサーバーと DB を統合し、 web アプリケーションをホスティングするためのスケール性の高いソフトウェアを開発しました。 その後 PAAS はうまく行きませんでしたが、 DB のスケーラビリティ性と開発のしやすさにユーザーが注目。 10gen は DB に注力し、 2009 年 2 月に MongoDB としてリリースしました。 (※1) ・現在の最新版は 1.8.1 (2011 年 5 月 26 日現在 ) です。 (※2) ※ 1 [Banker] p.6 ※ 2 [Mongo]
4.
mongoDB の特徴
(※1) ※ 2 シャーディング : データベース内のテーブルのデータを複数のシャード ( 破片 ) サーバーにまたがって分散させる方法 ※ 1 [Inoue-1] p.6 MapReduce 機能内蔵 [MapReduce] 二次元の地理空間のインデックス (geospatial index) を持つ [ 地理空間のインデックス ] マスター・スレーブ構成。自動フェイルオーバー [ レプリケーション ] あらゆる属性でインデックス作成 [ インデックスサポート ] あらゆるカラムで条件指定可能 [ クエリ ] 自動シャーディング。ただし適切なシャーディングキーを管理者が指定する必要があります [ シャーディング (※2)] JSON ( 内部では BSON(Binary JSON)) [ ドキュメント指向 DB]
5.
{ _id: ObjectID('4bd9e8e17cefd644108961bb'),
title: 'Adventures in Databases', url: 'http://example.com/databases.txt', author: 'msmith', vote_count: 20, tags: ['databases', 'mongodb', 'indexing'], image: { url: 'http://example.com/db.jpg', caption: '', type: 'jpg', size: 75381, data: "Binary" }, comments: [ {user: 'bjones', text: 'Interesting article!' }, {user: 'blogger', text: 'Another related article is at http://example.com/db/db.txt' } ] } ドキュメントのデータモデル (※1) ※ 1 [Banker] p.7 ドキュメントは RDB でいう行に相当します。 ( したがって左のデータは RDB での 1 行に相当します ) ドキュメントのデータは JSON (JavaScript Object Notation) で表されます。 ( 内部では BSON(Binary JSON) で格納されます ) _id というフィールドはプライマリキーになります。 値として配列をもつこともできます。
6.
mongoDB の用語 ノード
データベース コレクション ドキュメント コレクション コレクション データベース コレクションの集合です。 データベース (database) RDB ではテーブルに相当します。 コレクション (collection) RDB では行 (row) に相当します。 ドキュメント (document) 説明 MongoDB での用語
7.
mongoDB でのクエリ
(1) ・ users というコレクションで” username” が” joe” であるドキュメントの” username” と” email” の値を検索するときのクエリ > db.users.find({“username” : “joe”}, {“username” : 1, “email” : 1}) { “ _id” : ObjectId(“4ba0f0dfd22aa494fd523620”), “ username” : “joe”, “ email” : joe@example.com } ・同じく users で、年齢が 18 ~ 30 歳のドキュメントを検索する場合 > db.users.find({“age” : { “$gte” : 18, “$lte” : 30}}) ($gte は “≧” , $lte は “≦”を表します。 $ のつく演算子は他にもたくさんあります ) ・正規表現を使った検索 > db.users.find({“name” : /joey?/}) (“y?” は、 y が 0 文字もしくは 1 文字を表しますので、例えば” joe” と” joey” の両方にマッチします )
8.
mongoDB でのクエリ
(2) 配列 (※) products というコレクションに以下のようなドキュメントがあるとします。 { _id: ObjectId("4c4b1476238d3b4dd5003981"), slug: "wheel-barrow-9092", sku: "9092", tags: [“tools”, “equipment”, “soil”] (← タグ (tags) を配列で表現 ) } このドキュメントをタグ (tags) に” soil” が含まれるという条件で検索したい場合: > db.products.find({tags: "soil"}) このクエリは tags フィールドにインデックスを張っていれば効率がよくなります。 > db.products.ensureIndex({tags: 1}) ※ [Banker] p.106
9.
mongoDB のインデックス ・インデックスを作るには、
ensureIndex メソッドを使います。 > db.people.ensureIndex({“username” : 1}) ・ username は昇順で、 age は降順のインデックスを作成する場合 : > db.people.ensureIndex({“username” : 1, “age”: -1}) (“1” が昇順を、” -1” が降順を表します ) ・ユニークインデックスを作成する場合 : > db.people.ensureIndex({“username” : 1}, {“unique” : true}) ただし、 insert のデフォルトの動作としては、その insert 文によってドキュメントが実際に追加されたかどうかチェックしません。 そのため、重要なデータの場合には各ドライバの getlasterror コマンドでチェックするか、ドライバの “ safe” モードを使う必要性が出てきます。 ※ [Chodorow&Dirolf] chapter 5. Indexing
10.
mongoDB でのインサート
・ users という中身のないコレクションに” username” が” smith” というドキュメントを追加する場合 > db.users.insert({“username” : “smith”}) > db.users.find() { “ _id” : ObjectId(“4ba0f0dfd22aa494fd523623”), “ username” : “smith”, } -> “ _id” の値はクライアント ( ドライバー ) で作成され、 mongoDB に格納されます。
11.
mongoDB での更新 ・ユーザー”
smith” のドキュメントに、国 “ Canada” を追加する場合 > db.users.update({“username” : “smith”), {$set: (“country”: “Canada”}}) ($set をつけないと、” username”=“smith” のドキュメントがすべて上書きされてしまいます ) ・ mongoDB はスキーマフリーなので、スキーマ構成変更命令なしで以下のような update を実行できます。 > db.users.update( {“username”: "smith"}, { $set: {“favorites”: { “ cities”: ["Chicago", "Cheyenne"], “ movies”: ["Casablanca", "The Sting"] } } });
12.
mongoDB での削除 ・
users コレクションから favorite.city が” Cheyenne” のドキュメントを削除する場合 > db.users.remove({"favorites.cities": "Cheyenne"}) ・ users コレクションをまるごと削除する場合 > db.users.remove({ })
13.
ジャーナリング (※)
・ version1.8 から、ジャーナリング機能が導入されました。ジャーナリング機能が有効化されると、 mongoDB はデータファイルに書き込む前に、そのデータをジャーナルに書き込むようになります。 ・ジャーナル機能が無効の場合 : mongoDB はデータファイルをヴァーチャルメモリーにマップしており、ヴァーチャルメモリーを定期的にディスクに書き込みます。従ってサーバーが突然停止してしまった場合、メモリ上のデータは失われます。 ・ジャーナリング機能はデフォルトの設定では 100ms 間隔でメモリの内容をディスクに書き込みます。従ってデフォルト設定の場合、サーバー停止によって最大で 100ms ぶんのデータロストが発生します。 ※ [Banker] p.265
14.
レプリケーション (1)
(※) ・レプリカセット ・レプリカセットは非同期なマスター / スレーブ構成のレプリケーションで、自動的なフェイルオーバー機能をもちます。 ・プライマリ ( マスター ) ノードが存在しない場合、レプリカセットは自動的にプライマリを選出します。 ・各言語のドライバーはプライマリが変わったことを検知し、新しいプライマリノードに書込みリクエストを送信します。 ※ [Mongo] Replica Sets (http://www.mongodb.org/display/DOCSJP/Replica+Sets), (http://www.mongodb.org/display/DOCS/Replica+Sets)
15.
レプリケーション (2)
(※) ・レプリカセットのフェイルオーバー (1) 2 台構成の場合 ※ [Chodorow&Dirolf] p.130-p.131 (1) 通常状態。 プライマリはセカンダリに対してデータを同期します。 (2) プライマリ停止。 プライマリが停止すると、セカンダリがプライマリを引継ぎます。 (3) 旧プライマリ再起動。 旧プライマリが起動すると、新プライマリがセカンダリ ( 旧プライマリ ) にデータを同期します。 (1) (2) (3)
16.
レプリケーション (3)
(※) ・レプリカセットのフェイルオーバー (2) 5 台構成の場合 ※ [Chodorow&Dirolf] p.135-p.136 (1) 通常状態。 プライマリはセカンダリに対してデータを同期します。 (2) プライマリ停止。 プライマリが停止すると、最もプライオリティが高いノード間でどれが最新のデータをもつかが比較されます。 (3) データ同期の再開。 新プライマリはセカンダリノードにデータを同期します。 (1) (2) (3)
17.
・シャーディング機能 : MongoDB
はデータベースやコレクション、コレクション内のオブジェクトを、シャーディングキーに基づき、複数のシャードにまたがって、ダウンタイムなしで自動的に配布します。 ・ mongos: クライアントからのリクエストをそれぞれのシャードにルーティングします。 ・ config server: どのシステムにどんなシャードが存在しているかといったような、クラスタのメタデータを保存します。 シャーディング (※) ※ [Mongo] Sharding (http://www.mongodb.org/display/DOCSJP/Sharding), Sharding Introduction (http://www.mongodb.org/display/DOCS/Sharding+Introduction) レプリカセット
18.
mongoDB のユースケース
(1) (※) ● 向いているケース (1) web サイトの操作データの蓄積 リアルタイムの insert, update, クエリ スケーラビリティとレプリケーション -> 例 . - コンテンツ管理 (Web コンテンツを構成するテキストや画像、レイアウト情報などを一元的に保存・管理 ) - コメントの格納、管理、投票 - ユーザー登録、プロファイル、セッションデータ等の格納 (2) キャッシング (3) 大量データ (4) プログラムのオブジェクトと JSON のデータ ( または同等のもの ) の格納 (5) リアルタイム統計 / 解析 (6) アーカイブとイベントのログ取得 ※ [Mongo] Use Cases (http://www.mongodb.org/pages/viewpage.action?pageId=21266728) (http://www.mongodb.org/display/DOCS/Use+Cases)
19.
mongoDB のユースケース
(2) (※) ● あまり向いていないところ (1) 銀行系のように複雑なトランザクションに重点を置くシステム - mongoDB は単一のドキュメントに対するアトミックな操作はサポートしていますが、マルチ・オブジェクト・トランザクションをサポートしていません。 (2) 伝統的なビジネスインテリジェンス (BI) - mongoDB はリアルタイムにデータを計算したり集約したりするのに向いていますが、夜間にバッチで動かすような BI には向いていません。 (3) SQL を必要とする問題 - mongoDB は SQL をサポートしていません。 ※ [Mongo] Use Cases (http://www.mongodb.org/pages/viewpage.action?pageId=21266728) (http://www.mongodb.org/display/DOCS/Use+Cases)
20.
mongoDB はどんなところで使われているか (1-1)
(※) ・ foursquare foursquare はスマートフォンの GPS 機能を使った位置情報 SNS です。 [Nikkei-Trendy] ・お店や駅など、自分がいる場所でチェックインすると、自分の場所がネット上に登録され、友人に公開されます。 ・ Tips といって自分の訪れたお店や施設について情報を書き込み、それを他の人が読むことができる機能があります。 ・他にも「品川駅に来たらこの店に行く」などとタスクを書いておくと、品川駅近辺でチェックインしたときにタスクを自動的に通知してくれる To-Do List 機能もあります。 ※ [Mongo] Production Deployments (http://www.mongodb.org/display/DOCS/Production+Deployments)
21.
mongoDB はどんなところで使われているか (1-2)
・ foursquare ( 続き ) foursquare では、 25 台以上の Amazon EC2 サーバー上のシャーディングした mongoDB に、ユーザーの”チェックイン”情報を格納しています。また、お店や駅などの場所の情報に、 mongoDB の地理空間インデックスを使っています。 (※) ( 例 ) 基本的なクエリ 与えられた位置情報に近いお店や施設を 20 個みつける場合 > db.venues.find({latlng: {$near: [40.72, -73.99]}).limit(20) ※ [Heymann] p8 現在地 …
22.
mongoDB はどんなところで使われているか (2)
・ Ameba Pico ( 仮想空間サービス「アメーバピグ」の海外版 ) Ameba Pico では、 AWS と以下の 技術を使用しています。 (※1 。図も ) - MongoDB - node.js - WebSocket - Flash Player ※ 1 [Namura] p.6, p.9 ※ 2 [AmebaPico] スクリーンショット (※2)
23.
mongoDB はどんなところで使われているか (3)
(※) ・ intuit intuit では、小規模ビジネス用の web サイトにおいて、ユーザーの活動状況をリアルタイムに記録するのに mongoDB を使用しています。 mongoDB は、 craigslist, sourceforge, NY times, Springer, Taobao, サイバーエージェント等の有名な会社、組織で多数採用されています。 ※ [Mongo] Production Deployments (http://www.mongodb.org/display/DOCS/Production+Deployments)
24.
参考文献 ・ [Mongo]
MongoDB ホームページ (http://www.mongodb.org/) ・ [Chodorow&Dirolf] ”MongoDB: The Definitive Guide”, Kristina Chodorow & Michael Dirolf, 2010, O’reilly ・ [Banker] ”MongoDB in Action”, Kyle Banker, 2011, Manning MEAP Edition version 8 ・ [Inoue-1] ”MongoDB 全機能解説 (1)”, 井上 敬浩 , 2011, MongoDB 勉強会 第 3 回 資料 (http://www.slideshare.net/doryokujin/mongodb1) ・ [Namura] “MongoDB + node.js で作るソーシャルゲーム” , 名村 卓 , 2011, Mongo Tokyo 2011 資料 (http://www.slideshare.net/snamura/mongodb-nodejs) ・ [AmebaPico] “About Ameba Pico” (http://www.cyberagentamerica.com/games/) ・ [Wikipedia] Wikipedia 英語版 MongoDB (http://en.wikipedia.org/wiki/MongoDB) ・ [Nikkei-Trendy] “Twitter の次に来るのか、新世代ソーシャルサービス「 foursquare 」って何だろう?” , 日経トレンディネット , 2011/2/25 (http://trendy.nikkeibp.co.jp/article/pickup/20110223/1034598) ・ [Heymann] “Foursquare & MongoDB”, Harry Heymann, 2010 (https://docs.google.com/present/view?id=dhkkqm6q_13gm6jq5fv)
Download