Upload
thiago-henrique-poiani
View
190
Download
53
Embed Size (px)
DESCRIPTION
Introdução a MongoDB Apresentação contendo informações básicas discutidas durante a disciplina de Desenvolvimento Web, da graduação de Tecnologia em Análise e Desenvolvimento de Sistemas, no Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos (IFSP). Tópicos apresentados: 1. NoSQL 1.1. Flexibilidade 1.2. Performance 1.3. Escalabilidade 2. Features 2.1. JSON 2.2. Schemaless 2.3. Geospacial 2.4. Index 2.5. ReplicaSet 2.6. Sharding Roteiro: $ mongo > use analise_desenvolvimento_sistemas > var aluno = { prontuario: 1101587, nome: 'Thiago Henrique Poiani', disciplinas: ['MP2', 'DW2', 'PRJ', 'GCE'] } > db.aluno.insert(aluno) Veja o roteiro completo em: http://showterm.io/feb4864bd01063097e17f
Citation preview
Thiago Henrique Poiani <[email protected]>
MongoDB - Introdução
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
NoSQL - Not Only SQL
FlexibilidadePerformanceEscalabilidade
Document databases: MongoDB
Graph stores: Neo4J, HyperGraphDB
Key-value stores: Redis, Riak, Voldemort
Wide-column stores: Cassandra, HBase
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
MongoDB
JSON - JavaScript Object Notation
{ field: value, field: { }, field: [element, element] }
Schemaless
Geospacial
Index
ReplicaSet - redundância e disponibilidade
Sharding - escalabilidade horizontal
Integração com Hadoop - processamento de grandes
massas de dados (Big Data)
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
MongoDB
SQL MongoDB
database database
table collection
row document or BSON document
column field
index index
table joins embedded documents and linking
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
MongoDB
db.aluno.findOne();
{ "_id" : ObjectId("5348a90ba1830aff2103a394"), "nome": "Thiago Henrique Poiani", "email" : "[email protected]", "idade": 21, "endereco": { "logradouro": "Rua Jurupema", "numero": 16, "cidade": "Araraquara", "estado": "SP" }, "interesses": [ "nosql", "node.js" ], "ativo": true, "cadastro" : ISODate("2014-04-12T02:46:35.981Z")}
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
MongoDB
SQL MongoDB
WHERE $match
GROUP BY $group
HAVING $match
SELECT $project
ORDER BY $sort
LIMIT $limit
SUM() $sum
COUNT() $sum
join $unwind
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
db.zips.aggregate([ {$match: { state:"NY" } }, {$group: { _id: "$city", population: {$sum:"$pop"}, } }, {$project: { _id: 0, city: "$_id", population: 1, } }, {$sort: { population:-1 } }, {$skip: 10}, {$limit: 5}])
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
$ mongod $ mongo
Na prática, via terminal
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
http://showterm.io/feb4864bd01063097e17f
DUMP
$ mongodump --host 127.0.0.1 --port 27017 --db database --collection collection --out/opt/mongodump.bson
$ mongorestore -h 127.0.0.1 --port 27017 -ddatabase -c collection /opt/mongodump.bson
Import
$ mongoimport --db database --collectioncollection --file documents.jsonInstituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos
MongoDB for Java Developers
MongoDB for Node.js Developers
MongoDB for Developers
MongoDB for DBAs
MongoDB Advanced Deployment and Operations
https://university.mongodb.com/
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos