SlideShare uma empresa Scribd logo
1 de 24
mongoDB のご紹介 インフォサイエンス 永江 哲朗
mongoDB とは  (※) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],※  [Wikipedia]
mongoDB の歴史 ,[object Object],[object Object],[object Object],※ 1 [Banker] p.6 ※ 2 [Mongo]
mongoDB の特徴  (※1) ,[object Object],※ 1 [Inoue-1] p.6 MapReduce 機能内蔵 [MapReduce] 二次元の地理空間のインデックス (geospatial index) を持つ [ 地理空間のインデックス ] マスター・スレーブ構成。自動フェイルオーバー [ レプリケーション ] あらゆる属性でインデックス作成 [ インデックスサポート ] あらゆるカラムで条件指定可能 [ クエリ ] 自動シャーディング。ただし適切なシャーディングキーを管理者が指定する必要があります [ シャーディング  (※2)] JSON ( 内部では BSON(Binary JSON)) [ ドキュメント指向 DB]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ドキュメントのデータモデル  (※1) ※ 1 [Banker] p.7 ドキュメントは RDB でいう行に相当します。 ( したがって左のデータは RDB での 1 行に相当します ) ドキュメントのデータは JSON (JavaScript Object Notation)  で表されます。 ( 内部では BSON(Binary JSON) で格納されます ) _id  というフィールドはプライマリキーになります。 値として配列をもつこともできます。
mongoDB の用語 ノード データベース コレクション ドキュメント コレクション コレクション データベース コレクションの集合です。 データベース  (database) RDB ではテーブルに相当します。 コレクション  (collection) RDB では行 (row) に相当します。 ドキュメント  (document) 説明 MongoDB での用語
mongoDB でのクエリ  (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
mongoDB でのクエリ  (2)  配列  (※) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],※  [Banker] p.106
mongoDB のインデックス ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],※  [Chodorow&Dirolf] chapter 5. Indexing
mongoDB でのインサート  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
mongoDB での更新 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
mongoDB での削除 ,[object Object],[object Object],[object Object],[object Object]
ジャーナリング  (※) ,[object Object],[object Object],[object Object],[object Object],※  [Banker] p.265
レプリケーション  (1) (※) ,[object Object],[object Object],[object Object],[object Object],※  [Mongo] Replica Sets (http://www.mongodb.org/display/DOCSJP/Replica+Sets), (http://www.mongodb.org/display/DOCS/Replica+Sets)
レプリケーション  (2) (※) ,[object Object],[object Object],※  [Chodorow&Dirolf] p.130-p.131  (1)  通常状態。 プライマリはセカンダリに対してデータを同期します。   (2)  プライマリ停止。 プライマリが停止すると、セカンダリがプライマリを引継ぎます。   (3)  旧プライマリ再起動。 旧プライマリが起動すると、新プライマリがセカンダリ ( 旧プライマリ ) にデータを同期します。   (1)    (2)    (3)   
レプリケーション  (3) (※) ,[object Object],※  [Chodorow&Dirolf] p.135-p.136  (1)  通常状態。 プライマリはセカンダリに対してデータを同期します。   (2)  プライマリ停止。 プライマリが停止すると、最もプライオリティが高いノード間でどれが最新のデータをもつかが比較されます。 (3)  データ同期の再開。 新プライマリはセカンダリノードにデータを同期します。   (1)    (2)    (3)   
[object Object],[object Object],[object Object],シャーディング  (※) ※  [Mongo] Sharding  (http://www.mongodb.org/display/DOCSJP/Sharding),  Sharding Introduction (http://www.mongodb.org/display/DOCS/Sharding+Introduction) レプリカセット
mongoDB のユースケース  (1)  (※) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],※  [Mongo] Use Cases  (http://www.mongodb.org/pages/viewpage.action?pageId=21266728) (http://www.mongodb.org/display/DOCS/Use+Cases)
mongoDB のユースケース  (2)  (※) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],※  [Mongo] Use Cases  (http://www.mongodb.org/pages/viewpage.action?pageId=21266728) (http://www.mongodb.org/display/DOCS/Use+Cases)
mongoDB はどんなところで使われているか (1-1) (※) ,[object Object],[object Object],[object Object],[object Object],[object Object],※  [Mongo] Production Deployments (http://www.mongodb.org/display/DOCS/Production+Deployments)
mongoDB はどんなところで使われているか (1-2)  ,[object Object],[object Object],[object Object],[object Object],[object Object],※  [Heymann] p8 現在地 …
mongoDB はどんなところで使われているか (2)  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],※ 1 [Namura] p.6, p.9 ※ 2 [AmebaPico] スクリーンショット  (※2)
mongoDB はどんなところで使われているか (3)  (※)  ,[object Object],[object Object],mongoDB は、 craigslist, sourceforge, NY times, Springer, Taobao,  サイバーエージェント等の有名な会社、組織で多数採用されています。 ※  [Mongo] Production Deployments (http://www.mongodb.org/display/DOCS/Production+Deployments)
参考文献 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
 
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
Takahiro Inoue
 
Mongo db勉強会の補足
Mongo db勉強会の補足Mongo db勉強会の補足
Mongo db勉強会の補足
CROOZ, inc.
 
ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~
Akihiro Kuwano
 
MongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストMongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキスト
Akihiro Kuwano
 
Mongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみたMongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみた
htty_hasumi
 

Mais procurados (20)

MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!
 
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろう
 
MongoDBの監視
MongoDBの監視MongoDBの監視
MongoDBの監視
 
初めてのMongo db
初めてのMongo db初めてのMongo db
初めてのMongo db
 
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
 
Cassandra v0.6-siryou
Cassandra v0.6-siryouCassandra v0.6-siryou
Cassandra v0.6-siryou
 
Mongo db勉強会の補足
Mongo db勉強会の補足Mongo db勉強会の補足
Mongo db勉強会の補足
 
ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~
 
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersDb tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clusters
 
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
 
MongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストMongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキスト
 
NoSQLデータベースと位置情報
NoSQLデータベースと位置情報NoSQLデータベースと位置情報
NoSQLデータベースと位置情報
 
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
 
MongoDB3.2の紹介
MongoDB3.2の紹介MongoDB3.2の紹介
MongoDB3.2の紹介
 
Mongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみたMongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみた
 
MongoDBのアレをアレする
MongoDBのアレをアレするMongoDBのアレをアレする
MongoDBのアレをアレする
 
MongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasualMongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasual
 

Semelhante a MongoDB

RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
弘毅 露崎
 

Semelhante a MongoDB (20)

PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門PHP開発者のためのNoSQL入門
PHP開発者のためのNoSQL入門
 
Mongodb
MongodbMongodb
Mongodb
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会
 
カウチなやつら CouchDB in the room
カウチなやつら CouchDB in the roomカウチなやつら CouchDB in the room
カウチなやつら CouchDB in the room
 
既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 
Mongo db使ってみよう
Mongo db使ってみようMongo db使ってみよう
Mongo db使ってみよう
 
Dat009 クラウドでビック
Dat009 クラウドでビックDat009 クラウドでビック
Dat009 クラウドでビック
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouch
 
Dat009 クラウドでビック
Dat009 クラウドでビックDat009 クラウドでビック
Dat009 クラウドでビック
 
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
 
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
 
SQL Server 入門
SQL Server 入門SQL Server 入門
SQL Server 入門
 
シラサギハンズオン 東京
シラサギハンズオン 東京シラサギハンズオン 東京
シラサギハンズオン 東京
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
20190516_DLC10_PGStrom
20190516_DLC10_PGStrom20190516_DLC10_PGStrom
20190516_DLC10_PGStrom
 
AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤
 
シラサギハンズオン 1015 1016
シラサギハンズオン 1015 1016シラサギハンズオン 1015 1016
シラサギハンズオン 1015 1016
 
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
 

Mais de あしたのオープンソース研究所  

Mais de あしたのオープンソース研究所   (13)

Apache Hive 紹介
Apache Hive 紹介Apache Hive 紹介
Apache Hive 紹介
 
Datomic&datalog紹介
Datomic&datalog紹介Datomic&datalog紹介
Datomic&datalog紹介
 
Red5
Red5Red5
Red5
 
Friendica_28th_AshitanoKen
Friendica_28th_AshitanoKenFriendica_28th_AshitanoKen
Friendica_28th_AshitanoKen
 
Apache UIMA
Apache UIMAApache UIMA
Apache UIMA
 
Flume
FlumeFlume
Flume
 
Gephi Quick Start (Japanese)
Gephi Quick Start (Japanese)Gephi Quick Start (Japanese)
Gephi Quick Start (Japanese)
 
Gephi Tutorial Visualization (Japanese)
Gephi Tutorial Visualization (Japanese)Gephi Tutorial Visualization (Japanese)
Gephi Tutorial Visualization (Japanese)
 
Rails.20110405
Rails.20110405Rails.20110405
Rails.20110405
 
S4
S4S4
S4
 
machine learning & apache mahout
machine learning & apache mahoutmachine learning & apache mahout
machine learning & apache mahout
 
20100831.あしたの研第14回座談会moses.スライド
20100831.あしたの研第14回座談会moses.スライド20100831.あしたの研第14回座談会moses.スライド
20100831.あしたの研第14回座談会moses.スライド
 
Cassandra 分散データベース
Cassandra 分散データベースCassandra 分散データベース
Cassandra 分散データベース
 

MongoDB

  • 2.
  • 3.
  • 4.
  • 5.
  • 6. mongoDB の用語 ノード データベース コレクション ドキュメント コレクション コレクション データベース コレクションの集合です。 データベース (database) RDB ではテーブルに相当します。 コレクション (collection) RDB では行 (row) に相当します。 ドキュメント (document) 説明 MongoDB での用語
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.