Simultaneidade e alta simultaneidade (vinte e três) alta simultaneidade cortar banco de dados dividir banco de dados dividir idéias de tabela

Prefácio

Por que o banco de dados deve ser cortado? Como cortar a biblioteca?

Resumo do Assunto

  • Gargalo de banco de dados
  • Corte de banco de dados
  • Tabela de banco de dados

Conteúdo principal

Primeiro, o gargalo do banco de dados

  • O volume de dados de um único banco de dados é muito grande (1-2T): várias bibliotecas
  • A pressão de um único servidor de banco de dados é grande demais, o gargalo de leitura e gravação: várias bibliotecas
  • A quantidade de dados em uma única tabela é muito grande: sub-tabela

Segundo, corte de banco de dados e sub-biblioteca

Atualmente, a maioria dos sistemas em larga escala usa a tecnologia de separação de leitura e gravação no nível do banco de dados, ou seja, uma biblioteca mestre e várias bibliotecas escravas. A biblioteca principal é responsável principalmente pela atualização de dados e pela consulta de dados em tempo real, e a biblioteca escrava é responsável pela consulta de dados não em tempo real. Porque na situação real, o banco de dados é principalmente lido mais e menos por escrito. A leitura de dados geralmente leva muito tempo e ocupa mais tempo da CPU do servidor, o que afeta a experiência do usuário. Nossa abordagem usual é extrair a consulta da biblioteca principal, para que várias bibliotecas escravas usem o balanceamento de carga para reduzir a pressão da consulta de cada biblioteca escrava. O objetivo de usar a "separação de leitura e gravação" é reduzir a pressão na biblioteca principal e pode distribuir solicitações de dados de consulta do usuário para diferentes bibliotecas escravas, colocar dinamicamente a fonte de dados no programa e deixar o programa designado optar por se conectar ao mestre. A biblioteca ainda está conectada para operar a partir da biblioteca. As técnicas usadas aqui são principalmente anotações, SpringAOP, etc.

A biblioteca de corte mestre-escravo pode consultar: https://www.jianshu.com/p/7c3ab519ceed

Aqui falamos sobre a diferença entre "múltiplas fontes de dados (corte de banco de dados)" e "sub-banco de dados":

Eles estão todos sob o serviço de vários bancos de dados.

A sub-biblioteca pertence a ter seu próprio banco de dados quando o aplicativo de microsserviço é dividido e a fonte de dados múltiplos é dividida em duas bibliotecas quando o aplicativo não é dividido, e códigos diferentes são usados ​​para conectar bancos de dados diferentes de acordo com os negócios.

Para referência, consulte: http://www.imooc.com/article/25256
https://www.cnblogs.com/shamo89/p/10032390.html

Terceiro, a tabela do banco de dados

1. Quando a sub-tabela é considerada?

Quando uma tabela de dados é tão grande que realizamos otimização de SQL e índice, a velocidade das operações básicas ainda afeta o uso, devemos considerar a tabela.

2. Estratégia de sub-mesa

(1) mesa horizontal

Distribua linhas de dados diferentes na tabela para tabelas de banco de dados diferentes, de acordo com uma determinada regra (essas tabelas são armazenadas no mesmo banco de dados), para reduzir a quantidade de dados em uma única tabela e otimizar o desempenho da consulta.A estrutura da tabela é a mesma.

(2) mesa vertical

Geralmente dividido de acordo com a atividade dos dados. Por exemplo, para o sistema de blogs, é para dados que mudam lentamente, como o título do autor (dados frios) e o número de visitas e curtidas do blog (dados ativos)

(3) Shardbatis de plug-in da sub-tabela Mybatis2.0

Para o uso deste plugin, podemos consultar https://www.cnblogs.com/shamo89/p/10033349.html

Acho que você gosta

Origin www.cnblogs.com/jmy520/p/12740802.html
Recomendado
Clasificación