Resumo : neste tutorial, você aprenderá sobre a arquitetura MySQL e compreenderá seus principais componentes.
Introdução à arquitetura MySQL
A imagem a seguir ilustra a arquitetura cliente-servidor:
O MySQL segue a arquitetura cliente-servidor, que divide o sistema em dois componentes principais: Cliente e Servidor.
Cliente
- O cliente é a aplicação que interage com o servidor de banco de dados MySQL.
- O cliente pode ser um aplicativo independente, um aplicativo Web ou qualquer programa que precise de um banco de dados.
- O cliente envia consultas SQL ao servidor MySQL para processamento.
Servidor
- O servidor é o sistema de gerenciamento de banco de dados MySQL responsável por armazenar, gerenciar e processar dados.
- O servidor recebe consultas SQL, processa-as e retorna os conjuntos de resultados.
- O servidor gerencia o armazenamento de dados, a segurança e o acesso simultâneo de vários clientes.
O cliente se comunica com o servidor pela rede usando o protocolo MySQL. A arquitetura cliente-servidor permite a separação de interesses e permite que vários clientes interajam com o MySQL simultaneamente.
Na arquitetura cliente-servidor, os aplicativos usam conectores MySQL para se conectar ao servidor de banco de dados MySQL. Os aplicativos podem ser desenvolvidos usando diversas linguagens de programação, como Java , PHP , Python , Perl e JavaScript ( Node.js ).
O MySQL também vem com algumas ferramentas cliente MySQL que permitem interagir com o servidor de banco de dados MySQL:
- MySQL Workbench (baseado em GUI).
- Cliente MySQL (baseado em terminal).
- Concha MySQL.
O servidor de banco de dados MySQL inclui vários processos daemon:
- NoSQL gerencia armazenamento de dados sem esquema, geralmente usado para dados não estruturados ou semiestruturados.
- Interface SQL define uma interface padronizada que permite que aplicativos interajam com bancos de dados relacionais usando consultas SQL.
- O Query Parser é responsável por analisar consultas SQL para entender sua estrutura e sintaxe, dividindo-as em componentes para processamento posterior.
- O Query Optimizer avalia vários planos de execução para uma determinada consulta e seleciona o mais eficiente para melhorar o desempenho das operações do banco de dados.
- Caches e buffers armazenam dados acessados com frequência ou resultados de consultas na memória, reduzindo a necessidade de acessar repetidamente o armazenamento subjacente e melhorando o desempenho geral do sistema.
Mecanismos de armazenamento
No MySQL, um mecanismo de armazenamento é um componente responsável pelo armazenamento, recuperação e gerenciamento dos dados do banco de dados.
O MySQL usa uma arquitetura de mecanismo de armazenamento conectável que permite selecionar diferentes mecanismos de armazenamento, como InnoDB , MyISAM e outros.
A arquitetura do mecanismo de armazenamento conectável oferece flexibilidade para atender requisitos específicos de desempenho e escalabilidade, mantendo ao mesmo tempo uma interface SQL consistente e funcionalidade geral do banco de dados.
Sistemas de arquivos
O sistema de arquivos organiza e armazena vários tipos de arquivos, incluindo arquivos de dados e de índice. MySQL usa arquivos de log para manter a consistência transacional e dar suporte a mecanismos de recuperação. Normalmente, os arquivos de log são binários e redo logs.
Resumo
- O MySQL segue uma arquitetura cliente-servidor onde os clientes enviam consultas SQL ao servidor para processamento.
- MySQL suporta um mecanismo de armazenamento conectável que gerencia o armazenamento e recuperação de dados com diferentes recursos e características de desempenho.