SlideShare a Scribd company logo
1 of 21
Begining MongoDB
初心者向け
MongoDBのキホン!
渡部 徹太郎2014/03/01
OSC2014Tokyo/Spring
Ver 3.0用に
ちょっと修正
2015/7/15
自己紹介
{"ID" :"fetaro"
"名前" :"渡部 徹太郎"
"経歴" :"学生時代は情報検索の研究(@日本データベース学会)"
"仕事" :{"昔":"証券会社のオントレシステムのWeb基盤",
"今":"オープンソース全般"}
"特技":["サーバ基盤","Linux","KVM","ruby","MongoDB"]
"エディタ":"emacs派"
"趣味":"自宅サーバ"
"MongoDB関連":{
-"3年前に、友人の結婚式用のアプリを作った時に利用"
-"技評記事「MongoDBでゆるふわDB体験」"
-"日経SYSTEMS 8月号 「ドキュメント指向データベース」"
}
}
2
NoSQLの位置づけ
• NoSQLはデータベースの中でも、
スキーマレス&ビックデータが得意で、オンライン操作向け
NoSQL
• MongoDB
• Cassandra
• Couchbase
• Redis
• Neo4j
Hadoop
• Apache Hadoop
• Hortonworks
• Cloudera
• MapR
RDBMS
• Oracle
• MySQL
• SQL Server
• PostgreSQL
DWH
• Teradata
• IBM Netezza
• EMC Greenplum
• HP Vertica
オンラインで
データ操作
バッチで
分析・集計
スキーマあり&非ビックデー
タ
スキーマレス & ビックデータ
MongoDBの位置づけ(1/3)
• MongoDBはNoSQLの中のドキュメント指向データベース
44
キーバリュー型
Riak, Redis,
memcached,
KVS
RDBMS
MySQL,PostgreSQL,
Oracle,SQL Server,DB2
列指向
Cassandra,
HBase,
Amazon DynamoDB
キ
ー
列 array
hash
ドキュメント
NOSQL(Not Only SQL)
ドキュメント指向
MongoDB, Couchbase Server
DocumentDB, DynamoDB,
ドキュメント
データベース
キー 値
キー
値
グラフ指向
Neo4j
MongoDBの位置づけ(2/3)
• ドキュメント指向データベースとは
o データを階層構造のドキュメント(≒JSON)で扱う
• JSONとは
o ハッシュと配列をネストして使うことができる
o XMLよりシンプルに表現できる。読みやすく直観的
o ネストが深くなる場合に、より効率的に扱える。
• JSONの例
5
{
ID : 12345 ,
name :"渡部”,
address : {
Company :"日本”,
City :"東京”,
ZipNo :"045-3356”,
}
friendID : [ 3134 , 10231 , 10974 , 11165 ] ,
hobbies :
[
{ name :"自宅サーバ","year": 6 } ,
{ name :"プログラミング","year": 10 } ,
{ name :"麻雀","no": 16 } ] }
配列
ハッシュの配列
キーと値
ハッシュ
MongoDBの位置づけ(3/3)
6
 ドキュメント指向データベースの比較
MongoDB CouchDB Couchbase Server
データ構造 データベース
└コレクション
└ドキュメント
データベース
└ドキュメント
バケット
└ドキュメント
インデックスの
生成
インデックスを張りたいキーを指定
する
MapReduce関数を用いたビューを作成することで対
応
クエリー 動的クエリ。SQLライクな記述が
可能。
基本的なCRUD以外は、静的クエリ。上記
MapReduceで作成したビューへのアクセスがクエリ
にあたる。
主なインター
フェース
独自プロトコル。各言語用専用ドラ
イバを利用。
REST(HTTP) memcachedプロトコル
レプリケーショ
ン
シングルマスタ型レプリケーション
(1ノードにしか書き込めない)
マルチマスタ型レプリケーション
(複数ノードに書き込める)
開発言語 C++ Erlang C,C++,Erlang
MongoDBの特徴(1/8)
• MongoDBを一言でいうと
o RDBMSとKVSの中間
o MongoDBの特徴
7
水平分散 スキーマレス
多機能
リッチなデータ
レプリケーション 使いやすい柔軟なクエリ
KVSと
比較して
RDBMSと
比較して
MongoDBならでは
機能数
スケーラビリティ
水平分散能力
KVS
RDBMS
MongoDB
水平分散できて、
機能も多い
MongoDBの特徴(2/8)
• .
o JSON(階層型データ)は、Key-Valueに比べて、リッチなデータモ
デル
o このようにKey-Valueで1対多を表現しようとすると、key名に"-
1"等の配列の番号を持たせなければならず非常に扱いにくい。
8
リッチなデータ
key value
id 10
10-name "watanabe"
10-friendId-0 4
10-friendId-1 7
10-friendId-2 12
10-friendId-3 19
{
id: 10
name: "watanabe"
friendId : [4, 7, 12, 19]
}
JSON Key-Value
MongoDBの特徴(3/8)
• .
o 表現力豊かなクエリ
 SQLの文法に似せたクエリが扱いやすい。
 動的に作成可能。事前に定義不要。
 単純な条件検索だけでなく、集計等の高度なクエリも書ける。
o RDBMS以上に強力なインデックス
 セカンダリインデックス:主キー以外でインデックスを作成可能
 複合キーインデックス:複数のキーでインデックスを作成可能
 マルチキーインデックス:配列の要素に対してインデックス作成可
能
9
db.person.find( {"name":"watanabe","age": 30 } ).limit(3)
例)コレクションpersonに、“name”が“watanabe”で、
“age”が30のドキュメントを3つだけ取得したい
柔軟なクエリ
MongoDBの特徴(4/8)
• .
o 水平分散(シャーディング)が簡単
 キーによってデータをノードに分散することができる。また、
ノードを動的に追加し、データの自動バランシング機能もあ
る。
10
範囲 0-9 範囲10-19 範囲20-
x ドキュメント
チャン
ク
アプリケーション
mongosルータ
1 4 9 11 16 20 27
MongoDB
ドライバ
23
23 クエリを適切な
ノードに分散
シャードキーで
分散
ノード ノード ノード
シャードキー
水平分散
ドキュメント
MongoDBの特徴(5/8)
•
o 複製(レプリケーション)が簡単
 簡単なコマンドで、レプリケーションを構築可能。
 シャーディングと組み合わせることも可能
 MongoDBドライバが自動的に書き込み先を切り替えるため、仮想IPなどを
用意しなくてもフェイルオーバが可能(≒クラスタソフトウェアが不要)
11
アプリケーション
プライマリ
1 4 9
セカンダリ
1 4 9
セカンダリ
1 4
MongoDBドライバ
9
書き込み
レプリカセット
読み込み
データ複
製
読み込み
書き込めるのは
マスタのみ
読み込みは負
荷分散可能
プライマリ
1 4 9
プライマリ
1 4 9
セカンダリ
1 4 9データ複
製
アプリケーション
MongoDBドライバ
書き込み 読み込み読み込み
プライマリが障
害になったら、
プライマリノード
を選出し、自動
フェイルオーバ
レプリカセット
レプリケーション
MongoDBの特徴(6/8)
o レプリケーションとシャーディングを組み合わせて、負荷分散と冗長化を両立
12
マシン2
マシン3
マシン1プライマリ
データ1
セカンダリ
データ1
セカンダリ
データ1
レプリカセット
セカンダリ
データ2
プライマリ
データ2
セカンダリ
データ2
レプリカセッ
ト
セカンダリ
データ3
セカンダリ
データ3
プライマリ
データ3
レプリカセット
mongosルータ
負荷分散
冗
長
化
アプリケーション
MongoDBの特徴(6/8)
o レプリケーションとシャーディングを組み合わせて、負荷分散と冗長化を両立
13
マシン2
マシン3
マシン1プライマリ
データ1
セカンダリ
データ1
セカンダリ
データ1
レプリカセット
セカンダリ
データ2
プライマリ
データ2
セカンダリ
データ2
レプリカセッ
ト
セカンダリ
データ3
セカンダリ
データ3
プライマリ
データ3
レプリカセット
mongosルータ
アプリケーション
MongoDBの特徴(7/8)
•
o スキーマレスデータを扱える
o テーブル定義など無しに、すぐにデータをCRUDできる
•
o セットアップが非常に簡単
 OS毎にバイナリがあるため、ライブラリの追加インストール不要。
 起動までわずか3ステップ。
• OS毎のバイナリをダウンロード
• データディレクトリを作成
• 起動
o RDBMSを使っていた人が使いやすいように作られている
 データベース>テーブル(コレクション)>ドキュメント というデータ構造
 SQLとMongoクエリ言語は大部分マッピング可能
 インデックスもSQLと同じような宣言ができる
o 豊富なドキュメント・ノウハウ
 英語ではあるが公式ドキュメントは他のNOSQLに比べても豊富
 多くの人が使っているため、ノウハウが豊富。日本語のノウハウも多い。
14
使いやすい
スキーマレス
MongoDBの特徴(8/8)
•
15
機能 説明 ユースケース
機能 GridFS 大容量ファイル(16M以上)を扱うことができる。
大容量ファイルをドキュメントに分割して格納し、
アプリケーションには等価的なAPIを提供。
大容量ファイルの管理
地理空間インデック
ス
2Dや3Dのデータを格納し、それに対して交点や
近傍などの検索をかけることができる。
アプリでのつくり込み不要。
地図アプリのデータベース
キャップ付きコレクショ
ン・TTLインデクス
期限やサイズを指定したコレクションを作り、自動
的に古いドキュメントを引き落とせる
ログ保管
集計機能 SQLのグループ関数のように集計できる。
また集計関数をパイプラインでつなぐこともできる
データの集計
対障
害
ジャーナリング 単一ドキュメントに対して、書き込みの一貫性が
保持できる。
突然の電源停止等に対応し
たい
運用
性
各種統計コマンド 様々なサーバの統計情報を取得するツールや、
JSON形式で出力するコマンドがある
運用監視ツールとの連携
障害対応効率化
MMS (MongoDB
Management
Service)
MongoDBの監視、アラート、自動バックアップ、
ポイントインタイムリカバリ、自動バージョンアップ
ができるクラウドサービス。
運用監視の仕組みを簡単に
作りたい
多機能
MongoDB
GridFS API
GridFSのイメージ
db.map.find({loc:{$near:[ 139.701238, 35.658871 ]}})
大容量ファイル 地理空間インデックスを使ったデータに対するクエリ
$nearにより、座標に近
い点を検索
MongoDB 2.xとMongoDB 3.0の違い
• アプリケーションからのインターフェースは変更なし
• 大きな変更点はストレージエンジン(データ永続化部分)。
MongoDB 3.0では新しいWiredTigerと古いmmapベース
が選択可能。
MongoDB 2.x MongoDB 3.0
ストレージエンジン
(データ永続化部分)
mmapベース
(=OSまかせ)
mmapベース
(=OSまかせ)
WiredTiger
ロックの粒度 データベース単位 コレクション単位 ドキュメント単位
データ圧縮 × ○
snappyとzlibを選択可
データとインデックスの分
離
× ○
メモリ使用量制限 ×
OSから与えられるだけ使う
○
肥大化するドキュメントの
扱い
×
ドキュメントが肥大化する
と、物理的な移動が必要
△
アルゴリズムの変更によ
り、以前ほど発生しなく
なった
○
肥大化しても移動は発生
しない
使ってみよう
• コマンドメモ
# インストール
# ダウンロードページ
http://www.mongodb.org/downloads
wget https://fastdl.mongodb.org/linux/mongodb-linux-
x86_64-3.0.4.tgz
tar zxvf mongodb-linux-x86_64-3.0.4.tgz
# 起動
cd mongodb-linux-x86_64-3.0.4.tgz
mkdir data
./bin/mongod --dbpath=data --nojournal
# MongoDBへ接続
# 別のターミナルを上げて、mongo shellで接続
./bin/mongo
# 基本的なCRUD
use mydb
db.mycol.insert({"key1":"value1"})
db.mycol.insert({"key2":"value2"})
db.mycol.find()
db.mycol.find({"key1":"value1"})
db.mycol.update({"key1":"value1"},{"key1":"value-hoge"})
db.mycol.remove({"key1":"value1"})
db.mycol.remove()
# 少し実践的なデータで試してみる
db.profile.insert(
{
"name" : "watanabe",
"skill" : ["MongoDB","KVM","ruby"],
"job":{
"before" : "Online Trade System",
"now" : "Open Source"
},
"editor":"emacs"
}
)
db.profile.insert(
{
"name" : "ogasawara",
"skill" : ["MongoDB","LibreOffice","Printing"],
"editor":"vim"
}
)
db.profile.insert(
kubota = {
"name" : "kubota",
"skill" : ["MongoDB","MySQL","PostgreSQL","ruby","c++","java","Web"],
"editor":"emacs",
"keybord":"kinesis"
}
)
db.profile.find({"skill":"MongoDB"},{"name":1})
db.profile.find({"skill":"KVM"},{"name":1})
watanabe = db.profile.findOne({"name":"watanabe"})
watanabe["job"]
17
プログラミング言語から使う場合
• mongoshellと同じ使い勝手です
• rubyの例
18
MongoDBを使う上での注意点
• トランザクションが無い
o MongoDBが複数のドキュメントを一貫性をもって更新する事ができな
い
o ミッションクリティカルで複数のテーブルの更新を保証しなければな
らないようなシステムでは、利用してはならない。
• 外部キー・結合が無い
o 他のドキュメントへの参照はアプリケーションで実装する必要がある。
o 当然ながら、外部キー制約もないため、テーブル間の整合性が重要な
システムには向いていない。
o 複数のドキュメントの内容を結合して取得することはできない。
• スキーマが無い
o どのようなキー名でデータが入っているかわからない。データ型もわ
からない。
o データ登録間違えの際にエラーが発生しない。
o 設計書を厳格に管理しないと、どのようなデータが入っているかわか
らなくなり、保守性の低下を招く恐れがある。
19
MongoDBの使いどころ
• 使いどころ、ユースケースしては「がっつりMongoDB事例紹介」の方を参
照ください。
• http://www.slideshare.net/tetsutarowatanabe/mongodb-32964238
20
MongoDB JP ”日本MongoDBユーザ会”
• ホームページ
o MongoDB JP. http://www.mongodb.jp/mongo/main
• メーリングリスト
o google group 名「MongoDB JP」
o https://groups.google.com/forum/#!forum/mongodb-jp
21

More Related Content

What's hot

そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?takezoe
 
Ormとの付き合い方
Ormとの付き合い方Ormとの付き合い方
Ormとの付き合い方豊明 尾古
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜Masakazu Matsushita
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングまずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングKosuke Kida
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターンSoudai Sone
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタSatoyuki Tsukano
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugMasatoshi Tada
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NETterurou
 

What's hot (20)

そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?
 
Ormとの付き合い方
Ormとの付き合い方Ormとの付き合い方
Ormとの付き合い方
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜後悔しないもんごもんごの使い方 〜アプリ編〜
後悔しないもんごもんごの使い方 〜アプリ編〜
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングまずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
Guide To AGPL
Guide To AGPLGuide To AGPL
Guide To AGPL
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターン
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
 
MongoDBの監視
MongoDBの監視MongoDBの監視
MongoDBの監視
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
 

Similar to 初心者向けMongoDBのキホン!

MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!Tetsutaro Watanabe
 
mongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 springmongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 springichikaway
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会otmb
 
既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~じゅん なかざ
 
Osc2012.dbに行ってきました
Osc2012.dbに行ってきましたOsc2012.dbに行ってきました
Osc2012.dbに行ってきましたMasaru Kobashigawa
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係Hiraku Komuro
 
Node.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaNode.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaYoshihiro Iwanaga
 
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3infinite_loop
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugSAKURUG co.
 
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたことNode.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたことbitbank, Inc. Tokyo, Japan
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれMasataka MIZUNO
 
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係Kaz Aiso
 
Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutesYohei Sasaki
 
データベース勉強会 In 広島 mongodb
データベース勉強会 In 広島  mongodbデータベース勉強会 In 広島  mongodb
データベース勉強会 In 広島 mongodbRyuji Tamagawa
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何Kana SUZUKI
 
MongoDBざっくり解説
MongoDBざっくり解説MongoDBざっくり解説
MongoDBざっくり解説知教 本間
 

Similar to 初心者向けMongoDBのキホン! (20)

MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!
 
mongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 springmongoDB: OSC Tokyo2010 spring
mongoDB: OSC Tokyo2010 spring
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会
 
既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~
 
Osc2012.dbに行ってきました
Osc2012.dbに行ってきましたOsc2012.dbに行ってきました
Osc2012.dbに行ってきました
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係
 
Node.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaNode.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
 
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurug
 
MongoDB
MongoDBMongoDB
MongoDB
 
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたことNode.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
 
AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは AWS re:Invent2017で見た AWSの強さとは
AWS re:Invent2017で見た AWSの強さとは
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
 
Docomo Cloud Package
Docomo Cloud PackageDocomo Cloud Package
Docomo Cloud Package
 
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
 
Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutes
 
データベース勉強会 In 広島 mongodb
データベース勉強会 In 広島  mongodbデータベース勉強会 In 広島  mongodb
データベース勉強会 In 広島 mongodb
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何
 
MongoDBざっくり解説
MongoDBざっくり解説MongoDBざっくり解説
MongoDBざっくり解説
 

More from Tetsutaro Watanabe

データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎Tetsutaro Watanabe
 
ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出Tetsutaro Watanabe
 
IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点Tetsutaro Watanabe
 
ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出Tetsutaro Watanabe
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際Tetsutaro Watanabe
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例Tetsutaro Watanabe
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめTetsutaro Watanabe
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたTetsutaro Watanabe
 
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用Tetsutaro Watanabe
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜Tetsutaro Watanabe
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionTetsutaro Watanabe
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Tetsutaro Watanabe
 
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
Tetsutaro Watanabe
 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例Tetsutaro Watanabe
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - Tetsutaro Watanabe
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法Tetsutaro Watanabe
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けTetsutaro Watanabe
 

More from Tetsutaro Watanabe (19)

データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
 
MLOpsはバズワード
MLOpsはバズワードMLOpsはバズワード
MLOpsはバズワード
 
ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出
 
IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点
 
ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
 
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
 
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム

 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分け
 
MongoDB3.2の紹介
MongoDB3.2の紹介MongoDB3.2の紹介
MongoDB3.2の紹介
 

Recently uploaded

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (9)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

初心者向けMongoDBのキホン!