Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
otmb
ODP, PPTX
2,561 views
Mongo db勉強会
社内向けにMongoDB勉強会をしました。 社内フレームワークDecoでの実装について。
Read more
3
Save
Share
Embed
Embed presentation
Download
Download as ODP, PPTX
1
/ 42
2
/ 42
3
/ 42
4
/ 42
5
/ 42
6
/ 42
7
/ 42
8
/ 42
9
/ 42
10
/ 42
11
/ 42
12
/ 42
13
/ 42
14
/ 42
15
/ 42
16
/ 42
17
/ 42
18
/ 42
19
/ 42
20
/ 42
21
/ 42
22
/ 42
23
/ 42
24
/ 42
25
/ 42
26
/ 42
27
/ 42
28
/ 42
29
/ 42
30
/ 42
31
/ 42
32
/ 42
33
/ 42
34
/ 42
35
/ 42
36
/ 42
37
/ 42
38
/ 42
39
/ 42
40
/ 42
41
/ 42
42
/ 42
More Related Content
PDF
Dexiejs
by
Ryota Suzuki
PPTX
Indexed DBについて(書きかけ)
by
iPride Co., Ltd.
PDF
Phpcon kansai 2011 ichikaway
by
ichikaway
PPTX
PHP+DB
by
Sawada Makoto
PDF
Pgunconf neo4j fdw
by
Toshi Harada
PDF
カウチなやつら CouchDB in the room
by
Makoto Ohnami
KEY
データベースのお話
by
Hidekazu Tanaka
PDF
20150520 lt-neo4j勉強会-neofj fdw
by
Toshi Harada
Dexiejs
by
Ryota Suzuki
Indexed DBについて(書きかけ)
by
iPride Co., Ltd.
Phpcon kansai 2011 ichikaway
by
ichikaway
PHP+DB
by
Sawada Makoto
Pgunconf neo4j fdw
by
Toshi Harada
カウチなやつら CouchDB in the room
by
Makoto Ohnami
データベースのお話
by
Hidekazu Tanaka
20150520 lt-neo4j勉強会-neofj fdw
by
Toshi Harada
What's hot
PPTX
MongoDBが遅いときの切り分け方法
by
Tetsutaro Watanabe
PDF
NoSQLデータベースと位置情報
by
Koji Ichiwaki
PDF
RとSQLiteで気軽にデータベース作成
by
弘毅 露崎
PPTX
Mongo dbを知ろう
by
CROOZ, inc.
PDF
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
by
Ryuji Tamagawa
PDF
MongoDBざっくり解説
by
知教 本間
PDF
DB tech showcase: 噂のMongoDBその用途は?
by
Hiroaki Kubota
PDF
HTML5 Local Storageを利用したメモ帳アプリ
by
Yossy Taka
PDF
ldapvi & python-ldap で stress-free life
by
Kouhei Maeda
PDF
ダイナミックDNSとは
by
Takeshi Kabu
PPTX
日本語:Mongo dbに於けるシャーディングについて
by
ippei_suzuki
PDF
Ajax非同期通信によるサーバー通信
by
Yossy Taka
PPTX
ゼロから始めるBlob
by
Kazunori Hamamoto
PDF
R以外の研究ツール
by
弘毅 露崎
PDF
初めてのMongo db
by
Ryuji Tamagawa
PDF
Db tech showcase2015 how to replicate between clusters
by
Hiroaki Kubota
PPTX
Mongo db勉強会の補足
by
CROOZ, inc.
ODP
Next-L Enju 開発ワークショップ #8
by
Kosuke Tanabe
ODP
Mongo dbを半年ちょっと運用してみた
by
htty_hasumi
ODP
Programming under capability mode
by
Yuichiro Naito
MongoDBが遅いときの切り分け方法
by
Tetsutaro Watanabe
NoSQLデータベースと位置情報
by
Koji Ichiwaki
RとSQLiteで気軽にデータベース作成
by
弘毅 露崎
Mongo dbを知ろう
by
CROOZ, inc.
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
by
Ryuji Tamagawa
MongoDBざっくり解説
by
知教 本間
DB tech showcase: 噂のMongoDBその用途は?
by
Hiroaki Kubota
HTML5 Local Storageを利用したメモ帳アプリ
by
Yossy Taka
ldapvi & python-ldap で stress-free life
by
Kouhei Maeda
ダイナミックDNSとは
by
Takeshi Kabu
日本語:Mongo dbに於けるシャーディングについて
by
ippei_suzuki
Ajax非同期通信によるサーバー通信
by
Yossy Taka
ゼロから始めるBlob
by
Kazunori Hamamoto
R以外の研究ツール
by
弘毅 露崎
初めてのMongo db
by
Ryuji Tamagawa
Db tech showcase2015 how to replicate between clusters
by
Hiroaki Kubota
Mongo db勉強会の補足
by
CROOZ, inc.
Next-L Enju 開発ワークショップ #8
by
Kosuke Tanabe
Mongo dbを半年ちょっと運用してみた
by
htty_hasumi
Programming under capability mode
by
Yuichiro Naito
Viewers also liked
PDF
【ポップインサイト】スタートアップのためのユーザテスト入門(ユーザ行動観察入門)
by
いけとも
PPTX
スタートアップ論(@沖縄での起業家イベント:投影用資料)
by
Goushi Yamaguchi
PDF
Webマーケティング戦略セミナー
by
Yasuhiro Yoshizumi
PDF
【Draft】サービス説明資料2017.03.01
by
Kohta Wada
PDF
WEBマーケティングを事例で習得 - schooのユーザーを5倍にしよう! 先生:山田 案稜
by
schoowebcampus
PDF
「新規事業の立ち上げにおけるチームビルディングの前提」Service Design Night vol.3 〜 新規事業立ち上げ時のチームビルディ...
by
Tomohiro Suzuki
PDF
新規事業を立ち上げる時のチームビルディングについて(Yenta)
by
Toshiyuki Oka
PPT
スタートアップのPR会議に参加して鍛える企画力【Cu-hacker編】 先生:秋貞 雄大
by
schoowebcampus
PPTX
Schoo講義資料 the startup0815訂正版
by
Yuhei Umeki
PPTX
FARO REPORT Premium Sample
by
Miyu Mito
【ポップインサイト】スタートアップのためのユーザテスト入門(ユーザ行動観察入門)
by
いけとも
スタートアップ論(@沖縄での起業家イベント:投影用資料)
by
Goushi Yamaguchi
Webマーケティング戦略セミナー
by
Yasuhiro Yoshizumi
【Draft】サービス説明資料2017.03.01
by
Kohta Wada
WEBマーケティングを事例で習得 - schooのユーザーを5倍にしよう! 先生:山田 案稜
by
schoowebcampus
「新規事業の立ち上げにおけるチームビルディングの前提」Service Design Night vol.3 〜 新規事業立ち上げ時のチームビルディ...
by
Tomohiro Suzuki
新規事業を立ち上げる時のチームビルディングについて(Yenta)
by
Toshiyuki Oka
スタートアップのPR会議に参加して鍛える企画力【Cu-hacker編】 先生:秋貞 雄大
by
schoowebcampus
Schoo講義資料 the startup0815訂正版
by
Yuhei Umeki
FARO REPORT Premium Sample
by
Miyu Mito
Similar to Mongo db勉強会
PPTX
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
PPT
MongoDB
by
あしたのオープンソース研究所
PDF
2019年度 若手技術者向け講座 NoSQL
by
keki3
PDF
MongoDB〜その性質と利用場面〜
by
Naruhiko Ogasawara
PDF
MongoDB勉強会資料
by
Hiromune Shishido
PDF
MongoDBとAjaxで作る解析フロントエンド&GraphDBを用いたソーシャルデータ解析
by
Takahiro Inoue
PDF
MongoDBの使い方
by
Tatsuto Maetsu
PPT
Mongodb
by
Satoru Mikami
PPTX
PHPとMongoDBで学ぶ次世代データストア
by
Takuya Sato
PDF
Introduction to MongoDB
by
moai kids
PDF
はじめてのMongoDB
by
Keisuke Izumiya
PDF
20120831 mongoid
by
Takeshi AKIMA
DOC
20110301 Mongo Tokyo
by
Kenichi Masuda
DOC
20110302 Mongo Tokyo
by
Kenichi Masuda
PDF
後悔しないもんごもんごの使い方 〜アプリ編〜
by
Masakazu Matsushita
PDF
Mongodb 紹介
by
Ryo Matsumura
PDF
mongodbの簡易ストレージ化
by
Hidetoshi Mori
PDF
Javaでmongo db
by
Funato Takashi
PDF
MongoDB very basic (Japanese) / MongoDB基礎の基礎
by
Naruhiko Ogasawara
PDF
StepInNosql
by
abedaisuke1
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
MongoDB
by
あしたのオープンソース研究所
2019年度 若手技術者向け講座 NoSQL
by
keki3
MongoDB〜その性質と利用場面〜
by
Naruhiko Ogasawara
MongoDB勉強会資料
by
Hiromune Shishido
MongoDBとAjaxで作る解析フロントエンド&GraphDBを用いたソーシャルデータ解析
by
Takahiro Inoue
MongoDBの使い方
by
Tatsuto Maetsu
Mongodb
by
Satoru Mikami
PHPとMongoDBで学ぶ次世代データストア
by
Takuya Sato
Introduction to MongoDB
by
moai kids
はじめてのMongoDB
by
Keisuke Izumiya
20120831 mongoid
by
Takeshi AKIMA
20110301 Mongo Tokyo
by
Kenichi Masuda
20110302 Mongo Tokyo
by
Kenichi Masuda
後悔しないもんごもんごの使い方 〜アプリ編〜
by
Masakazu Matsushita
Mongodb 紹介
by
Ryo Matsumura
mongodbの簡易ストレージ化
by
Hidetoshi Mori
Javaでmongo db
by
Funato Takashi
MongoDB very basic (Japanese) / MongoDB基礎の基礎
by
Naruhiko Ogasawara
StepInNosql
by
abedaisuke1
Mongo db勉強会
1.
MongoDB 勉強会
2.
MongoDB とは?
3.
ドキュメント指向型 データーベース
4.
RDB が関係を格納するのに対し、 ドキュメント指向は、
ドキュメントを格納します。
5.
何故ドキュメント指向を使うのか?
6.
背景としては、 RDB では、
一般的にスケールアウトが難しい。 今も DB は一台で他を 分散化しようという流れがありますよね? 何にでも RDB を使うのではなく、 用途に応じて、分散化しやすい KVS やデータストアを利用していこう。 NoSQL を使おうという流れがある。
7.
NoSQL は 既に活用されています
8.
例えば、
9.
Google の
BigTable
10.
Amazon の
Dynamo
11.
これらはプロプライエタリな データーベース
12.
では、オープンな ドキュメント指向は 何があるか?
13.
Cassandra Apache License
2.0 Java
14.
CouchDB( カウチ DB)
Apache License 2.0 Erlang
15.
MongoDB GNU AGPL
v3.0 C++
16.
他にも色々 - Chordless
- Db4o - GT.M - HBase - Hypertable - Memcachedb - Mnesia - Project Voldemort - Redis - SimpleDB
17.
前置きはこのくらいにして、
18.
操作をしよう。
19.
ユーザーを作成
20.
// 接続
$ mongo > // 予約語として管理 DB があります。 > use admin // 現在はユーザーがいません。 > db.system.users.find() // ユーザーを作成します。 > db.addUser('root','password') { "_id" : ObjectId("4ce0d5d806d4bbe3c620c5a4"), "user" : "root", "readOnly" : false, "pwd" : "d60e7db4538202339acd585fa951c5aa" } // ユーザーを確認 > db.system.users.find() { "_id" : ObjectId("4ce0d5d806d4bbe3c620c5a4"), "user" : "root", "readOnly" : false, "pwd" : "d60e7db4538202339acd585fa951c5aa" }
21.
管理ユーザーが作成できれば、 //
パスワード設定を行います。 $ vi /etc/mongo.conf noauth = false auth = true $ /etc/init.d/mongo restart 次に認証の操作。
22.
// 接続
$ mongo > > use admin // DB の一覧を求めます。 Error を返します。 > show dbs // 認証します。 > db.auth('root','password') 1 // DB の一覧が見れるようになりました > show dbs // データーを登録します。 // use で DB を指定(作成 ) > use test // コレクションを指定してデーターを登録することで、コレクション ( テーブル ) が出来ます。 > db.hoge.insert({hoge: 1}) > db.hoge.find() // コレクションの一覧確認 > show collections
23.
高度な検索をする際は、以下を参考ください。 http://www.mongodb.org/pages/viewpage.action?pageId=6029357 イコールだと、
> db.hoge.find({hoge : 1 }) 例えば ne > db.hoge.find({ hoge: { $ne : 1 } })
24.
簡単な操作は以上 次は社内フレームワーク Deco
25.
Deco で Mongo
を 実装しました。
26.
なんで MongoDB なの?
27.
理由
28.
PHP から接続できるライブラリが 簡単に利用できるのと、記述が簡単
29.
// ライブラリの
インストール は一行 $ pecl install mongo // 設定は php.ini に 一行 extension=mongo.so
30.
では、 Deco での初期設定、
操作をみていきます。
31.
接続 env.yml
db: dsn: "mongodb://[username]:[password]@localhost/[database]" database: [database] 設定は以上
32.
コードの書き方 // DB
のインスタンス作成 $hoge = $c->mongo('hoge'); // 結果の配列を受け取る $out = $hoge->findBy($id); var_dump($out);
33.
以上で、操作出来ます。 次に PHP
のライブラリを見ていきます。
34.
MongoDB の コアクラス
Mongo Class MongoDB Class MongoCollection Class MongoCursor Class コアクラスは4つある。 次はクラスの説明。
35.
- Mongo Class
MongoDB と PHP を接続 - MongoDB Class Mongo Class のインスタンスを利用した データベースとのやりとり $m = new Mongo(); // 接続 $db = $m->selectDB("example"); - MongoCollection Class MongoDB のインスタンスを利用した コレクションを操作するクラス - MongoCursor Class データベースクエリの結果を表すオブジェクト
36.
Deco での実装では
MongoCollection Class を オーバーライドし、 インスタンスの結果を返します。
37.
何が嬉しいか? MongoCollection の
メソッドを自由に変更できる。
38.
また、 plugin/mongo/[collection].php
を用意することで、 コレクション毎に、 MongoCommon を オーバーライドする実装としました。
39.
Deco Mongo パッケージ構成
plugin/mongo.php plugin/mongo/MongoCommon.php plugin/mongo/[collection].php + Deco.php に function 追加 // mongoDB function & mongo($table){ $db = $this->plugin('mongo', 1); return $db->getMongo($table); }
40.
クラスのイメージ plugin/mongo/MongoCommon.php class
MongoCommon extends MongoCollection { } plugin/mongo/[collection].php // location.php class P_mongo_location extends MongoCommon { }
41.
つまり、メソッドの MongoCommon
の find メソッドに対し、 P_mongo_location に find を実装することで、 処理の上書きができます。 plugin/mongo/MongoCommon.php class MongoCommon extends MongoCollection { function find($query = array()){ return parent::find($query); } } plugin/mongo/[collection].php class P_mongo_location extends MongoCommon { function find($query = array()){ // ← が優先となる。 return 'hoge'; } }
42.
実装は以上です。 あとは、 Deco
での操作を見ながら 確認していきます。
Download