Criou página com '= MongoDB = <br> Arquivo:MongoDBlogo.jpeg <br> == História == <br> Lançado sob uma combinação da GNU e a licença Apache, MongoDB é software livre e open source dese...' |
Sem resumo de edição |
||
| Linha 5: | Linha 5: | ||
== História == | == História == | ||
<br> | <br> | ||
Lançado sob uma combinação da GNU e a licença Apache, MongoDB é software livre e open source desenvolvido primeiramente pela 10gen | Lançado sob uma combinação da GNU e a licença Apache, MongoDB é software livre e open source desenvolvido primeiramente pela 10gen(empresa com sede em Nova York e que agora se chama MongoDB Inc.) em 2007, como o serviço de um produto, e se tornou um modelo de desenvolvimento de código aberto a partir de 2009. | ||
Desde então, MongoDB foi adotado por um grande número de sites e serviços, incluindo eBay, Foursquare, SourceForge, The New York Times, entre outros. Hoje, o MongoDB é o sistema de banco de dados NoSQL mais popular. | Desde então, MongoDB foi adotado por um grande número de sites e serviços, incluindo eBay, Foursquare, SourceForge, The New York Times, entre outros. Hoje, o MongoDB é o sistema de banco de dados NoSQL mais popular. | ||
<br> | <br> | ||
| Linha 11: | Linha 11: | ||
<br> | <br> | ||
* Modelo de dados de documentos com esquemas dinâmicos - Em vez de armazenar dados em linhas e colunas, como seria com um banco de dados relacional, MongoDB armazena uma forma binária de documentos JSON (BSON). | * Modelo de dados de documentos com esquemas dinâmicos - Em vez de armazenar dados em linhas e colunas, como seria com um banco de dados relacional, MongoDB armazena uma forma binária de documentos JSON (BSON). | ||
<br> | |||
* Completo, suporte índice flexível e consultas ricos - Qualquer campo em um documento MongoDB pode ser indexado. | * Completo, suporte índice flexível e consultas ricos - Qualquer campo em um documento MongoDB pode ser indexado. | ||
<br> | |||
* Auto-Sharding para escalabilidade horizontal e Built-in de replicação para alta disponibilidade - Balanceamento de carga e/ou duplicação de dados para manter o sistema em funcionamento no caso de falha de hardware. Possui Configuração automática e fácil de implantar, além de que novas máquinas podem ser adicionados a um banco de dados já em execução. | * Auto-Sharding para escalabilidade horizontal e Built-in de replicação para alta disponibilidade - Balanceamento de carga e/ou duplicação de dados para manter o sistema em funcionamento no caso de falha de hardware. Possui Configuração automática e fácil de implantar, além de que novas máquinas podem ser adicionados a um banco de dados já em execução. | ||
<br> | |||
* Pesquisa de texto - Suporta busca de campo, consultas de intervalo, pesquisas de expressões regulares, etc. As consultas podem retornar campos específicos de documentos e incluir também funções JavaScript definidas pelo usuário. | * Pesquisa de texto - Suporta busca de campo, consultas de intervalo, pesquisas de expressões regulares, etc. As consultas podem retornar campos específicos de documentos e incluir também funções JavaScript definidas pelo usuário. | ||
<br> | |||
* Segurança avançada - Existem plugins de monitoramento disponíveis e várias ferramentas de rede. | * Segurança avançada - Existem plugins de monitoramento disponíveis e várias ferramentas de rede. | ||
<br> | |||
* Agregação e MapReduce - O MapReduce pode ser usado para o processamento de dados e operações de agregação em lote. A estrutura de agregação permite aos usuários obter tipos de resultados semelhantes a cláusula GROUP BY do SQL. | * Agregação e MapReduce - O MapReduce pode ser usado para o processamento de dados e operações de agregação em lote. A estrutura de agregação permite aos usuários obter tipos de resultados semelhantes a cláusula GROUP BY do SQL. | ||
<br> | |||
* Grande mídia de armazenamento com GridFS - Pode ser usado como um sistema de arquivos , aproveitando o balanceamento de carga e recursos de replicação de dados em várias máquinas para armazená-los. | * Grande mídia de armazenamento com GridFS - Pode ser usado como um sistema de arquivos , aproveitando o balanceamento de carga e recursos de replicação de dados em várias máquinas para armazená-los. | ||
<br> | <br> | ||
| Linha 28: | Linha 27: | ||
= Sharding = | = Sharding = | ||
<br> | <br> | ||
Sharding é o processo de armazenar registros de dados em várias máquinas e é a abordagem do MongoDB para atender as demandas de crescimento de dados. À medida que os dados aumentam de tamanho, uma única máquina pode não ser suficiente para armazená-los, nem proporcionar uma leitura e gravação com rendimento aceitável. O Sharding resolve o problema com a escala horizontal, ou seja, é possível adicionar mais máquinas para suportar o crescimento de dados e as demandas de operações. | |||
<br> | <br> | ||
[[Arquivo:Mongodbsharding.png]] | |||
<br> | <br> | ||
= mongos = | |||
<br> | |||
No MongoDB, os mongos é um serviço do roteamento que permite processos a partir da camada de aplicação, e determina a localização dos dados no banco, para concluir tais operações. Os mongos é que permitem inserir, remover e atualizar dados no banco, assim como gerar informações de replicação, configurar o sharding, desligar o servidor, executar JavaScript e etc. | |||
<br> | <br> | ||
Edição atual tal como às 22h17min de 11 de setembro de 2013
MongoDB
História
Lançado sob uma combinação da GNU e a licença Apache, MongoDB é software livre e open source desenvolvido primeiramente pela 10gen(empresa com sede em Nova York e que agora se chama MongoDB Inc.) em 2007, como o serviço de um produto, e se tornou um modelo de desenvolvimento de código aberto a partir de 2009.
Desde então, MongoDB foi adotado por um grande número de sites e serviços, incluindo eBay, Foursquare, SourceForge, The New York Times, entre outros. Hoje, o MongoDB é o sistema de banco de dados NoSQL mais popular.
Principais características
- Modelo de dados de documentos com esquemas dinâmicos - Em vez de armazenar dados em linhas e colunas, como seria com um banco de dados relacional, MongoDB armazena uma forma binária de documentos JSON (BSON).
- Completo, suporte índice flexível e consultas ricos - Qualquer campo em um documento MongoDB pode ser indexado.
- Auto-Sharding para escalabilidade horizontal e Built-in de replicação para alta disponibilidade - Balanceamento de carga e/ou duplicação de dados para manter o sistema em funcionamento no caso de falha de hardware. Possui Configuração automática e fácil de implantar, além de que novas máquinas podem ser adicionados a um banco de dados já em execução.
- Pesquisa de texto - Suporta busca de campo, consultas de intervalo, pesquisas de expressões regulares, etc. As consultas podem retornar campos específicos de documentos e incluir também funções JavaScript definidas pelo usuário.
- Segurança avançada - Existem plugins de monitoramento disponíveis e várias ferramentas de rede.
- Agregação e MapReduce - O MapReduce pode ser usado para o processamento de dados e operações de agregação em lote. A estrutura de agregação permite aos usuários obter tipos de resultados semelhantes a cláusula GROUP BY do SQL.
- Grande mídia de armazenamento com GridFS - Pode ser usado como um sistema de arquivos , aproveitando o balanceamento de carga e recursos de replicação de dados em várias máquinas para armazená-los.
Sharding
Sharding é o processo de armazenar registros de dados em várias máquinas e é a abordagem do MongoDB para atender as demandas de crescimento de dados. À medida que os dados aumentam de tamanho, uma única máquina pode não ser suficiente para armazená-los, nem proporcionar uma leitura e gravação com rendimento aceitável. O Sharding resolve o problema com a escala horizontal, ou seja, é possível adicionar mais máquinas para suportar o crescimento de dados e as demandas de operações.
mongos
No MongoDB, os mongos é um serviço do roteamento que permite processos a partir da camada de aplicação, e determina a localização dos dados no banco, para concluir tais operações. Os mongos é que permitem inserir, remover e atualizar dados no banco, assim como gerar informações de replicação, configurar o sharding, desligar o servidor, executar JavaScript e etc.
