O MySQL é o sistema de gerenciamento de banco de dados relacional mais popular . Muitos programadores de Java ficam assustados com suas operações complicadas e estrutura de conhecimento quando começam a aprender o MySQL . A seguir, um bom editor de treinamento em Java para programadores fará uma análise simples da estrutura e do mecanismo do MySQL Contraste.
Estrutura de banco de dados MySQL
1. O serviço de nível superior não é exclusivo do MySQL . A maioria das ferramentas ou serviços de cliente / servidor baseados em rede possui uma arquitetura semelhante.
2. Na arquitetura da segunda camada, a maioria das funções principais de serviço do MySQL está nessa camada, incluindo análise de consulta, análise, otimização, cache e todas as funções internas ( data e hora, etc. ) . Essa camada é implementada: procedimentos armazenados, gatilhos, visualizações, etc.
3. A terceira camada contém o mecanismo de armazenamento. O mecanismo de armazenamento é responsável pelo armazenamento e extração de dados no MySQL . O MySQL suporta vários mecanismos de armazenamento, e cada mecanismo de armazenamento tem suas vantagens e desvantagens. O servidor se comunica com o mecanismo de armazenamento por meio da API . Essas interfaces API protegem as diferenças entre os diferentes mecanismos de armazenamento, tornando essas diferenças transparentes ao processo de consulta da camada superior. O mecanismo de armazenamento não analisa SQL (o InnoDB é uma exceção, ele analisa definições de chave estrangeira ) , e diferentes mecanismos de armazenamento não podem se comunicar, mas simplesmente respondem às solicitações dos servidores de nível superior !
Processo de execução
O mecanismo de armazenamento do banco de dados é o componente de software subjacente do sistema.O sistema de gerenciamento de banco de dados usa o mecanismo de dados para criar, consultar, atualizar e excluir dados.
Diferentes mecanismos de armazenamento fornecem diferentes mecanismos de armazenamento, técnicas de indexação, níveis de bloqueio e outras funções.O uso de diferentes mecanismos de armazenamento também pode obter funções específicas.
Muitos sistemas de gerenciamento de banco de dados agora oferecem suporte a vários mecanismos de armazenamento diferentes. O núcleo do MySQL é o mecanismo de armazenamento.
MyISAM : Possui alta velocidade de inserção e consulta, mas não suporta transações.
InnoDB : O banco de dados padrão do MySQL após a versão 5.5 , o mecanismo preferido para bancos de dados transacionais, suporta transações ACID e bloqueia no nível de linha.
BDB : derivado do Berkeley DB , outra opção para bancos de dados transacionais, suportando outros recursos transacionais, como COMMIT e ROLLBACK .
Memória : um mecanismo de armazenamento em que todos os dados são colocados na memória, com eficiência extremamente alta de inserção, atualização e consulta. Mas isso ocupará espaço de memória proporcional à quantidade de dados. E seu conteúdo será perdido quando o MySQL reiniciar.
Mesclar : Combinando um certo número de tabelas MyISAM em um todo, é muito útil no armazenamento de dados em grande escala.
Arquivo : Muito adequado para armazenar grandes quantidades de dados históricos independentes. Porque eles não são lidos frequentemente. O arquivo possui uma velocidade de inserção eficiente, mas seu suporte para consultas é relativamente baixo.
Federado : Combine diferentes servidores Mysql para formar logicamente um banco de dados completo. Muito adequado para aplicações distribuídas.
Cluster / NDB : um mecanismo de armazenamento altamente redundante que usa várias máquinas de dados para fornecer serviços em conjunto para melhorar o desempenho e a segurança gerais. É adequado para aplicativos com grande volume de dados e altos requisitos de segurança e desempenho.
CSV : um mecanismo de armazenamento que separa logicamente os dados por vírgulas. Ele criará um arquivo .CSV para cada tabela de dados no subdiretório do banco de dados . Este é um arquivo de texto normal e cada linha de dados ocupa uma linha de texto. O mecanismo de armazenamento CSV não suporta indexação.
BlackHole : mecanismo de buraco negro, todos os dados gravados desaparecerão, geralmente usados para registrar o log de bin para o relé de replicação
Além disso, a interface do mecanismo de armazenamento do MySQL está bem definida. Os desenvolvedores interessados gravam seu próprio mecanismo de armazenamento lendo a documentação.