DevGuideTK
← Trilha Backend

Particionamento

Como dividir os dados entre máquinas e o custo de escolher mal a chave de partição.

Particionar é dividir os dados de uma tabela em partes, pela chave de partição, para que cada máquina guarde e atenda só uma parte. Quando as partes ficam em máquinas diferentes, o nome comum é sharding.

É a saída quando um único servidor não aguenta mais o volume de dados ou de gravações. A chave escolhida decide se a carga se divide de verdade ou se concentra numa parte só.

  • Consultas pela chave vão a uma partição; as outras consultam todas.
  • Uma chave por data concentra as gravações na partição mais nova.
  • Um cliente gigante vira um ponto quente.
  • Unicidade e junções entre partições ficam difíceis.
  • Com hashing consistente, acrescentar servidores move poucas chaves.