O banco de dados do tipo ‘Documents’ รฉ um dos tipos mais versรกteis que temos no mundo NoSQL, possuindo um schema definido como flexรญvel que permite que os registros e documentos possuam campos com diferentes tipos e em diferentes quantidades sem a existรชncia de um schema fixo. Tais documentos sรฃo definidos em formato JSON, utilizando conceitos prรณximos do modelo Orientado a Objetos onde o objeto aqui equivaleria a um documento. Novos campos podem ser adicionados facilmente, permitindo uma rรกpida evoluรงรฃo da aplicaรงรฃo em desenvolvimento. Exemplos: MongoDB e CouchDB.
O MongoDB nรฃo possui um schema definido assim como os bancos de dados relacionais, mas isso nรฃo quer dizer que ele nรฃo possui qualquer schema. O que temos no MongoDB รฉ um schema flexรญvel, que permite a criaรงรฃo de documentos livremente, adicionando novos campos conforme a demanda do desenvolvimento da aplicaรงรฃo, agilizando justamente esse processo. Mas caso necessรกrio o MongoDB pode ser configurado para garantir que campos e tipos de dados sejam definidos, para isso fazendo uso de validators que podem ser criados em uma collection. O MongoDB suporta diversos tipos de รญndices: unique, compound, hash, range, text e geospatial. Para criaรงรฃo de consultas complexas podemos utilizar o processo aggregate que implementa um conceito de pipeline de tratamento de informaรงรตes. Nesse processo podemos gerar estatรญsticas e informaรงรตes de anรกlise do conjunto de dados.
Algumas das caracterรญsticas mais importantes do MongoDB sรฃo:
- Schema flexรญvel;
- รndices;
- Aggregation;
- Suporte a replicaรงรฃo;
- Escalonรกvel Horizontalmente (Sharding);
- Orientado a Documentos;
- Utiliza formatos JSON e BSON;
- Transaction e Multi-Document ACID Transaction para ReplicaSet e Sharding
Colocar um curso da 4Linux no seu LinkedIn faz toda a diferenรงa!
Transforme a sua carreira agora, invista em um curso que nรฃo รฉ palestra e sim cursos para quem quer aprender de verdade, colocando a โmรฃo na massaโ.
Aprenda com a รบnica escola que tambรฉm implementa projetos, trazendo essa experiรชncia do mundo corporativo para a sala de aula.
Jรก treinamos +200.000 profissionais em nossos +40 cursos nas รกreas de: Cloud, Containers, DevOps, Linux, Banco de Dados, Monitoramento de TI, Seguranรงa.

ReplicaSet
A ReplicaSet no MongoDB รฉ um grupo de servidores que mantรชm o mesmo conjunto de dados, fornecendo redundรขncia e alta disponibilidade e รฉ a base para todas as implementaรงรตes de produรงรฃo. A replicaรงรฃo fornece redundรขncia e aumenta a disponibilidade dos dados.
Sharding
O Sharding รฉ um mรฉtodo para particionamento de dados em vรกrios servidores. O MongoDB usa o recurso de sharding para suportar implantaรงรตes com conjuntos de dados muito grandes e muitas operaรงรตes I/O.
Os sistemas de banco de dados com grandes conjuntos de dados ou aplicaรงรตes que utilizam muitas operaรงรตes I/O podem esgotar a capacidade de um รบnico servidor. Por exemplo, altas taxas de consulta podem esgotar a capacidade da CPU do servidor e reduzir a performance do banco. Com o sharding esse processamento pode ser distribuรญdo em vรกrios servidores melhorando a performance da aplicaรงรฃo.