Definição – o que significa o MongoDB?
MongoDB é um banco de dados orientado a documentos de plataforma cruzada e de código aberto, uma espécie 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 do tipo JSON que têm 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 de uma única implantação de servidor a grandes e complexas infraestruturas multi-site.
Definirtec explica MongoDB
O MongoDB foi desenvolvido pela primeira vez pela MongoDB Inc., conhecida então como 10gen, em outubro de 2007, originalmente como uma parte importante em um produto PaaS (Plataforma como Serviço) semelhante ao Windows Azure e Google App Engine. O desenvolvimento foi mudado 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 GNU Affero General Public License, enquanto seus drivers de idioma estão disponíveis sob a Licença Apache. Existem também 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 escalonado horizontalmente, o que significa que os dados serão distribuídos e divididos em intervalos e, em seguida, armazenados em diferentes shards que podem estar localizados em diferentes servidores. Chaves shard são usadas para determinar como os dados serão distribuídos.
- Agregação – MapReduce pode ser aplicado para permitir o processamento em lote de dados, bem como executar operações de agregação.
- Armazenamento de arquivos – o MongoDB pode ser usado como sistema de arquivos que faz uso das funções acima e atua de maneira distribuída por meio de fragmentação.