Menu Docs
Página inicial do Docs
/
Manual do banco de dados
/ /

Estratégias de dimensionamento

O dimensionamento do banco de dados é um desafio fundamental para o crescimento de aplicativos. Se você iniciar um novo aplicação ou experimentar o crescimento, há duas estratégias principais de dimensionamento:

  • Dimensionamento vertical – Atualize um único servidor com recursos adicionais.

  • Dimensionamento horizontal – Distribua o volume de trabalho em vários servidores.

Embora o dimensionamento vertical possa fornecer assistência imediata à alocação de recursos, o dimensionamento horizontal é uma abordagem mais sustentável e flexível quando o dimensionamento é um fator.

À medida que os aplicativos crescem, o dimensionamento do banco de dados tradicional força trocas difíceis entre desempenho, complexidade e custo. MongoDB oferece suporte ao dimensionamento horizontal por meio de sua arquitetura de sharding, que distribui dados e cargas de trabalho em vários servidores conhecidos como shards. Se você estiver construindo para escalar, é crucial considerar a fragmentação proativa para garantir o crescimento contínuo.

A arquitetura de cluster fragmentado do MongoDB oferece várias estratégias para dimensionar seu banco de dados:

  • Comece cedo com um cluster fragmentado, mesmo com um único shard, para preparar seu aplicação para o futuro.

  • Mova coleções não fragmentadas entre fragmentos para isolar volumes de trabalho, oferecer suporte a arquiteturas de vários inquilinos, cumprir os requisitos geográficos, otimizar custos e reduzir a densidade das coleções.

  • Fragmente coleções específicas quando elas se aproximam dos limites de recursos ou ultrapassam 3 TB no tamanho do armazenamento.

  • Cancele as collections quando os padrões de aplicação mudarem e os benefícios de uma collection fragmentada não superarem mais os custos.

Você pode usar esses recursos de dimensionamento flexíveis para otimizar o desempenho e controlar os custos, mantendo um único ponto de conexão para seus aplicativos.

Em um cluster fragmentado, cada shard é um conjunto de réplicas. Vários shards funcionam como parte do mesmo cluster. Seu aplicação acessa todos os recursos de forma transparente conectando-se ao mongos, que lida com a complexidade do roteamento de solicitações para o lugar certo.

Existem dois métodos principais para distribuir volumes de trabalho em um cluster fragmentado:

  • Movendo coleções para shards dedicados – Atribua collections inteiras a shards específicos, otimizando o desempenho ao distribuir as cargas de trabalho estrategicamente.

  • Particionamento de uma collection em vários shards – Divida uma única collection em vários shards usando uma chave de shard, distribuindo os dados de forma mais uniforme para a escalabilidade.

Essas abordagens podem ser usadas de forma independente ou combinada, dependendo de seus requisitos.

Comece com clusters fragmentados
Conheça os benefícios de começar com um único fragmento ao criar seu aplicação.
Gerenciar collections não fragmentadas
Saiba mais sobre como isolar collections em shards dedicados.
Distribuir dados de collection
Saiba mais sobre como fragmentar uma collection.
Consolidar dados de collection
Saiba mais sobre como desfragmentar uma collection.

Voltar

Administração de fragmentação

Nesta página