MongoDB Introdução

Preview:

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 <thpoiani@gmail.com>

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" : "thpoiani@gmail.com", "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