Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.
-
Upload
alessandra-wike -
Category
Documents
-
view
243 -
download
0
Transcript of Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.
![Page 1: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/1.jpg)
com
Jean Carlo Nascimento aka SUISSA
![Page 2: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/2.jpg)
github.com/suissaabout.me/suissa
nosqlbr.com.br@osuissa
![Page 3: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/3.jpg)
NOSQLO que é?
Quais são?Por que usar?
Onde usar?
![Page 4: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/4.jpg)
![Page 5: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/5.jpg)
![Page 6: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/6.jpg)
![Page 7: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/7.jpg)
![Page 8: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/8.jpg)
![Page 9: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/9.jpg)
![Page 10: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/10.jpg)
![Page 11: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/11.jpg)
![Page 12: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/12.jpg)
key/value
![Page 13: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/13.jpg)
![Page 14: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/14.jpg)
graph
![Page 15: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/15.jpg)
![Page 16: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/16.jpg)
![Page 17: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/17.jpg)
![Page 18: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/18.jpg)
![Page 19: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/19.jpg)
![Page 20: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/20.jpg)
![Page 21: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/21.jpg)
![Page 22: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/22.jpg)
![Page 23: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/23.jpg)
![Page 24: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/24.jpg)
Terminologia
SQL RDBMS
DATABASETABLEROWSQUERYINDEXPARTITION
MongoDB
DATABASECOLLECTIONJSON DOCUMENTQUERYINDEXSHARD
![Page 25: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/25.jpg)
INSERIR
INSERT INTO USERS VALUES(1,1)
$db->users->insert(array("a" => 1, "b" => 1));
//ou$query = array( 'usuario' => "suissa", 'email' => "[email protected]");
$db->collection->insert($query);
![Page 26: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/26.jpg)
CONSULTAR
select * from tabela where nome = 'Jean Nascimento'
$filter = array( "nome" => "Jean Nascimento" );$cursor = $collection->find($filter);foreach ($cursor as $arr) { echo $arr["nome"]. " - " . $arr["_id"] . "<br />"; }
![Page 27: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/27.jpg)
CONSULTAR
select * from tabela where nome LIKE 'J___ Nascimento'
$filter = array( "nome" => new MongoRegex('/^J[a-Z]{3}Nascimento/i' );
select * from tabela where nome LIKE '%Nasc%'
$filter = array( 'title' => new MongoRegex('/.Nasc./i') );
![Page 28: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/28.jpg)
ALTERAR
update tarefas set Tarefa='Terminar artigo' where Usuario='suissa'
$db->collection->update( array('Usuario'=> 'suissa'), array('$set' => array('Tarefa' => 'Terminar artigo')));
update users set a=a+2 where b='q'
$db->users->update(array("b" => "q"), array('$inc => array("a" => 2)));
![Page 29: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/29.jpg)
EXCLUIR
delete from usuarios where Usuario = 'suissa'
$db->collection->remove(array('Usuario'=> 'suissa'));
![Page 30: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/30.jpg)
EXPLAIN
EXPLAIN SELECT * FROM users WHERE z=3
$db->users->find(array("z" => 3))->explain()
![Page 31: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/31.jpg)
![Page 32: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/32.jpg)
![Page 33: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/33.jpg)
![Page 34: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/34.jpg)
![Page 35: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/35.jpg)
Talk is cheap. Show me the
code.
![Page 36: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/36.jpg)
$nome_banco = ‘prioridades’;$nome_collection = ‘tarefas’;$this->conexao = new Mongo();$this->db = $this->conexao->$nome_banco;$this->collection = $this->db->$nome_collection;
![Page 37: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/37.jpg)
function inserir(){ $this->query = array( ‘UsuarioID’ => $this->UsuarioID, ‘Usuario’ => $this->Usuario, ‘Tarefa’ => $this->Tarefa, ‘Tipo’ => $this->Tipo,//Obrigatório, idéia, outro ‘Prioridade’ => $this->Prioridade); $this->collection->insert($this->query);}
![Page 38: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/38.jpg)
function excluir(){ $this->mongo_id = new MongoID($this->_id); $this->collection->remove(array(‘_id’ => $this->mongo_id));}
![Page 39: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/39.jpg)
function mudar_tarefa(){ $this->mongo_id = new MongoID($this->_id); $this->collection->update(array(‘_id’ => $this->mongo_id), array(‘$set’ => array(‘Tarefa’ => $this->Tarefa)), false);}
![Page 40: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/40.jpg)
function mudar_tarefa(){ $this->mongo_id = new MongoID($this->_id); $this->collection->update(array(‘_id’ => $this->mongo_id), array(‘$set’ => array(‘Tarefa’ => $this->Tarefa)), false);}
![Page 41: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/41.jpg)
function mudar_prioridade(){ $this->mongo_id = new MongoID($this->_id); if($this->modo==’up’){ $this->collection->update( array(‘_id’ => $this->mongo_id), array(‘$inc’ => array(‘Prioridade’ => 1)), false ); } elseif($this->modo==’down’){ $this->collection->update( array(‘_id’ => $this->mongo_id), array(‘$inc’ => array(‘Prioridade’ => -1)), false ); }}
![Page 42: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/42.jpg)
https://github.com/suissa/mongodb-exemplos
![Page 43: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/43.jpg)
Frameworks
CakePHPCodeigniterDoctrineDrupalFat-FreeKohana
LithiumMemcachedSymfony 2TechMVCVorkYiiZend
![Page 44: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/44.jpg)
Standalone Tools
ActiveMongo
MapReduce API
Mongofilesystem
Mandango
MongoDb PHP ODM
Mongodloid
MongoQueue
MongoRecord
Morph
simplemongophp
Uniform Server 6-Carbo with MongoDB and phpMoAdmin
![Page 45: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/45.jpg)
Referências
http://www.nosqlbr.com.br/http://nosql-database.org/http://pt.wikipedia.org/wiki/NoSQLhttp://www.mongodb.org/
![Page 46: Com Jean Carlo Nascimento aka SUISSA. github.com/suissa about.me/suissa nosqlbr.com.br @osuissa.](https://reader035.fdocument.pub/reader035/viewer/2022081717/551bea23550346be588b6282/html5/thumbnails/46.jpg)