Download pdf - MongoDB Introdução

Transcript
Page 1: MongoDB Introdução

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

Page 2: MongoDB Introdução

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

Page 3: MongoDB Introdução

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

Page 4: MongoDB Introdução

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

Page 5: MongoDB Introdução
Page 6: MongoDB Introdução

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

Page 7: MongoDB Introdução

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

Page 8: MongoDB Introdução

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

Page 9: MongoDB Introdução

$ mongod $ mongo

Na prática, via terminal

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo, campus São Carlos

Page 10: MongoDB Introdução

http://showterm.io/feb4864bd01063097e17f

Page 11: MongoDB Introdução

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

Page 12: MongoDB Introdução

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