MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Sobre o MongoDB


MongoDB é um sistema de gerenciamento de banco de dados de código aberto (DBMS) que usa um modelo de dados orientado a documentos. É considerado um banco de dados NoSQL, pois não utiliza o modelo relacional e, portanto, não utiliza SQL como sua linguagem de consulta.

O modelo orientado a documentos permite que o MongoDB armazene dados semiestruturados que não requerem um esquema fixo. Ele pode conseguir isso através do uso de documentos JSON.

O MongoDB é usado por algumas das maiores empresas do mundo, incluindo Facebook, Google, Nokia, MTV Networks, Cisco, Forbes e muitas outras.

MongoDB também é um DBMS multiplataforma, atualmente suportando Windows, Mac, Solaris e várias distribuições Linux no momento da escrita.

Um banco de dados MongoDB é diferente de um banco de dados relacional, pois o MongoDB usa um modelo orientado a documentos para armazenar dados. No modelo orientado a documentos, os dados são armazenados em documentos de uma coleção. No modelo relacional, os dados são armazenados em linhas de uma tabela.

As coleções


No MongoDB, uma coleção é um grupo de documentos. Uma coleção normalmente contém documentos que têm um tópico semelhante (como Usuários, Produtos, Postagens etc.).

As coleções são, portanto, em muitos aspectos, semelhantes às tabelas do modelo relacional.

Os Documentos


No MongoDB, os documentos são armazenados como JSON documentos. JSON (JavaScript Object Notation) é um padrão que facilita o intercâmbio de dados. Os documentos JSON são semelhantes aos documentos XML, pois os dados podem ser apresentados de maneira hierárquica e podem ser lidos por humanos e computadores.

Aqui está um exemplo de um documento JSON. É assim que os documentos dentro de um banco de dados MongoDB se parecem.
{
    artistname : "Deep Purple",
    albums : [
                {
                    album : "Machine Head",
                    year : 1972,
                    genre : "Rock"
                }, 
                {
                    album : "Stormbringer",
                    year : 1974,
                    genre : "Rock"
                }
            ]
}

O _id campo é o identificador exclusivo de um documento. O MongoDB permite que cada documento seja recuperado/referenciado usando este campo. Você pode fornecer isso ou deixar o MongoDB gerar.

Ao usar o JSON, os resultados da consulta podem ser facilmente analisados, com pouca ou nenhuma transformação, diretamente pelo JavaScript e pelas linguagens de programação mais populares. Isso ocorre porque os documentos JSON usam o nome/par e convenções de matriz que são familiares às linguagens de programação mais populares, como C, C++, C#, Java, JavaScript, Perl, Python e muitas outras. Isso reduz a quantidade de lógica de negócios que precisa ser incorporada aos aplicativos que usam o MongoDB.

Nos bastidores, o MongoDB realmente armazena os documentos JSON em um formato codificado em binário chamado BSON. O BSON estende o JSON por meio do suporte a tipos de dados adicionais e para ser eficiente para codificação e decodificação em diferentes idiomas.

Sem esquema


Cada documento JSON em uma coleção pode conter sua própria estrutura. Portanto, não há esquema fixo que limite o tipo de dados que podem ser inseridos em um banco de dados MongoDB.

Isso contrasta com um banco de dados relacional em que você deve primeiro criar o esquema (ou seja, definir as tabelas, colunas, tipos de dados etc.), antes de inserir qualquer dado. Se os dados não aderirem ao esquema, eles não entrarão no banco de dados.

Em um banco de dados MongoDB, não existe uma regra para dizer quais campos, ou quantos campos, cada documento deve ter. Por exemplo, um documento de uma coleção pode conter nome, endereço e número de telefone, enquanto outro documento pode conter nome e endereço de e-mail.