Avançar para o conteúdo principal

Mecanismo de base de dados NoSQL para bases de dados orientadas para a documentação.

MongoDB é a solução para requisitos de bases de dados que se afastam da gestão relacional tradicional: introduza uma solução NoSQL utilizada por empresas empresariais, incluindo a eBay e a Forbes. A base de dados de documentos permite que os utilizadores comecem a criar documentos na sua base de dados sem necessidade de estabelecer uma estrutura de documentos, o que permite aos utilizadores editar em tempo real e em rápida escala. Devido a esta flexibilidade tanto na estrutura de dados como na gestão, o MongoDB é frequentemente utilizado como uma única solução de base de dados para empresas e organizações que têm necessidades flutuantes de BD.

Construa a sua própria base de dados flexível com a aplicação MongoDB Marketplace da Linode.

Implementação do MongoDB Marketplace App

O Linode Marketplace permite-lhe implementar facilmente software num Linode utilizando o Linode Cloud Manager.

  1. Inicie sessão no Gestor de Nuvens e seleccione a ligação Marketplace a partir do menu de navegação à esquerda. Isto mostra a página Linode Compute Create com o separador Marketplace pré-seleccionado.
  2. Sob a secção Seleccionar aplicação, seleccione a aplicação que gostaria de implementar.
  3. Preencher todas as Opções requeridas para a aplicação seleccionada, bem como quaisquer Opções Avançadas desejadas (que são opcionais). Ver a secção Opções de Configuração para mais detalhes.
  4. Preencher o resto do formulário conforme discutido no âmbito da Criação de uma Instância de Computação.
  5. Clique no botão Criar Linode. Uma vez que o Linode tenha provisionado e esteja totalmente ligado, aguarde que a instalação do software esteja concluída. Se o Linode for desligado ou reiniciado antes deste tempo, a instalação do software irá provavelmente falhar. Para determinar se a instalação está concluída, abra a consola Lish do Linode e aguarde que apareça a mensagem de início de sessão do sistema.
  6. Siga as instruções dentro da secção Começar após a implantação.

A instalação do software deve estar concluída dentro de 2-5 minutos após o fim do aprovisionamento do Linode.

Opções de configuração

Opções MongoDB

Aqui estão as opções adicionais disponíveis para esta aplicação do Marketplace:

CampoDescrição
Palavra-passe de utilizador admin MongoDBA palavra-passe do utilizador administrador Mongo. Necessária.
Versão MongoDBSeleccione a verison de MongoDB que gostaria de instalar.
Email de administração para o servidorO endereço de e-mail de início de autoridade (SOA) para este servidor. Este endereço de correio electrónico será adicionado ao registo SOA do domínio. Este é um campo obrigatório se desejar que o instalador crie registos DNS.
O seu Linode API TokenO seu Linode API Token é necessário para criar registos DNS. Se isto for fornecido juntamente com o subdomain e domain a instalação tenta criar registos DNS através do Linode API. Se não tiver uma ficha, mas quiser que a instalação crie registos DNS, deve criar um antes de continuar.
SubdomínioO subdomínio para o qual deseja que o instalador crie um registo DNS durante a instalação. A sugestão dada é www. O subdomínio só deve ser fornecido se também fornecer um domain e API Token.
DomínioO nome de domínio onde deseja aceder à sua candidatura. O instalador cria um registo DNS para este domínio durante a configuração, se fornecer este campo juntamente com o seu API Token.
O utilizador limitado do sudo a ser criado para o LinodeEsta é a conta de utilizador limitada a ser criada para o Linode. Esta conta tem privilégios de utilizador sudo.
A palavra-chave para o utilizador limitado do sudoDefinir uma senha para o utilizador limitado do sudo. A palavra-passe deve satisfazer os requisitos de validação da força da complexidade para uma palavra-passe forte. Esta palavra-passe pode ser utilizada para executar qualquer acção no seu servidor, semelhante à raiz, tornando-a assim longa, complexa, e única.
A chave pública SSH que será utilizada para aceder ao LinodeSe desejar aceder ao SSH através de Chave Pública (recomendado) em vez de por palavra-passe, introduza aqui a chave pública.
Desactivar o acesso à raiz sobre o SSH?Seleccione Yes para bloquear a conta de raiz de entrar no servidor através do SSH. Seleccione No para permitir o acesso à conta de raiz através do SSH.

Opções Gerais

Para conselhos sobre o preenchimento das restantes opções no formulário Criar um Linode, ver Criar uma Instância de Computação. Algumas opções podem ser limitadas ou ter valores recomendados com base nesta aplicação do Mercado:

  • Distribuições suportadas: Debian 11, Ubuntu 20.04 LTS
  • Plano mínimo recomendado: Todos os tipos e tamanhos de planos podem ser utilizados, embora se considere a utilização de uma Instância de Computação de Alta Memória para bases de dados maiores num ambiente de produção.

Começar após a implantação

Aceder à Concha MongoDB

Depois de MongoDB ter terminado a instalação, pode aceder e administrar directamente a partir da consola.

  1. Entrar na sua Instância de Computação via SSH ou Lish.
  2. Lançar o concha de mongo executando o seguinte comando. Quando solicitado, introduza a palavra-passe de utilizador administrativo que definiu ao criar esta instância.mongo -u admin -p --authenticationDatabase admin -u-p--authenticationDatabase opções no comando acima são necessárias para autenticar as ligações à concha. Sem autenticação, a shell MongoDB pode ser acedida mas não permitirá ligações a bases de dados. admin O utilizador é puramente administrativo com base nas funções especificadas. É definido como um administrador de utilizadores para todas as bases de dados, mas não tem quaisquer permissões de base de dados em si. Pode utilizá-la para criar utilizadores adicionais e definir os seus papéis. Se estiver a utilizar múltiplas aplicações com o MongoDB, configure diferentes utilizadores com permissões personalizadas para as suas bases de dados correspondentes.

Criar uma Tabela de Utilizadores

  1. Como a admin utilizador, criar uma nova base de dados para armazenar dados de utilizadores regulares para autenticação. O exemplo seguinte chama a esta base de dados user-data:use user-data
  2. As permissões para diferentes bases de dados são tratadas em separado roles objectos. Este exemplo cria o utilizador, example-usercom permissões só de leitura para o user-data base de dados e tem permissões de leitura e escrita para a exampleDB base de dados que iremos criar na Gerir Dados e Colecções Criar um novo utilizador não-administrativo para introduzir dados de teste. Alterar ambos example-user e password a algo relevante e seguro:db.createUser({user: "example-user", pwd: "password", roles:[{role: "read", db: "user-data"}, {role:"readWrite", db: "exampleDB"}]}) Para criar utilizadores adicionais, repetir este passo como utilizador administrativo, criando novos nomes de utilizador, palavras-passe e papéis, substituindo os valores apropriados.
  3. Sair da casca da mongo:quit()

Para mais informações sobre controlo de acesso e gestão de utilizadores, bem como outras dicas sobre como proteger as suas bases de dados, consulte a Documentação de Segurança do MongoDB.

Gerir Dados e Colecções

Grande parte da popularidade do MongoDB provém da sua facilidade de integração. As interacções com bases de dados são feitas através de métodos JavaScript, mas estão disponíveis drivers para outras linguagens. Esta secção irá demonstrar algumas características básicas, mas encorajamo-lo a fazer mais investigação com base no seu caso específico de utilização.

  1. Abrir a casca do MongoDB utilizando o example-user que criámos acima:mongo -u example-user -p --authenticationDatabase user-data
  2. Criar uma nova base de dados. Este exemplo chama-lhe exampleDB:use exampleDB Certifique-se de que o nome desta base de dados corresponde àquele para o qual o utilizador tem permissões de leitura e escrita (adicionámos estas permissões na secção anterior). db ...o comando.
  3. Criar um novo colecção chamada exampleCollection:db.createCollection("exampleCollection", {capped: false}) Se não estiver familiarizado com a terminologia do MongoDB, pode pensar numa colecção como análoga a uma tabela de um sistema de gestão de bases de dados relacional. Para mais informações sobre a criação de novas colecções, consulte a documentação do MongoDB sobre a db.createCollection() método.

    Nota: Os nomes das colecções não devem incluir certas pontuações, tais como hífenes. No entanto, as excepções não podem ser levantadas até que se tente utilizar ou modificar a colecção. Para mais informações, consultar MongoDB's restrições de nomenclatura
    .
  4. Criar amostras de dados para entrada na base de dados de testes. MongoDB aceita a entrada como documentos sob a forma de objectos JSON, como os que se seguem. O a e b As variáveis são utilizadas para simplificar a entrada; os objectos também podem ser inseridos directamente através de funções.var a = { name : "John Doe", attributes: { age : 30, address : "123 Main St", phone : 8675309 }} var b = { name : "Jane Doe", attributes: { age : 29, address : "321 Main Rd", favorites : { food : "Spaghetti", animal : "Dog" } }} Note-se que os documentos inseridos numa colecção não precisam de ter o mesmo esquema, o que é uma das muitas vantagens de utilizar uma base de dados NoSQL.
  5. Inserir os dados em exampleCollectionutilizando o insert método:db.exampleCollection.insert(a) db.exampleCollection.insert(b) A saída para cada uma destas operações mostrará o número de objectos escritos com sucesso na base de dados de trabalho actual:WriteResult({ "nInserted" : 1 })
  6. Confirme que o exampleCollection colecção foi devidamente criada:show collections A saída listará todas as colecções que contenham dados dentro da base de dados de trabalho actual:exampleCollection
  7. Ver dados não filtrados no exampleCollection recolha utilizando a find método. Isto devolve até aos primeiros 20 documentos de uma colecção, se uma consulta não for aprovada:db.exampleCollection.find() A produção será parecida com a seguinte:

    { "_id" : ObjectId("5e68d4618bd4ea23cc3f5e96"), "name" : "John Doe", "attributes" : { "age" : 30, "address" : "123 Main St", "phone" : 8675309 } } { "_id" : ObjectId("5e68d4628bd4ea23cc3f5e97"), "name" : "Jane Doe", "attributes" : { "age" : 29, "address" : "321 Main Rd", "favorites" : { "food" : "Spaghetti", "animal" : "Dog" } } }

    Pode reparar que os objectos que inserimos são precedidos por _id chaves e ObjectId valores. Estes são índices únicos gerados pelo MongoDB quando um _id valor não está explicitamente definido. ObjectId Os valores podem ser utilizados como chaves primárias ao introduzir consultas, embora, para facilitar a sua utilização, possa desejar criar o seu próprio índice, tal como faria com qualquer outro sistema de base de dados. find também pode ser utilizado para procurar um documento ou campo específico introduzindo um parâmetro de termo de pesquisa (na forma de um objecto) em vez de o deixar vazio. Por exemplo:

    db.exampleCollection.find({"name" : "John Doe"})

    A execução do comando acima devolve uma lista de documentos contendo o 

    {"name" : "John Doe"} objecto:{ "_id" : ObjectId("5e68d4618bd4ea23cc3f5e96"), "name" : "John Doe", "attributes" : { "age" : 30, "address" : "123 Main St", "phone" : 8675309 } }

O MongoDB Marketplace App foi construído pela Linode. Para apoio relativo à implementação da aplicação, contactar Linode Support através das informações listadas na barra lateral. Para apoio relativo à ferramenta ou software em si, visite o MongoDB Comunidade.