This is the Trace Id: 22a1c14e5d14c9e6427a2c60c9ca94a5
Avançar para o conteúdo principal
Azure

O que é a fragmentação de bases de dados?

Fragmentação de Base de Dados é um método de escalabilidade horizontal que aumenta o desempenho e a disponibilidade da solução em sistemas globais e distribuídos.

Definição de Fragmentação de Base de Dados

A fragmentação de bases de dados refere-se ao processo de dividir uma base de dados de grandes dimensões em segmentos mais pequenos e mais fáceis de gerir, conhecidos como fragmentos. Suporta a escalabilidade horizontal para que aplicações e sistemas possam lidar com volumes crescentes de dados e utilizadores sem afetar o desempenho ou a disponibilidade. As organizações usam estratégias de fragmentação para ultrapassar limitações de armazenamento e outros desafios associados à escalabilidade de bases de dados em ambientes modernos de cloud.

  • Fragmentação de Base de Dados é definido como um método de escalabilidade horizontal que divide uma base de dados em fragmentos independentes que funcionam numa arquitetura shared-nothing (SNA).
  • Os dados são divididos entre fragmentos usando chaves de fragmento, que permitem às aplicações encaminhar pedidos para os fragmentos apropriados.
  • Os dados são normalmente divididos entre fragmentos usando valores numéricos, funções hash, diretórios de pesquisa ou localizações geográficas.
  • As vantagens do Fragmentação de Base de Dados incluem melhoria do desempenho das consultas, suporte à escalabilidade horizontal e maior tolerância a falhas.
  • Os casos de uso da fragmentação incluem bancos, comércio eletrónico e plataformas de redes sociais, que frequentemente têm de lidar com crescimento rápido ou picos de dados ou utilizadores.

Como funciona o Fragmentação de Base de Dados?

Fragmentação de Base de Dados é uma técnica usada para escalar bases de dados grandes horizontalmente, dividindo-as em partes menores e independentes chamadas fragmentos. Cada fragmento funciona como uma base de dados separada que contém um subconjunto distinto dos dados globais, mas mantém o mesmo esquema. Isto permite que os fragmentos formem coletivamente uma única base de dados lógica, mesmo que funcionem em servidores separados.

Fragmentação de Base de Dados segue uma arquitetura shared-nothing (SNA), um modelo de computação distribuída onde cada fragmento opera de forma autónoma, sem partilhar recursos de processamento, memória ou armazenamento com outros fragmentos.

Uma chave de fragmento - um campo específico ou combinação de campos nos dados - determina quais dados serão armazenados em cada fragmento. Quando uma aplicação precisa de ler ou escrever dados, usa a chave de fragmento para encaminhar o pedido para o fragmento apropriado.

Estratégias de fragmentação

As organizações fazem a gestão dos dados distribuídos por vários fragmentos de diferentes formas. Aqui estão algumas estratégias comuns:

  • Fragmentação baseada em intervalos ou dinâmica: Os dados são divididos por intervalos de valores na chave de fragmento. Por exemplo, um fragmento numa base de dados de comércio eletrónico pode ser atribuído aos números de identificação de clientes de 1 a 1 000 000, e outro fragmento pode ser atribuído aos números de identificação de clientes de 1 000 001 a 2 000 000. Este método é eficiente para consultas por intervalo, mas pode resultar numa distribuição desigual se certos intervalos forem acedidos com mais frequência.
  • fragmentoing baseado em hash:Os dados são distribuídos de forma uniforme entre os fragmentos aplicando uma fórmula matemática chamada função hash a cada chave de fragmento. Esta abordagem ajuda a evitar sobrecargas, mas pode dispersar dados relacionados por vários fragmentos, tornando as consultas por intervalo menos eficientes.
  • fragmentoing baseado em diretório ou pesquisa: Um mapa de fragmentos indica quais as chaves de fragmento que correspondem a quais dados. Esta estratégia oferece flexibilidade para adicionar rapidamente mais chaves de fragmento conforme necessário, mas acrescenta complexidade e possível sobrecarga.
  • Geo-fragmentação: Os dados são particionados com base na localização geográfica, reduzindo a latência para utilizadores em diferentes regiões e suportando requisitos de residência de dados. Muitas plataformas combinam geo-fragmentação com replicação de bases de dados para maior resiliência.

Saiba mais sobre as bases de dados.

Quais são os principais benefícios do Fragmentação de Base de Dados?

Fragmentação de Base de Dados requer uma seleção cuidadosa das chaves de fragmento e da estratégia de fragmentoing, bem como otimização do encaminhamento das consultas. Aqui estão algumas vantagens principais do Fragmentação de Base de Dados:

  • Melhora o desempenho das consultas:Ao distribuir os dados por vários fragmentos, as bases de dados podem recuperar mais rapidamente o conjunto de dados necessário para executar cada consulta. Isto resulta em tempos de resposta mais rápidos.
  • Suporta a escalabilidade horizontal: Em vez de aumentar a capacidade de recursos num único servidor, as organizações podem acomodar volumes crescentes de dados e cargas de trabalho ao escalar horizontalmente e adicionar mais fragmentos (e servidores). Saiba mais sobre o dimensionamento em comparação com o dimensionamento.
  • Reforça a tolerância a falhas: Porque o fragmentação utiliza uma abordagem SNA, cada fragmento está isolado dos outros. Qualquer problema que afete um fragmento não impacta os outros, aumentando a fiabilidade do sistema. A replicação de dados entre fragmentos protege ainda mais a disponibilidade.
  • Promove a eficiência de custos:Os fragmentos de dados têm menos requisitos de hardware e software do que bases de dados grandes, que frequentemente exigem servidores caros e de alta gama.

Ajuda a otimizar cargas de trabalho de IA: Bases de dados complexas e monolíticas podem atrasar a capacidade da IA de aceder a dados, fazer previsões e aprender ao longo do tempo. A fragmentação suporta a criação de um ambiente distribuído e rico em dados onde a IA pode funcionar de forma mais eficaz.

Exemplos específicos da indústria de Fragmentação de Base de Dados

A Fragmentação de Base de Dados é especialmente valioso para soluções baseadas em cloud que experienciam crescimento rápido ou picos imprevisíveis de dados ou tráfego de utilizadores. Os seguintes casos de uso demonstram formas como a fragmentação pode ser aplicado em vários setores:

  • Comércio eletrónico: Plataformas de retalho dividem dados de clientes e encomendas entre fragmentos, ajudando a garantir pesquisas rápidas de produtos e experiências de checkout suaves durante períodos de pico de compras.
  • Serviços financeiros: Registos de operações bancárias e outras transações financeiras são divididos por data ou número de conta, permitindo consultas eficientes e armazenamento seguro e escalável.
  • Jogos online: Dados de jogadores ou sessões são divididos por região e ID de utilizador, equilibrando cargas entre fragmentos e minimizando a latência (o tempo necessário para os dados chegarem ao destino) para audiências globais.
  • Redes sociais: Plataformas de redes sociais dividem dados de perfis de utilizadores e feeds de atividade por ID de utilizador ou intervalo temporal. Esta abordagem permite à plataforma consultar rapidamente publicações recentes e suportar milhões de utilizadores simultâneos.
  • Software como serviço (SaaS): Aplicações SaaS com múltiplos inquilinos dividem frequentemente os dados por ID de inquilino, o que isola os dados dos clientes e simplifica a gestão à medida que a base de utilizadores cresce. Também podem dividir os dados por carga de trabalho do inquilino ou localização geográfica.

Saiba mais sobre como funciona a análise de macrodados.

O futuro da Fragmentação de Base de Dados

Ao distribuir dados por vários servidores independentes, a fragmentação reduz a carga num único servidor, minimiza gargalos e melhora a disponibilidade e a capacidade de resposta do sistema. As vantagens do uso de Fragmentação de Base de Dados em ambientes modernos de cloud só irão aumentar à medida que a IA e outras tecnologias relacionadas continuem a evoluir.

As Tendências a observar incluem o seguinte:

Fluxos de trabalho de fragmentação assistidos por IA

Funcionalidades inteligentes, como seleção automática de chaves de fragmento, reequilíbrio de cargas de trabalho e encaminhamento de consultas, tornar-se-ão mais comuns.

Vantagem: Operações simplificadas e otimizadas e escalabilidade sem precedentes

Refragmentação sem tempo de inatividade

As plataformas de dados modernas irão suportar cada vez mais alterações na chave de fragmentação sem exigir qualquer tempo de inatividade dos dados ou migrações complexas de dados.

Vantagem: Maior flexibilidade para atualizar estratégias de fragmentação à medida que as cargas de trabalho evoluem

Fragmentação combinada com bases de dados sem servidor

As bases de dados sem servidor fazem a provisão e a gestão independentes dos servidores para cada fragmento. Elas também aumentam ou reduzem a capacidade sob demanda com base em consultas acionadas por eventos.

Vantagem: Redução da sobrecarga operacional

Geofragmentação adaptativa orientada por políticas

Os fluxos de trabalho automatizados de fragmentação encaminham automaticamente os dados através de fragmentos geográficos com base em regras de política específicas da localização incorporadas no código. Vantagem: Cumprimento mais rápido dos requisitos regulatórios e de privacidade em mudança

Saiba mais sobre a computação na cloud.

Perguntas mais frequentes

  • A fragmentação de bases de dados é o processo de escalamento horizontal de uma base de dados grande através de múltiplos servidores, cada um alojando um fragmento com um subconjunto distinto dos dados globais. A fragmentação é usada para gerir eficientemente volumes crescentes de dados e tráfego de utilizadores, distribuindo consultas e armazenamento por várias máquinas em vez de depender de um único servidor grande.
  • Tanto a fragmentação como a partição otimizam as operações da base de dados ao dividir uma base de dados grande em subconjuntos menores. No entanto, enquanto a partição divide os dados no mesmo servidor, a fragmentação distribui os dados por vários servidores. A replicação refere-se à manutenção de múltiplas cópias do mesmo conjunto de dados em diferentes servidores para redundância. 
  • Sim, a fragmentação de bases de dados melhora o desempenho e a escalabilidade das aplicações. Ao distribuir dados e cargas de trabalho pelos fragmentos, a fragmentação reduz os tempos de resposta das consultas e aumenta a tolerância a falhas. As organizações também podem escalar aplicações horizontalmente. A escolha das chaves de fragmento e das estratégias de fragmentação é essencial para otimizar a fragmentação de dados.
  • Sim, o Azure e outras plataformas cloud oferecem suporte incorporado para fragmentação de bases de dados. Por exemplo, a Base de Dados SQL do Azure fornece várias ferramentas para otimizar o escalamento da base de dados, incluindo uma biblioteca cliente que simplifica a criação e a gestão de fragmentos.