MongoDb Concepts

Carlos Rodrigues

carlos.rodrigues@duratex.com.br

Agenda

  1. Conceito NoSQL
  2. Tipos de NoSQL
  3. Documento Vs Registro
  4. Alta Disponibilidade
  5. Escalabilidade
  6. Transações
  7. Geospatial search
  8. Quick Cards / Documentação
  9. AtlasDB (DBaas)

NoSql

O que significa NoSql ?

NoSql

Not Only Sql.

Tipos de NoSql

  • Chave / Valor
    • Cassandra / Redis / DynamoDB
  • Documental
    • MongoDB / DynamoDB
  • Gráficos / Grafo
    • Neptune / Neo4J

Documento vs Registro

Documento vs Registro

CREATE TABLE people (
    id MEDIUMINT NOT NULL
        AUTO_INCREMENT,
    user_id Varchar(30),
    age Number,
    status char(1),
    PRIMARY KEY (id)
);

GO

INSERT INTO people(user_id,
                  age,
                  status)
VALUES ("bcd001",
        45,
        "A");






db.people.insertOne( {
    user_id: "abc123",
    age: 55,
    status: "A"
 } )

SQL

MongoDB

Insert

Documento vs Registro

ALTER TABLE people
ADD join_date DATETIME

GO 

UPDATE people
SET join_date = "23/11/2018"
WHERE id = 25






db.people.updateMany(
    { },
    { $set: { 
        join_date: new Date() 
        } 
    }
)

SQL

MongoDB

Update

Documento vs Registro

Blog - Relacional

Documento vs Registro

Blog - MongoDB Way

Alta Disponibilidade

Escalabilidade

Escalabilidade

Transações

Geospatial search

db.restaurants.find({ location:
   { $geoWithin:
      { $centerSphere: [ 
                    [ -73.93414657, 40.82302903 ], 
                    5 / 3963.2 
                ] 
        } 
    } 
})

QuickCard / Manual

https://info-mongodb-com.s3.amazonaws.com/ReferenceCards15-PDF.pdf

https://docs.mongodb.com/manual/

AtlasDB / DbaaS

https://cloud.mongodb.com

Obrigado

Carlos Rodrigues

carlos.rodrigues@duratex.com.br

Made with Slides.com