Aprendendo com a MongoDB University

Fala galera, um feliz ano novo a todos!! Finalmente estou de volta a minha rotina de escrita depois de tanto tempo sem postar.  Hoje trago um depoimento rápido sobre meu contato com NoSQL, mais especificamente com o banco MongoDB, e os cursos da MongoDB University.

mongodb logo

Deixando claro que mostro minha opinião pessoal sobre os cursos, talvez algum de vocês já estejam avançados nestes tópicos e tenham uma visão diferente. Meu primeiro  contato com MongoDB especificamente foi em 2017 através de um projeto pessoal em python para coleta de dados em sites na web (crawler).

Para quem não conhece o MongoDB é apenas um entre vários bancos não relacionais que existem, como o Cassandra, BigTable, Amazon Dynamo, Azure Cosmos DB, e outras dezenas dos mais diversos tipos e formatos. Não tenho um motivo específico para usar o MongoDB, precisava começar de algum ponto e acabei dando de cara com a biblioteca pymongo do python e o MongoDB através do site www.mongodb.com.

Criar um banco no cloud desse site, chamado MongoDB Atlas, é bem simples e possui opções gratuitas, não vou entrar em detalhes neste post mas depois de alguns meses criando crawlers e me familiarizando, decidi aprofundar os meus conhecimentos teóricos, foi ai que o MVP Jhonathan Soares do portal CodigoSimples.net me recomendou o site MongoDB University, um portal gratuito de cursos e certificações em MongoDB. Coloquei a lista de cursos abaixo, todos online e gratuitos:

M001: MongoDB Basics (Iniciante)
M040: New features and tools in MongoDB 4.0 (Iniciante)
M103: Basic Cluster Administration (Iniciante)
M121: The MongoDB Aggregation Framework (Iniciante)
M201: MongoDB Performance  (Iniciante)
M220P: MongoDB for Python Developers (Intermediário)
M220J: MongoDB for Java Developers (Intermediário)
M220JS: MongoDB for Javascript Developers (Intermediário)
M310: MongoDB Security (Avançado)
M312: MongoDB Diagnostics and Debugging (Avançado)
UD32: Data Wrangling with MongoDB (Pela Udacity)

Veja que dois deles estão em negrito, são os que finalizei até o momento, estou aguardado o início do curso M040 que será iniciado agora dia 08/01/2019. Quem já conhece Moocs(Massive Open Online Courses) como Coursera e Edx sabe que cada um tem uma forma levemente diferente apesar da proposta ser a mesma, no caso no MongoDB University o estudo também é self-paced, ou seja, você estuda no seu ritmo mas tanto o início/término do curso quanto a entrega de tarefas possuem prazo, se você deixar de mandar uma tarefa no prazo sua nota será penalizada.

Desses cursos os únicos que não tenho pretensão de fazer antes da certificação são M220J e M220JS pois acredito que tenha uma estrutura semelhante ao M220P em python, mudando apenas a linguagem. Ao final dos cursos pretendo fazer a certificação(não é gratuita obviamente ^^) para desenvolvedor oferecida pelo site, mas existe uma voltada para DBA’s(Database Administrators) também. A certificação é apenas uma comprovação teórica do que foi assimilado, o conhecimento  adquirido ninguém tira de você.

Recomendo fortemente iniciar pelo M001 caso não tenha muita experiência, mesmo que já tenha feito algum “hello world”, apesar de simples acabei passando por alguns pontos que ainda não tinha tido contato, veja a ementa:

  1. Introdução
    1. Estrutura do MongoDB: bancos, documentos e coleções
    2. Conectando ao MongoDB(local ou o cloud deles) usando a ferramenta Compass. Eu uso também no dia-a-dia o NoSQL Booster for MongoDB.
    3. Tipos de dados: array, objeto, inteiro, string, geoespaciais, …
  2. MongoDB Query Language + Atlas(Cloud)
    1. Instalando e utilizando o mongo shell.
    2. Criando um cluster na nuvem Atlas
    3. Importando dados para o cluster
    4. CRUD: create, read, update e delete. Mostra como inserir apenas um documento (insertOne), vários documentos (insertMany). Mesma coisa para updateOne/updateMany. Trata de upserts, replaces e deletes.
  3. Deeper Dive ont he MongoDB Query Language
    1. Neste tópico o curso trata de operadores de comparação, lógicos, de elementos. Veja exemplos: $exists, $type, $and, $or, $all, $size, $regex, e por aí vai.
  4. Exame Final
    1. Cada capítulo possui várias questões(quiz) mas no capítulo final são feitas 6 questões de múltipla escolha reunindo tudo que foi aprendido. Para quem ta achando que basta assistir os videos para conseguir o certificado não se iluda, sem abrir a ferramenta de análise dos dados como Compass ou o Mongo Shell, não da para acertar algumas questões, apenas chutando mesmo.

Bom, não entrar em detalhes do curso M220P, ele possui um nível acima do M001 e para terminar necessário realmente meter a mão em código seja python, java ou javascript. No início do curso é passado para o aluno uma aplicação exemplo para controle de um site web com um catálogo de filmes, e a cada capítulo você precisa executar as tarefas pedidas e gerar um hash através dos testes unitários existentes, sem o hash você não consegue concluir a tarefa e vai perder pontos. Aprendi muito com esse curso em python, coisas que ainda não tinha feito como paginação e querys com múltiplos operadores e parâmetros aninhados se tornaram bem mais simples. Após o término do curso poderá baixar seu certificado e visualizar detalhes do seu desempenho:

Infelizmente no M001 não consegui os 100% justamente por perder o prazo de tarefas, fiquei com 89%, então fiquem de olho no deadline. Espero que meu depoimento tenha sido minimamente instrutivo e traga alguma novidade para quem ainda não se aventurou no mundo NoSQL, seja você DBA ou desenvolvedor realmente acredito que existam situações para adoção deste tipo de banco em detrimento aos bancos relacionais, seja para projetos grande ou pequenos. Além de aprender algo novo, meus crawlers fizeram bom uso da facilidade de se criar e manter a estrutura de um banco neste formato (schemaless), nada de treta pessoal, cada projeto tem seus requisitos e talvez o NoSQL possa beneficiar os seus.

Abraços e Feliz 2019

 

 

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s