Skip to content
Pesquise para saber mais sobre produtos e soluções da InterSystems, oportunidades de carreira e muito mais.
Abstract data representation

Dominar a fragmentação de bases de dados: estratégias e práticas recomendadas

A fragmentação de bases de dados é um padrão de arquitetura de bases de dados em que um grande conjunto de dados é dividido em partes mais pequenas e mais fáceis de gerir, denominadas "fragmentos".

A fragmentação de bases de dados é um padrão de arquitetura de base de dados em que um grande conjunto de dados é dividido em partes mais pequenas e mais fáceis de gerir, denominadas "fragmentos". Cada fragmento é armazenado num servidor de base de dados separado para melhorar o desempenho, a escalabilidade e a disponibilidade.

Esta abordagem ajuda a distribuir a carga e garante que nenhum servidor se torne um gargalo, permitindo que o sistema processe mais dados e volumes de transação mais elevados de forma eficiente. Cada fragmento funciona de forma independente, mas juntos formam um único sistema de base de dados lógico. Além disso, a fragmentação da base de dados pode melhorar a tolerância a falhas, isolando as falhas em fragmentos individuais, permitindo que o resto do sistema continue funcionando sem problemas.

Nesta publicação, iremos analisar as vantagens da fragmentação da base de dados, a sua comparação com outros métodos de organização e a forma como ela ajuda a manter os seus dados seguros e acessíveis.

Principais conclusões

  • A fragmentação de bases de dados melhora o tempo de resposta, a organização e o dimensionamento das empresas.
  • Por vezes, isto é feito à custa de uma maior complexidade e de taxas de manutenção mais elevadas.
  • A distribuição eficaz de dados é uma caraterística imprescindível para as empresas no futuro.

Uma introdução à fragmentação de bases de dados

É do conhecimento geral que as empresas estão enfrentando uma explosão de dados sem precedentes. O volume, a velocidade e a variedade de informações que as empresas precisam de processar e analisar crescem a um ritmo exponencial todos os anos.

Os estudos mostram que a quantidade de dados criados e replicados a nível global deverá quase duplicar entre 2021 e 2025, atingindo impressionantes 181 zettabytes (ou seja, 181 mil milhões de terabytes). Este enorme influxo de dados apresenta tanto oportunidades quanto desafios. Embora ofereça a possibilidade de obter conhecimentos mais profundos e de tomar decisões mais informadas, também exerce uma enorme pressão sobre os sistemas de bases de dados. À medida que os volumes de dados crescem, as arquiteturas de bases de dados tradicionais têm muitas vezes dificuldade em acompanhar o ritmo, o que resulta em tempos de consulta mais lentos, desempenho reduzido e potenciais falhas do sistema.

É aqui que entra o sharding de bases de dados. Ao distribuir os dados por vários servidores, o sharding permite às empresas escalar horizontalmente as suas bases de dados, acompanhando eficazmente as exigências de dados cada vez maiores. Permite que as empresas mantenham um elevado desempenho e tempos de resposta rápidos, mesmo quando a sua pegada de dados se expande.

Pense na fragmentação da base de dados como uma distribuição de pesos. Imagine que você precise carregar vários sacos que pesam cem quilos num lance de escada. Embora seja mais do que possível para algumas pessoas carregarem os sacos sozinhas, outras terão problemas. Dividir os sacos por várias pessoas significa que todos podem transportar uma carga mais leve. Haverá muito menos tensão, uma vez que nenhuma pessoa tem de carregar um peso tão grande.

A fragmentação da base de dados é praticamente a mesma coisa. A partilha da carga exerce menos pressão sobre os servidores, libertando-os para trabalharem de forma mais eficiente para todos os envolvidos.

Data Patterns Emerging Over Europe - Dark, Blue - Analyzing Global Data Flow, Business, Technology

Porque que a fragmentação da base de dados é importante para as empresas?

A fragmentação de base de dados é vital para empresas que lidam com grandes volumes de dados e precisam acessá-los de forma contínua. Sem essa partilha da base de dados, um servidor pode funcionar muito lentamente e causar uma experiência frustrante para os utilizadores.

Já sentiu que o seu computador ficava mais lento quando tinha muitos programas abertos ao mesmo tempo? Os servidores de bases de dados enfrentam um efeito semelhante quando têm vários dados e pessoas tentando acessá-los. Este grande volume de dados, misturado com uma elevada atividade, resulta num tempo de resposta mais lento e, no pior dos casos, shutdowns no servidor.

Quais são as vantagens da fragmentação de bases de dados?

A fragmentação da base de dados é uma forma inteligente de dividir a informação para que as empresas possam armazenar e acessar rapidamente grandes quantidades de dados. Aqui estão algumas outras vantagens específicas de uma base de dados fragmentada:

Escale a sua empresa de forma mais eficiente

    Se alguma vez, você se preocupou com a possibilidade de ficar sem armazenamento da base de dados, os vários fragmentos te permitem escalar. Você pode, simplesmente, adicionar mais fragmentos à medida que atinge o seu limite de dados, prevenindo gargalos ou possíveis shutdowns. Também pode tirar mais proveito dos seus servidores de base de dados ao dividir os seus conjuntos de dados. Reduz o risco de sobrecarga de um servidor específico, ao mesmo tempo que continua a trazer mais dados numa base contínua.

    Melhore o tempo de resposta da sua base de dados

    A vantagem mais notável de uma base de dados fragmentada é a maior rapidez de resposta. Outra metáfora útil é pensar no seu sistema de gestão de bases de dados, como uma estante de livros.

    Imagine que você está numa biblioteca tentando encontrar um livro específico. Prefere procurar numa estante cheia de mil livros ou de cem? A fragmentação da base de dados utiliza a mesma quantidade de informação, mas é dividida em linhas mais pequenas. Esta caraterística significa que o seu sistema de gestão de bases de dados pode recuperar informações mais rapidamente, resultando numa experiência bem mais rápida.

    Evite uma Falha de Serviço (Service Outage)

    Muitos dados processados num curto espaço de tempo, podem sobrecarregar o seu sistema de gestão de bases de dados. Um dos resultados mais comuns é uma interrupção do serviço, resultando em horas, ou até mesmo dias, de perda de produtividade empresarial.

    A fragmentação da base de dados evita que isto aconteça, reduzindo a tensão no sistema e impedindo uma dependência excessiva de uma forma de armazenamento. Isto significa que, mesmo que um fragmento fique subitamente indisponível, os outros fragmentos podem continuar a funcionar de forma independente.

    Como funciona a fragmentação da base de dados

    Para compreender como funciona a fragmentação da base de dados, é útil pensar nos seus dados como uma série de prateleiras organizadas. A sua base de dados armazena as suas informações utilizando uma combinação de linhas e colunas, chamada conjunto de dados.

    Quando você distribui esses fragmentos por vários computadores, cria-se um nó. Todos os seus fragmentos estão divididos em vários nós, embora todos eles contenham as mesmas informações sobre toda a base de dados. O seu conjunto de dados é então dividido em fragmentos, uma chave de fragmento e o que é conhecido como uma arquitetura de nada partilhado.

    Relational database tables on databases are placed on Structured Query Language code with server room background.

    Fragmentos

    O termo técnico para cada um dos seus pedaços de dados divididos é um "fragmento lógico". O computador físico que armazena estes fragmentos lógicos, é designado por "fragmento físico" ou, por vezes, "nó da base de dados".

    Pode pensar em fragmentos - ou, especificamente, fragmentos lógicos - como todos os diferentes livros nas prateleiras da sua base de dados. Cada um contém informações únicas e cabe a você decidir onde e como quer guardá-las.

            Chave de fragmento

            Dados bem organizados são fundamentais para o bom funcionamento de uma empresa. Uma chave de fragmentos é a forma de organizar corretamente os dados por tipo, reduzindo o tempo perdido tentando encontrar os dados que precisa. Cada conjunto de dados é apresentado em colunas preenchidas com linhas. Uma chave de fragmento é a forma como os programadores decidem quais as linhas de cada conjunto de dados que devem ser agrupadas num fragmento. Estas chaves de fragmentos podem ser provenientes de colunas existentes ou de novas colunas. A seleção da chave de fragmentação correta é crucial para a eficiência da sua base de dados fragmentada. Uma chave de fragmento bem escolhida garante que os dados sejam distribuídos uniformemente entre os fragmentos, evitando que um único fragmento se torne um gargalo.

            Também ajuda a manter o desempenho da pesquisa, pois permite que o sistema localize rapidamente os fragmentos relevantes quando uma pesquisa é executada. Uma chave de fragmento bem escolhida garante que os dados sejam distribuídos uniformemente entre os fragmentos, evitando que qualquer fragmento isolado se torne

            um gargalo. Também ajuda a manter o desempenho das consultas, pois permite que o sistema localize rapidamente os fragmentos relevantes quando uma consulta é executada. No entanto, a escolha de uma chave de fragmento incorreta pode levar a uma distribuição desigual dos dados, aumento da carga em determinados nós e, até, em uma degradação do desempenho.

            Shared-Nothing Architecture

            Uma arquitetura "shared-nothing" é um sistema de gestão de bases de dados que funciona com várias partes independentes. Isto significa que cada fragmento físico criado só funcionará com os dados que contém - não pode obter dados de outro fragmento físico.

            No entanto, é possível criar um sistema de fragmentos em que vários fragmentos podem obter dados de outras fontes. A criação de uma camada de software é uma forma de coordenar o armazenamento de dados e fornecer acesso a vários fragmentos de uma só vez.

            Shot of a male engineer using a digital tablet while working in a server room

            Quais são as desvantagens do Sharding?

            Embora a fragmentação seja uma forma incrivelmente eficaz de melhorar os tempos de resposta e o acesso partilhado, existem ainda alguns inconvenientes. A dimensão do seu negócio e a frequência com que recupera grandes volumes de dados, determinarão se a fragmentação é o método adequado para você.

            Custos de infra-estrutura mais elevados

            A fragmentação da base de dados aumenta significativamente os custos da infraestrutura devido à necessidade de vários servidores ou nós para distribuir os dados. Esta multiplicação de hardware não só aumenta as despesas iniciais com o equipamento, como também conduz a custos mais elevados de consumo de energia, espaço no centro de dados e ligação em rede.

            Além disso, a complexidade da gestão de um sistema fragmentado exige, frequentemente, mais profissionais qualificados ou formação adicional, aumentando ainda mais os custos operacionais. Estas despesas acrescidas podem ser substanciais. Mas, para muitas empresas que lidam com grandes volumes de dados, a escalabilidade e o desempenho melhorados podem justificar o investimento.

            Aumento da complexidade da arquitetura de dados

            Outro aspeto difícil da fragmentação da base de dados é o nível de complexidade que acrescenta às suas operações comerciais. Em vez de gerir uma única base de dados, tem de dividir a sua atenção entre vários shards (ou nós) físicos.

            Empresas menores que ainda não necessitam de grandes volumes de dados podem considerar o sharding desnecessariamente complexo. No entanto, pequenas empresas com planos de expansão, eventualmente, se beneficiarão da fragmentação de dados.

            Distribuição desigual de dados

            A distribuição desigual de dados pelos fragmentos é um desafio significativo na fragmentação de bases de dados. Esse desequilíbrio pode levar a gargalos de desempenho em shards sobrecarregados, desperdício de recursos em shards subutilizados e maior complexidade no gerenciamento do sistema.

            Quando um shard se torna um "ponto quente" para consultas, ele pode ter dificuldades para acompanhar a demanda, prejudicando o objetivo principal do sharding: distribuir a carga uniformemente para obter um desempenho ideal.

            No entanto, os sistemas avançados de banco de dados geralmente oferecem recursos de balanceamento automático. Estes sistemas podem detectar uma distribuição desigual e redistribuir os dados pelos fragmentos para manter o equilíbrio, garantindo um desempenho consistente e uma utilização eficiente dos recursos sem intervenção manual.

            Escolher o sistema de base de dados correto, como o InterSystems IRISé crucial para mitigar esses desafios. Estes sistemas têm balanceadores incorporados que podem observar as cargas dos fragmentos e alterar automaticamente o local onde os dados são armazenados. Isto permite que você se concentre na utilização dos seus dados, em vez de gerir a forma como são distribuídos.

            Female and make programmers training for coding, cyber security or software on computer.

            Quais são os principais métodos de fragmentação de bases de dados?

            A fragmentação de bases de dados é fundamentalmente flexível, dando às empresas mais controlo sobre os seus dados e a forma como estão organizados. No entanto, existem alguns métodos principais que devem ser analisados antes de começar.

            Fragmentação baseada no intervalo

            Também conhecida como fragmentação dinâmica, a fragmentação baseada em intervalos divide as linhas da base de dados, através do seu valor. Qualquer intervalo que decida utilizar, torna-se uma chave de fragmento para um acesso rápido e fácil.

            Por exemplo, se decidir dividir os seus clientes por setor de atividade, pode utilizar uma chave de fragmento para os encontrar rapidamente na base de dados. A aplicação que utilizar irá automaticamente categorizar e armazenar as informações do cliente, num nó específico. Também é possível fazer a correspondência inversa se for necessário encontrar um registo ainda mais específico.

            A fragmentação baseada em intervalos é fácil de implementar e replica de perto o trabalho com uma folha de cálculo de dados bem organizados. No entanto, é fácil sobrecarregar acidentalmente vários dados num nó.

            Caso de uso prático: A fragmentação baseada em intervalos é ideal para plataformas de comércio eletrónico que categorizam produtos por intervalos de preços ou clientes por datas de registo. Também é adequado para aplicações financeiras que gerem transações dentro de intervalos de datas específicos.

            Fragmentação com Hash (Hashed Sharding)

            Quando quiser usufruir de um nível de controlo fino sobre detalhes mais pequenos, recorra à fragmentação hashed. Este método de fragmentação funciona atribuindo uma chave de fragmentação a uma linha específica da base de dados através de uma "função de hash".

            A função de hash pega. automaticamente. nas informações da linha designada e cria um "valor de hash". Esse valor de hash funciona como sua chave de fragmento e armazena informações no fragmento físico que você escolher.

            O sharding com hash é preferido pela maneira como distribui uniformemente os dados entre os fragmentos físicos, reduzindo o risco de sobrecarregar uma máquina específica. No entanto, ele não consegue distinguir informações com base em um significado mais profundo, então você ainda precisará aplicar alguma supervisão. A fragmentação em hash é especialmente útil para plataformas de redes sociais ou grandes aplicações web em que os dados do utilizador têm de ser distribuídos uniformemente, para evitar que um servidor esteja ocupado demais.

            Fragmentação de diretórios

            Outra forma de fragmentação semelhante a uma folha de cálculo é a fragmentação de diretórios. Este método acessível fornece uma tabela de pesquisa que lhe permite ligar colunas da base de dados a chaves de fragmentos. Qualquer aplicação que armazene informações com base em algum detalhe específico, como a cor ou a data, refere-se primeiro à tabela de pesquisa.

            A fragmentação de diretórios é popular entre os gestores de bases de dados pela eficácia com que organiza as informações com base em detalhes importantes. Não há limite de alcance e cada fragmento oferece mais significado para além dos números. A única desvantagem é a possibilidade de organização incorreta se a tabela de pesquisa contiver informações incorretas.

            Caso de uso prático: A fragmentação de diretórios é adequada para sistemas de gestão de conteúdos (CMS) ou sistemas de gestão de inventário em que os itens têm de ser rapidamente encontrados com base em atributos específicos, como categoria ou etiqueta.

            Geo-Sharding

            Este método de fragmentação é crucial para as empresas que reúnem um grande volume de dados geográficos. O Geo-sharding divide as informações por detalhes como cidade, distrito ou bairro.

            Este método de sharding também tem uma vantagem baseada na localização dos shards físicos. Uma cidade ou vila específica pode atuar como uma chave de fragmento, armazenando informações do cliente com base na proximidade de um fragmento físico. Este método resulta em tempos de resposta mais rápidos. Dito isto, as vantagens do geo sharding só funcionam se houver uma distância física mais curta entre o cliente e o fragmento físico. Há também o risco de uma distribuição desigual dos dados se houver uma maior quantidade de clientes em uma área, do que em outra.

            Caso de uso prático:O geo sharding é ideal para serviços de logística e entrega, aplicativos de carona compartilhada ou qualquer aplicação em que a experiência do usuário dependa de baixa latência e acesso a dados localizados.

            Sharding baseado em relações

            Também conhecido como sharding baseado em entidades, o sharding baseado em relações agrupa dados semelhantes no mesmo shard físico. Este método é único em relação a outras aplicações de fragmentação, uma vez que não é necessário separar tantos dados.

            Como resultado, a fragmentação baseada em relações reduz a potência de computação necessária para recuperar dados semelhantes em conjunto. A sua principal desvantagem é a sua complexidade e a possibilidade de agrupar acidentalmente dados diferentes.

            Caso de uso prático: A fragmentação baseada em relações, é perfeita para sistemas de gestão das relações com os clientes (CRM) ou qualquer aplicação que beneficie do agrupamento de entidades relacionadas, como encomendas e clientes, ou produtos e categorias, para melhorar o desempenho das consultas e reduzir o tempo de recuperação.

            Shot of a young female engineer working in a server room

            Como fragmentar uma base de dados

            A fragmentação de uma base de dados não é tão complicada como parece. Tal como para criar uma nova folha de cálculo, é necessário definir o seu objetivo final e a forma como a fragmentação pode te ajudar a atingi-lo.

            Precisa de organizar informações específicas de forma mais eficaz? Que tal acelerar os tempos de resposta para os clientes que vivem mais perto de fragmentos físicos? Independentemente do método de fragmentação que escolher, existe um processo específico para começar:

            1. Escolha o seu esquema de fragmentação - informe-se sobre os dados que está dividindo. Porque você pretende dividir estes dados e como?
            2. Determine o seu método de organização - embora existam muitos métodos de fragmentação, considere a possibilidade de escolher entre os métodos comuns acima referidos.
            3. Escolha a sua infraestrutura de destino - defina os servidores em que irá criar fragmentos e faça uma estimativa da quantidade de dados que irá armazenar.
            4. Criar uma camada de encaminhamento única - é necessário determinar como a aplicação irá armazenar os dados e consultá-los mais tarde.

            Execute o seu plano de migração - por último, tem de decidir como vai migrar toda esta informação com o mínimo de tempo de inatividade. Muitas soluções modernas de gestão de dados simplificam este processo, integrando-o nas suas ofertas de software.

            Quais são as alternativas à fragmentação de bases de dados?

            Você pode estar se perguntando se existem outras formas de organizar, armazenar e recuperar as suas informações. Embora a fragmentação da base de dados esteja se tornando rapidamente o método de eleição para as grandes empresas, você também pode tentar o seguinte.

            Sharding vs. Escalonamento Vertical

            Se necessitar apenas de tempos de resposta mais rápidos, considere otimizar as suas operações comerciais com o escalonamento vertical. Esta abordagem direta simplesmente adiciona mais RAM ou CPU ao seu servidor de banco de dados para lidar com mais tráfego. E

            ssa opção é menos custosa do que o particionamento de banco de dados, embora também não ofereça a mesma flexibilidade na organização dos dados.

            Sharding vs. Replicação

            A replicação é uma forma mais antiquada de organizar a sua base de dados. Ao contrário do algoritmo personalizado da fragmentação da base de dados, a replicação duplica cópias exactas da sua base de dados e armazena-as em servidores separados.

            Uma vez que a fragmentação da base de dados não cria cópias da informação, a replicação pode ser mais adequada ao seu modelo de negócio. Poderá estar mais preocupado com a perda dos seus dados do que com a sua organização.

            Sharding vs. Particionamento

            Por último, a partição é um método que divide uma tabela de base de dados em diferentes grupos. A partição horizontal divide os dados em linhas, enquanto o particionamento vertical divide os dados em colunas.

            O sharding de bases de dados é semelhante, uma vez que também divide os dados em diferentes grupos com linhas únicas. No entanto, armazena esta informação em diferentes nós. A partição divide estas informações no mesmo computador.

            Precisa de fragmentação da base de dados?

            A fragmentação da base de dados é uma forma incrivelmente útil de reduzir o tempo de inatividade e organizar as informações de forma mais eficaz. No entanto, implica uma curva de aprendizagem e pode ser complexa demais para alguns modelos de negócio.

            Uma coisa é certa: as empresas que querem crescer precisam de ter uma estratégia intencional para a forma como armazenam e distribuem os dados.

            Mais de 90% das organizações num inquérito recente, obtiveram um valor mensurável após um investimento baseado em dados. Quer queira poupar tempo na recuperação de dados ou esteja preocupado com a sobrecarga do seu servidor de base de dados, a otimização da sua base de dados trará dividendos no futuro.

            Como o InterSystems IRIS pode ajudá-lo com a fragmentação de banco de dados

            Não tem que descobrir sozinho a distribuição de dados. O InterSystems IRIS te fornece várias ferramentas de ponta para eliminar o trabalho pesado e ajudar a expandir o seu negócio.

            O que distingue o InterSystems IRIS é a sua notável flexibilidade de expansão. Caso necessite aumentar a escala, adicionando mais recursos a um único servidor, ou aumentar a escala, distribuindo dados por vários servidores, o InterSystems IRIS se adapta às suas necessidades.

            Esta flexibilidade permite-lhe começar com pouco e aumentar a sua infraestrutura de bases de dados de acordo com os requisitos da sua empresa, sem necessidade de grandes revisões ou migrações.

            O InterSystems IRIS também oferece transições perfeitas entre diferentes abordagens de escala. Pode passar facilmente de uma escala vertical para uma escala horizontal à medida que os volumes de dados aumentam, assegurando que o desempenho da base de dados acompanha o crescimento da sua empresa.

            Esta escalabilidade, combinada com a distribuição inteligente de dados e as funcionalidades de equilíbrio automático do InterSystems IRIS, torna-o a escolha ideal para empresas de todas as dimensões que procuram preparar a sua infraestrutura de dados para o futuro.

            TÓPICOS RELACIONADOS

            Experimente o InterSystems IRIS gratuitamente

            Se não tiver certeza de qual a base de dados fragmentada quer se comprometer, experimente hoje mesmo o InterSystems IRIS gratuitamente. Pode começar a programar imediatamente e aproximar-se do método de distribuição de dados de que necessita para escalar.

            Experimente o InterSystems IRIS

            Conteúdo relacionado

            Explorar conteúdos adicionais relacionados com a fragmentação de bases de dados
            set. 03, 2017
            Escalabilidade
            Diante das enormes e crescentes quantidades de dados sendo gerados no mundo hoje, os arquitetos de software precisam prestar atenção especial à escalabilidade de suas soluções. Devem também conceber sistemas que possam, quando necessário, lidar com muitos milhares de utilizadores em simultâneo. Não é fácil, mas a concessão para uma escalabilidade maciça é uma necessidade absoluta.
            fev. 08, 2023
            Hoje em dia, as empresas precisam de ser capazes de lidar com o tratamento de volumes cada vez maiores de dados e transformar esses dados em insights acionáveis para garantir que são suficientemente ágeis e flexíveis para responder rapidamente às mudanças, aumentar a eficiência e impulsionar a inovação. É por isso que estamos empenhados em garantir que a nossa plataforma de dados InterSystems IRIS® e o InterSystems IRIS for Health™ recebam, regularmente, novas e poderosas capacidades que permitem um desenvolvimento de aplicações empresariais mais inteligente e ágil.

            Dê o próximo passo

            Nós adoraríamos conversar. Preencha o formulário e entraremos em contato!
            *Campos Obrigatórios
            Highlighted fields are required
            *Campos Obrigatórios
            Highlighted fields are required
            ** Ao selecionar sim, você consente em ser contatado para notícias, atualizações e outros fins de marketing relacionados a produtos e eventos existentes e futuros da InterSystems. Além disso, você consente que suas informações de contato comerciais sejam inseridas em nossa solução de CRM que está hospedada nos Estados Unidos, mas mantida consistente com as leis de proteção de dados aplicáveis.