arquitetura do sistema MySQL

arquitetura do sistema MySQL

retrato

  • A primeira camada está ligado ao cliente autenticação, C / S arquitectura tem esta
  • A segunda camada é a camada do servidor, contém a maioria dos serviços centrais do MySQL
  • A terceira camada inclui o mecanismo de armazenamento, em comunicação com o servidor através da API, a API diferenças Evitar mecanismo de armazenamento, mecanismos de armazenamento diferentes não se comunicam uns com os outros, sem mecanismo de armazenamento adicional para SQL parse (InnoDB exceção, ele analisa a chave estrangeira definição, porque o próprio servidor não implementar este recurso)

gestão de 1.1 conexão e segurança

  • Cada cliente tem um thread no processo do servidor
  • O servidor é responsável por armazenar em cache fio, você não precisa criar ou destruir threads cada nova conexão (5.5 ou posterior fornece um pool de threads, você pode usar uma pequena quantidade de tópicos para atender a um grande número de conexões)

  • permissões de servidor com base no nome do usuário e senha para acessar o host original autentica o cliente, a conexão é bem sucedida irá verificar uma operação particular.

1.2 otimização e execução

  • MySQL irá resolver a consulta, criar uma estrutura de dados interna (árvore de análise), e suas várias otimizações (reescrever a consulta para determinar a ordem de leitura da tabela, selecione o índice apropriado)
  • Os usuários podem otimizar através de ideias de palavras-chave especiais (Dica), influenciar o MySQL processo de tomada de decisão. O optimizador também pode pedir a sua interpretação (explicar) os factores do processo de optimização, pesquisa do utilizador e reconstrução esquema, modificar a configuração
  • O otimizador não se preocupam com o mecanismo de armazenamento usado pela mesa, mas o mecanismo de armazenamento para otimizar a consulta afetados. Engine Optimizer irá solicitar capacidade de armazenamento de informações gerais ou para fornecer uma operação específica tem sido tabela de dados estatísticos e outros.
  • Para instruções SELECT, antes de resolver a consulta, o servidor irá verificar a cache de consulta (Consulta Cache).

2. Controle simultaneidade

Dois níveis de controle de concorrência: a camada do servidor e o motor camada de armazenamento

2.1 Leia-escrita de bloqueio

  • bloqueio compartilhado (bloqueio compartilhado), um bloqueio de leitura (bloqueio de leitura): compartilhada, não bloqueiam uns aos outros
  • bloqueio exclusivo (bloqueio exclusivo), bloqueio de gravação (bloqueio de gravação): exclusivo (bloco outros bloqueios de leitura e escrita)

granularidade 2.2 bloqueio

  • Um método de fornecer a simultaneidade de recursos compartilhados: Vamos objeto de bloqueio mais seletivo. Tente porções necessitam apenas para modificar os dados \ pedaço de dados de bloqueio, a menor quantidade de dados bloquear, quanto maior o grau de simultaneidade.
  • Vários bloqueio operacional (bloqueio foi verificar se a trava é liberada, o bloqueio será liberado) necessidade de consumir recursos.
  • estratégia de bloqueio:
    • mesa Lock (bloqueio de tabela):
      • A, mínimo estratégia sobrecarga mais básico. implementação camada de servidor
      • Bloquear a tabela inteira. Escrever fechaduras bloqueio outros bloqueios, bloqueios de leitura e não entupir.
      • Em determinadas circunstâncias, o bloqueio de tabela também pode ter um bom desempenho. Como apoio bloqueio de tabela READ LOCAL certos tipos de operações de escrita concorrentes. Escrita de bloqueio tem uma prioridade maior do que um bloqueio de leitura pode ser inserido em frente de uma fila de bloqueio de leitura.
      • mecanismo de armazenamento pode gerir o seu próprio cadeado, camada de servidor ainda vai usar uma variedade de tabela de bloqueio eficaz para atingir fins diferentes. Por exemplo, o servidor usa um bloqueio de tabela para a instrução ALTER TABLE, etc., ignorando o mecanismo de bloqueio do motor de armazenamento.
    • bloqueio ao nível de linha (bloqueio de linha):
      • Para maximizar o suporte para processamento simultâneo, também traz a maior sobrecarga de bloqueio.
      • Só para perceber (InnnoDB e XtraDB, etc.) no mecanismo de armazenamento

3. Transação

  • Uma transação é um conjunto de consulta SQL atômica, ou uma unidade stand-alone de trabalho.
  • Transação ACID:
    • Atomicidade (atomicty): a menor unidade indivisível de trabalho.
    • Consistência (consistência): transição a partir de uma base de dados está sempre estado consistente para outro estado coerente.
    • Isolamento (isolamento): uma empresa para fazer alterações antes da apresentação final, outras operações não são visíveis.
    • Persistência (durabilidade): Após os commits transação, modificá-lo feito serão guardados no banco de dados permanente. (N.º 100 por cento garantia de continuidade Continuidade da estratégia) 

Acho que você gosta

Origin www.cnblogs.com/huxuanjing/p/12596055.html
Recomendado
Clasificación