Índice:
Definição - O que significa o MongoDB?
O MongoDB é um banco de dados orientado a documentos de plataforma aberta e de código aberto, um tipo de banco de dados NoSQL. Como um banco de dados NoSQL, o MongoDB evita a estrutura baseada em tabela do banco de dados relacional para adaptar documentos semelhantes a JSON que possuem esquemas dinâmicos que ele chama de BSON.
Isso torna a integração de dados para certos tipos de aplicativos mais rápida e fácil. O MongoDB foi desenvolvido para escalabilidade, alta disponibilidade e desempenho, desde a implantação de um único servidor até grandes e complexas infraestruturas de vários sites.
Techopedia explica o MongoDB
O MongoDB foi desenvolvido pela primeira vez pelo MongoDB Inc., conhecido como 10gen, em outubro de 2007, originalmente como parte importante de um produto PaaS (Platform as a Service) semelhante ao Windows Azure e Google App Engine. O desenvolvimento foi alterado para código aberto em 2009.
O MongoDB se tornou um dos bancos de dados NoSQL mais populares, sendo usado como back-end para muitos sites importantes, incluindo eBay, Craigslist, SourceForge e The New York Times. O MongoDB está disponível sob a Licença Pública Geral GNU Affero, enquanto seus drivers de idioma estão disponíveis sob a Licença Apache. Também há licenças comerciais sendo oferecidas.
Recursos do MongoDB:
- Consultas ad hoc - suporta pesquisa por campo, pesquisas de expressão regular e consultas de intervalo.
- Indexação - qualquer campo no documento BSON pode ser indexado.
- Replicação - fornece alta disponibilidade por meio de conjuntos de réplicas, que consistem em duas ou mais cópias dos dados originais.
- Balanceamento de carga - sharding é o método usado para permitir que o MongoDB seja dimensionado horizontalmente, o que significa que os dados serão distribuídos e divididos em intervalos e armazenados em diferentes shards, que podem ser localizados em servidores diferentes. As chaves de fragmento são usadas para determinar como os dados serão distribuídos.
- Agregação - O MapReduce pode ser aplicado para permitir o processamento em lote de dados, além de executar operações de agregação.
- Armazenamento de arquivos - O MongoDB pode ser usado como sistema de arquivos, que utiliza as funções acima e atua de maneira distribuída por meio de sharding.