A maioria dos aplicativos de software hoje em dia envolve algum armazenamento dinâmico de dados para referência futura extensa no próprio aplicativo. Todos sabemos que os dados são armazenados em um banco de dados que se enquadra em duas categorias:DBMS relacional e não relacional.
Sua escolha de seleção entre esses dois dependerá totalmente de sua estrutura de dados, quantidade de dados envolvidos, desempenho e escalabilidade do banco de dados.
Os SGBDs relacionais armazenam dados em tabelas em termos de linhas, de modo que utilizam a Linguagem de Consulta Estruturada (SQL), tornando-os uma boa escolha para aplicações que envolvem várias transações. Eles incluem MySQL, SQLite e PostgreSQL.
Por outro lado, os SGBDs NoSQL, como o MongoDB, são orientados a documentos, de modo que os dados são armazenados em coleções em termos de documentos. Isso oferece uma maior capacidade de armazenamento para um grande conjunto de dados, portanto, uma vantagem adicional em escalabilidade.
Neste blog, estamos assumindo que você tem um conhecimento melhor para MongoDB ou MySQL e, portanto, gostaria de saber a correlação entre os dois em termos de consulta e estrutura de banco de dados.
Abaixo está uma folha de dicas para se familiarizar ainda mais com a consulta do MySQL ao MongoDB.
Folha de dicas do MySQL para MongoDB - Termos
Termos do MySQL | Termos do MongoDB | Explicação |
---|---|---|
Tabela | Coleção | Este é o contêiner de armazenamento para dados que tendem a ser semelhantes nos objetos contidos. |
Linha | Documento | Define a entidade de objeto único na tabela para MySQL e coleção no caso do MongoDB. |
Coluna | Campo | Para cada item armazenado, ele possui propriedades que são definidas por diferentes valores e tipos de dados. No MongoDB, documentos de uma mesma coleção, podem ter campos diferentes entre si. No MySQL, cada linha deve ser definida com as mesmas colunas das existentes. |
Chave primária | Chave primária | Cada objeto armazenado é identificado com um valor de campo exclusivo no caso do MongoDB, temos o campo _id definido automaticamente, enquanto no MySQL você pode definir sua própria chave primária que é incremental à medida que cria novas linhas. |
Uniões de tabela | Incorporando e vinculando documentos | Conexão associada a um objeto em uma coleção/tabela diferente a dados em outra coleção/tabela. |
onde | $match | Selecionando dados que correspondem aos critérios. |
grupo | $grupo | Agrupando dados de acordo com alguns critérios. |
soltar | $unset | Removendo uma coluna/campo de uma linha/documento/ |
conjunto | $set | Definir o valor de uma coluna/campo existente para um novo valor. |
Declarações de esquema
Instruções de tabela MySQL | Declarações de coleção do MongoDB | Explicação |
---|---|---|
O banco de dados e as tabelas são criados explicitamente através do painel de administração do PHP ou definidos dentro de um script, ou seja Criando um banco de dados Criando uma tabela | O banco de dados pode ser criado de forma implícita ou explícita. Implicitamente durante a primeira inserção do documento, o banco de dados e a coleção são criados, bem como um campo _id automático sendo adicionado a este documento. Você também pode criar o banco de dados explicitamente executando este comentário no Mongo Shell | No MySQL, você precisa especificar as colunas na tabela que está criando, bem como definir algumas regras de validação, como neste exemplo, o tipo de dados e o comprimento que vão para uma coluna específica. No caso do MongoDB, não é obrigatório definir nem os campos que cada documento deve conter nem as regras de validação que os campos especificados devem conter. No entanto, no MongoDB para integridade e consistência dos dados, você pode definir as regras de validação usando o JSON SCHEMA VALIDATOR |
Derrubar uma mesa | | São instruções para deletar uma tabela para MySQL e coleção no caso do MongoDB. |
Adicionando uma nova coluna chamada join_date Removendo a coluna join_date se já estiver definida | Adicionando um novo campo chamado join_date Isso atualizará todos os documentos da coleção para que a data de junção seja a data atual. Removendo o campo join_date se já estiver definido Isso removerá o campo join_date de todos os documentos da coleção. | Alterar a estrutura do esquema adicionando ou descartando uma coluna/campo. Como a arquitetura do MongoDB não impõe estritamente a estrutura do documento, os documentos podem ter campos diferentes uns dos outros. |
Criando um índice com a coluna UserId crescente e Idade decrescente | Criando um índice envolvendo os campos UserId e Age. | Os índices geralmente são criados para facilitar o processo de consulta. |
| | Inserindo novos registros. |
| | Excluindo registros da tabela/coleção cuja idade seja igual a 25. |
| | Excluindo todos os registros da tabela/coleção. |
| | Retorna todos os registros da tabela/coleção de usuários com todas as colunas/campos. |
| | Retorna todos os registros da tabela/coleção de usuários com colunas/campos de idade, sexo e chave primária. |
| | Retorna todos os registros da tabela/coleção de usuários com colunas/campos Idade e Gênero. A chave primária é omitida. |
| | Retorna todos os registros da tabela/coleção de usuários cujo valor de Gênero é definido como M. |
| | Retorna todos os registros da tabela/coleção de usuários com apenas o valor Gender, mas cujo valor Age é igual a 25. |
| | Retorna todos os registros da tabela/coleção de usuários cujo valor de Gênero é definido como F e Idade é 25. |
| | Retorna todos os registros da tabela/coleção de usuários cujo valor de Idade não é igual a 25. |
| | Retorna todos os registros da tabela/coleção de usuários cujo valor de Gênero é definido como F ou Idade é 25. |
| | Retorna todos os registros da tabela/coleção de usuários cujo valor de Idade é maior que 25. |
| | Retorna todos os registros da tabela/coleção de usuários cujo valor de Idade é menor ou igual a 25. |
| | Retorna todos os registros da tabela/coleção de usuários cujo valor de Nome tem letras He. |
| | Retorna todos os registros da tabela/coleção de usuários cujo valor de Gênero é definido como F e ordena esse resultado na ordem crescente da coluna id no caso do MySQL e hora inserida no caso do MongoDB. |
| | Retorna todos os registros da tabela/coleção de usuários cujo valor de Gênero é definido como F e ordena esse resultado na ordem decrescente da coluna id no caso do MySQL e hora inserida no caso do MongoDB. |
| ou | Conta todos os registros na tabela/coleção de usuários. |
| ou | Conta todos os registros na tabela/coleção de usuários que têm um valor para a propriedade Name. |
| ou | Retorna o primeiro registro na tabela/coleção de usuários. |
| | Retorna o primeiro registro na tabela/coleção de usuários que tem o valor de Gênero igual a F. |
| | Retorna os cinco registros na tabela/coleção de usuários após pular os primeiros cinco registros. |
| | Isso define a idade de todos os registros na tabela/coleção de usuários que têm idade maior que 25 a 26. |
| | Isso aumenta a idade de todos os registros na tabela/coleção de usuários em 1. |
| | Isso diminui a idade do primeiro registro na tabela/coleção de usuários em 1. |
Para gerenciar MySQL e/ou MongoDB de forma centralizada e de um único ponto, acesse:https://severalnines.com/product/clustercontrol.