Couchbase Website
  • Produtos
        • Plataforma

          • Couchbase CapellaBanco de dados como serviço
        • Autogerenciado

          • Servidor CouchbaseNo local, em várias nuvens, na comunidade
        • Serviços

          • Serviços de IA Desenvolvimento de agentes habilitados para IA e
            implantação
          • Pesquisa Texto completo, híbrido, geoespacial, vetorial
          • CelularNoSQL incorporado, sincronização entre nuvem e borda, off-line primeiro
          • AnálisesAnálise de múltiplas fontes em tempo real
        • Recursos

          • Arquitetura na memóriaVelocidade, escala, disponibilidade
          • Criar aplicativos flexíveisJSON, SQL++, multiuso
          • Automação na nuvemOperador de Kubernetes
          • Ferramentas de desenvolvimentoSDKs, integrações, Capella iQ
          • Servidor de borda do CouchbasePara ambientes com recursos limitados
        • Por que o Couchbase?

          Os desenvolvedores e as empresas escolhem o Couchbase para seus aplicativos de missão crítica.

          Veja por quê

          Migrar para o Capella

          Principais motivos para atualizar do Server Enterprise Edition para o Couchbase Capella

          Veja por quê
  • Soluções
        • Por caso de uso

          • Inteligência Artificial
          • Cache e gerenciamento de sessões
          • Catálogo de produtos adaptável
          • Personalização e perfis inteligentes
          • Serviços de campo adaptativos
          • Análise em tempo real para IA
          • Veja todos os casos de uso
        • Por setor

          • Serviços financeiros
          • Jogos
          • Alta tecnologia
          • Entretenimento
          • Varejo
          • Viagens e hospitalidade
          • Ver todos os setores
        • Por necessidade de aplicativo

          • Desempenho do aplicativo
          • Cargas de trabalho distribuídas
          • Flexibilidade de aplicativos
          • Móvel, IoT e borda
          • Produtividade do desenvolvedor
          • Alto custo das operações
          • Veja todas as necessidades de aplicativos
  • Recursos
        • Documentos populares

          • Visão geral da Capella
          • Visão geral do servidor
          • Visão geral do Mobile & Edge
          • Conexão de aplicativos (SDKs)
          • Tutoriais e amostras
          • Página inicial dos documentos
        • Por função de desenvolvedor

          • Desenvolvedor de IA
          • Backend
          • Pilha completa
          • Celular
          • Operações / DBA
          • Página inicial dos desenvolvedores
        • Início rápido

          • Blogs
          • Webcasts e eventos
          • Vídeos e apresentações
          • Documentos técnicos
          • Treinamento e certificação
          • Forums
        • Centro de recursos

          Veja todos os recursos do Couchbase em um local conveniente

          Dê uma olhada
  • Empresa
        • Sobre

          • Sobre nós
          • Liderança
          • Clientes
          • Blog
          • Sala de Imprensa
          • Carreiras
        • Parcerias

          • Encontre um parceiro
          • Torne-se um parceiro
          • Registrar uma oferta
        • Nossos serviços

          • Serviços profissionais
          • Suporte empresarial
        • Parceiros: Registrar um negócio

          Pronto para registrar um negócio com o Couchbase?

          Informe-nos os detalhes do seu parceiro e mais informações sobre o cliente potencial que está registrando.

          Comece aqui
          Marriott

          A Marriott escolheu o Couchbase em vez do MongoDB e do Cassandra para oferecer uma experiência personalizada e confiável ao cliente.

          Saiba mais
  • Preços
  • Experimente gratuitamente
  • Entrar
  • Portuguese
    • Japanese
    • Italian
    • German
    • French
    • Spanish
    • Korean
    • English
  • search
Couchbase Website

O que é fragmentação de banco de dados?

Saiba tudo sobre sharding e como o serviço de banco de dados em nuvem NoSQL do Couchbase pode ajudar

  • Experimente gratuitamente
  • Comparar bancos de dados

Visão geral do sharding de banco de dados

Esta página abrange:

  • Como funciona o sharding de banco de dados
  • Vantagens do sharding
  • Desvantagens do sharding
  • Tipos de sharding
  • Alternativas ao sharding de banco de dados
  • Como o Couchbase Capella™ ajuda na fragmentação do banco de dados
  • Conclusão

O sharding de banco de dados é uma ferramenta poderosa para otimizar o desempenho e a escalabilidade de um banco de dados. Ela permite acesso mais rápido aos dados e possibilita que um banco de dados lide com cargas de trabalho maiores, distribuindo dados e capacidade de processamento em vários servidores. Como os bancos de dados NoSQL são projetados tendo em mente a computação distribuída e a fragmentação automática, eles costumam ser os bancos de dados mais associados à fragmentação. No entanto, com bastante esforço, a fragmentação pode ser obtida com qualquer tecnologia de banco de dados.

Como funciona o sharding de banco de dados?

O sharding de banco de dados divide todo o conjunto de dados em vários grupos conhecidos como shards. Uma vez divididos, cada fragmento pode ser armazenado de forma independente, geralmente em vários servidores, que geralmente são chamados de cluster. Cada fragmento pode ser acessado independentemente, o que significa que você pode acessar os dados mais rapidamente e ter mais recursos disponíveis para processamento, computação e armazenamento.


Seu navegador não suporta a tag de vídeo.

Onde ocorre o sharding?

Se um banco de dados tiver recursos de fragmentação incorporados, a equipe de desenvolvimento precisará de menos trabalho para realizar a fragmentação. Se a fragmentação for um recurso opcional ou exigir configuração, será necessário planejar cuidadosamente, mas a fragmentação não deverá exigir alterações ou adições significativas na base de código. Se o banco de dados subjacente não puder fazer a fragmentação (como é o caso de muitos bancos de dados relacionais), talvez seja necessário fazer grandes alterações na base de código, e os desenvolvedores terão de criar a fragmentação na camada de persistência de um aplicativo.

Preciso fragmentar meus dados?

O uso ou não do sharding depende de muitos fatores. Esses fatores incluem o tamanho do conjunto de dados, o número de usuários do sistema, o número de operações realizadas e as restrições da infraestrutura.

Se o seu aplicativo apresentar uma redução perceptível no desempenho devido a mais usuários ou mais operações, o dimensionamento horizontal (que geralmente usa sharding) é uma forma de aumentar os recursos de computação disponíveis para o seu banco de dados. No entanto, o baixo desempenho também pode indicar código abaixo do ideal, falta de índices adequados, necessidade de alterações na modelagem de dados ou outros problemas. A fragmentação nem sempre deve ser a primeira opção para melhorar o desempenho, mas, para algumas tecnologias de banco de dados, pode ser um meio de baixo atrito para atingir suas metas de desempenho.

Vantagens do sharding

  • Desempenho mais rápido: Há mais servidores disponíveis para lidar com a entrada/saída
  • Dimensionamento horizontal: Você pode adicionar rapidamente servidores adicionais a um cluster
  • Custos: O escalonamento horizontal geralmente pode ser mais barato do que o escalonamento vertical (ou seja, atualizar um servidor para outro mais potente)
  • Distribuição/tempo de atividade: Um banco de dados distribuído em escala horizontal pode ter um tempo de atividade melhor do que um servidor único tradicional

Desvantagens do sharding

  • Complexidade: Dependendo do sistema de banco de dados, a complexidade do sharding pode variar. Alguns bancos de dados são projetados com distribuição, escala horizontal e sharding incluídos. Outros exigem uma abordagem mais prática, do tipo "faça você mesmo".
  • Rebalanceamento: Ao adicionar mais máquinas a um cluster, os fragmentos provavelmente precisarão ser rebalanceados para distribuir os dados uniformemente (por exemplo, se você tiver 1.000 documentos distribuídos uniformemente em três fragmentos, isso significa aproximadamente 333 documentos por fragmento). Se você adicionar um quarto fragmento, a distribuição uniforme será de 250 documentos por fragmento). Se um banco de dados não tiver recursos de fragmentação incorporados, o rebalanceamento será certamente um processo manual complexo de bricolagem.

Tipos de sharding

Há várias abordagens para a fragmentação. Alguns sistemas de banco de dados têm a funcionalidade de fragmentação integrada, enquanto outros não oferecem suporte direto à fragmentação (e exigem muita codificação personalizada ou processos DIY). O objetivo de cada abordagem é dividir os dados em fragmentos de forma consistente para que os dados possam ser consultados ou gravados no mesmo fragmento todas as vezes.

Sharding baseado em intervalo

A fragmentação baseada em intervalo envolve a seleção de valores de dados e a atribuição deles a um fragmento com base no fato de estarem ou não dentro de um intervalo específico. Por exemplo, se você tiver dados de usuário que contenham idade, um fragmento poderá armazenar usuários com idade entre 0 e 10 anos, outro fragmento armazenará usuários com idade entre 11 e 20 anos e assim por diante.

Essa abordagem pode ser problemática porque um shard pode acabar armazenando muito mais usuários do que o outro. E os fragmentos que armazenam uma quantidade desproporcionalmente alta de dados podem se tornar pontos de acesso que afetam o desempenho.

Sharding baseado em chaves

O sharding baseado em chave adota uma abordagem mais independente. Um valor nos dados (geralmente o ID do documento em um banco de dados de documentos NoSQL) é executado por meio de um hash, e esse hash determina em qual shard os dados devem ser armazenados.

Essa abordagem pode ser problemática se não for diretamente compatível com o banco de dados, pois qualquer aplicativo que acesse o banco de dados deve ser capaz de construir o hash. Além disso, essa abordagem exige que o valor de dados usado para o hash seja imutável. Normalmente, isso não é um problema, mas pode ser em casos raros.

O Couchbase usa fragmentação automática baseada em chaves para distribuir os dados uniformemente em um cluster, além de oferecer rebalanceamento automático e replicação automática. Essas automações podem simplificar processos críticos e liberar um tempo valioso para a sua equipe de desenvolvimento.

Sharding baseado em diretório

A fragmentação baseada em diretório é uma abordagem em que algum valor dos dados é mapeado para um determinado fragmento com base em seu valor em uma tabela de pesquisa ou configuração de pesquisa. É semelhante à abordagem de intervalo, mas pode envolver uma pesquisa simples. Por exemplo, um usuário com um endereço em Ohio seria armazenado no fragmento "Ohio", um usuário na Califórnia iria para o fragmento "Califórnia" e assim por diante.

Essa abordagem pode ser problemática porque uma tabela de pesquisa ou configuração pode ficar indisponível, cair ou ser corrompida. Nesses casos, o aplicativo não pode mais realizar leituras ou gravações.

Geo sharding

Um fragmento geográfico pode ser combinado com as outras opções de fragmentação ou usado no lugar delas. A ideia por trás da fragmentação geográfica é armazenar os dados fisicamente mais perto de onde eles serão acessados com mais frequência. Por exemplo, um usuário com endereço em Ohio seria armazenado em um servidor em Ohio, e um usuário com endereço na Califórnia seria armazenado em um servidor na Califórnia.

Essa abordagem pode proporcionar acesso mais rápido, mas também pode levar a hotspots e servidores subutilizados. O Geo sharding também pode não atender aos requisitos legais de aplicativos ou jurisdições específicas.

Além de fornecer sharding automático, o Couchbase pode oferecer suporte a sharding geográfico por meio de Replicação entre data centers (XDCR).

Sharding baseado em entidades

O sharding baseado em entidades significa que dados separados, mas intimamente relacionados, são armazenados juntos no mesmo shard. Por exemplo, um usuário pode ser considerado uma entidade dentro da lógica de um aplicativo, mas o histórico de compras de um usuário pode ser armazenado separadamente em um shard diferente. Ao armazenar os dados relacionados no mesmo fragmento, você pode reduzir o volume de trabalho de computação necessário para recuperá-los juntos ao mesmo tempo.

A desvantagem dessa abordagem é a complexidade. A configuração de quais dados vão para onde pode ser um processo complexo, especialmente se alguns dados forem usados por várias entidades.

Alternativas ao sharding de banco de dados

O dimensionamento horizontal sempre envolverá sharding em algum nível, mas há muitas opções para como para fragmentar. Uma maneira é o sharding arquitetônico, como uma arquitetura de microsserviços ou um sharding de disco físico que é opaco para o usuário. A fragmentação pode até ser oculta e abstraída por trás de um banco de dados em nuvem.

Ao considerar um sistema de banco de dados, é fundamental entender como o sharding será realizado. Ele pode ser totalmente abstraído e oculto, pode ser automático, pode ser suportado com opções de configuração potencialmente complexas ou pode não ter suporte e exigir uma abordagem "faça você mesmo".

Como o Couchbase Capella ajuda na fragmentação do banco de dados

Couchbase Capella é a plataforma de banco de dados em nuvem para empresas digitais.

O Capella usa o mesmo sistema de fragmentação do Couchbase Server, que é a fragmentação automática baseada em chave. Do ponto de vista do usuário ou do desenvolvedor, a fragmentação com o Couchbase não exige nenhuma configuração ou manutenção adicional. Ao usar um algoritmo CRC32 em conjunto com vBuckets, o Capella garante que seu sistema não terá nenhum ponto de acesso.

O Capella automatiza a replicação. Você apenas seleciona o número de réplicas que deseja e o Capella cuida do resto.

O Capella também automatiza o rebalanceamento. Quando você adiciona servidores ou os remove de um cluster, o Capella os reequilibra automaticamente sem causar nenhum tempo de inatividade.

Por fim, o Capella pode obter o geo sharding por meio do recurso XDCR. O XDCR replica os dados entre os data centers em tempo real. As replicações do XDCR podem incluir ou excluir dados com base em filtros definidos pelo usuário para melhorar a latência local ou atender aos requisitos de localização de dados.

Conclusão

A fragmentação é um conceito importante a ser entendido se você estiver dimensionando um banco de dados para lidar com mais operações. E os bancos de dados NoSQL são especialmente bons em fragmentação porque eliminam muitas das restrições impostas pelos bancos de dados relacionais. Dito isso, o Couchbase Capella oferece alguns dos melhores recursos de um banco de dados relacional (sintaxe SQL e uma implementação SQL completa que inclui JOINs e Transações ACID) em um banco de dados distribuído com fragmentação automática.

Para saber mais sobre sharding no Couchbase, confira:

  • vBuckets
  • Replicação
  • Rebalanceamento

Outros recursos importantes para considerar como dimensionar um banco de dados:

  • Dimensionamento multidimensional
  • Replicação entre centros de dados
  • Implantações em várias nuvens
  • Por que NoSQL?
  • Couchbase vs. MongoDB™ para aumento de escala e alta disponibilidade
Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Desenvolver agora
Experimente Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Use gratuitamente
Couchbase para ISVs

Crie aplicativos avançados com menos complexidade e custo.

Saiba mais
Popup Image
Couchbase

3155 Olsen Drive,
Suite 150, San Jose,
CA 95117, Estados Unidos

EMPRESA

  • Sobre
  • Liderança
  • Notícias e imprensa
  • Carreiras
  • Eventos
  • Legal
  • Entre em contato conosco

SUPORTE

  • Portal do desenvolvedor
  • Documentação
  • Fóruns
  • Serviços profissionais
  • Login de suporte
  • Política de suporte
  • Treinamento

LINKS RÁPIDOS

  • Blog
  • Downloads
  • Treinamento on-line
  • Recursos
  • Por que NoSQL
  • Preços

SIGA-NOS

  • Twitter
  • LinkedIn
  • YouTube
  • Facebook
  • GitHub
  • Estouro de pilha
  • Discórdia
© 2025 Couchbase, Inc. Couchbase e o logotipo do Couchbase são marcas registradas da Couchbase, Inc. Todas as marcas registradas de terceiros Todas as marcas comerciais de terceiros (incluindo logotipos e ícones) mencionadas pela Couchbase, Inc. permanecem como propriedade de seus respectivos proprietários.
  • Termos de uso
  • Política de privacidade
  • Política de cookies
  • Política de suporte
  • Não vender minhas informações pessoais
  • Centro de preferências de marketing