Trace Id is missing
Avançar para o conteúdo principal

Aumentar verticalmente vs. aumentar horizontalmente

Introdução à escalabilidade de bases de dados na informática em nuvem.

Dados em qualquer local: de que falamos quando falamos sobre escalabilidade

A escalabilidade na informática em nuvem é a capacidade de aumentar ou diminuir de forma rápida e simples o tamanho ou poder de uma solução ou recurso de TI. Embora o termo escalabilidade se possa referir à capacidade de qualquer sistema lidar com uma quantidade cada vez maior de trabalho, quando falamos de aumentar verticalmente ou horizontalmente, estamos geralmente a fazer referência a bases de dados e dados, em grandes quantidades.

A escalabilidade de bases de dados é a principal preocupação dos programadores de aplicações modernas. Digamos que é lançada uma nova aplicação e que a procura aumenta de alguns utilizadores para milhões de utilizadores em todo o mundo. Uma das capacidades mais importantes para ajudar os programadores de aplicações a acompanhar a procura e a minimizar o tempo de inatividade é a capacidade de dimensionar eficazmente.

Esta conversa sobre aumentar horizontalmente ou verticalmente concentra-se na forma como a escalabilidade nos ajuda a adaptar e a lidar com o grande volume e o vasto leque de dados, ao alterar os volumes de dados e ao mudar os padrões de carga de trabalho, todos gerados a partir da nuvem, dispositivos móveis, redes sociais e macrodados.

Uma mulher a fazer uma apresentação enquanto os outros presentes assistem sentados

Aumentar horizontalmente vs. aumentar verticalmente

Ao nível mais básico, a escalabilidade da base de dados pode ser dividida em dois tipos:

O dimensionamento vertical, ou aumentar ou reduzir verticalmente, permite aumentar ou diminuir a capacidade de computação ou as bases de dados conforme necessário, quer ao alterar os níveis de desempenho ou através de conjuntos de bases de dados elásticas para um ajuste automático às exigências das suas cargas de trabalho.

O dimensionamento horizontal, ou aumentar ou reduzir horizontalmente, permite adicionar mais bases de dados ou dividir uma base de dados grande em nós mais pequenos, através de uma abordagem de criação de partições de dados chamada fragmentação. Pode ser gerido com maior rapidez e facilidade nos servidores.

Aumentar verticalmente

O aumento vertical é utilizado quando tem de reagir rapidamente para corrigir um problema de desempenho que não pode ser resolvido com técnicas tradicionais de otimização de bases de dados, como as alterações de consulta ou indexação. Aumentar verticalmente é útil para lidar com os picos nas suas cargas de trabalho em que o nível de desempenho atual não é suficiente para satisfazer todas as exigências. Aumentar verticalmente permite-lhe adicionar mais recursos para lidar facilmente com as maiores cargas de trabalho. Depois, quando os recursos já não forem necessários, reduzir verticalmente permite-lhe voltar ao estado original e poupar nos custos da nuvem.

Aumente verticalmente quando:

Aumentar horizontalmente

Os programadores de aplicações começam a considerar o dimensionamento horizontal quando não conseguem obter recursos suficientes para as cargas de trabalho, mesmo quando operam nos níveis de desempenho mais elevados. Com o dimensionamento horizontal, os dados são divididos em várias bases de dados, ou fragmentos, entre os servidores, e cada fragmento pode ser aumentado ou reduzido verticalmente em separado.

De que forma os dados de criação de partições aumentam a escalabilidade? Quando aumenta verticalmente uma base de dados individual ao adicionar recursos como máquinas virtuais (VMs), esta atingirá eventualmente um limite de hardware físico. Uma vez que as partições de dados estão alojadas num servidor separado, se dividir os dados por vários fragmentos, poderá aumentar horizontalmente um sistema quase de forma ilimitada.

Alguns tipos de tecnologias de bases de dados, principalmente as bases de dados NoSQL ou não relacionais, são desenvolvidos com capacidades exclusivas para aumentar horizontalmente os dados por fragmentação de bases de dados, o que permite processar dados grandes, não relacionados, indeterminados ou com alteração rápida.

Além disso, alguns serviços de bases de dados relacionais (SQL) que ofereciam originalmente serviços para aumentar ou reduzir verticalmente estão a começar a disponibilizar opções entusiasmantes para corresponder às vantagens de escalabilidade de bases de dados não relacionais. Os serviços do Hyperscale, como o Hyperscale da Base de Dados SQL do Microsoft Azure e Hyperscale da Base de Dados PostgreSQL do Azure permitem aos utilizadores dimensionar rapidamente o armazenamento até 100 TB, fornecem uma arquitetura flexível e nativa da nuvem que permite que o armazenamento cresça conforme necessário e realizam cópias de segurança quase instantâneas e restauros de bases de dados rápidos em apenas alguns minutos.

Aumente horizontalmente quando:

Dimensionamento automático

O dimensionamento automático é o processo de correspondência automática e dinâmica de recursos para satisfazer os requisitos de desempenho de um sistema. À medida que o volume de trabalho cresce, as aplicações podem precisar de recursos adicionais para manter os níveis de desempenho necessários ou dar resposta à procura crescente. Se a procura abrandar e os recursos adicionais deixarem de ser necessários, pode poupar nos gastos com a nuvem através de um serviço automático para desalocar os recursos não utilizados.

O dimensionamento automático tira partido da elasticidade dos ambientes alojados na nuvem. Alivia a sobrecarga de gestão ao reduzir a necessidade de os operadores de sistema tomarem decisões constantes sobre a adição ou remoção de recursos ou ao verificar o desempenho do sistema.

Embora haja duas formas principais de dimensionar as aplicações (vertical ou horizontalmente), é menos comum automatizar o dimensionamento vertical, uma vez que aumentar verticalmente geralmente requer que o sistema fique temporariamente indisponível ao ser reimplementado.

O dimensionamento automático é mais comum no dimensionamento horizontal, uma vez que aumentar ou reduzir horizontalmente significa adicionar ou remover instâncias de um recurso, e a sua aplicação continua em execução sem interrupções à medida que são aprovisionados novos recursos. Se a procura descer, os recursos podem ser facilmente encerrados sem tempo de inatividade e desalocados.

Muitos fornecedores de sistemas baseados na nuvem, como o Microsoft Azure, suportam o dimensionamento horizontal automático.

  • Uma base de dados é qualquer coleção de informações interrelacionadas armazenada e organizada para que seja mais fácil de gerir e aceder. À medida que são gerados novos dados e tipos de dados a um ritmo alucinante, torna-se um desafio manter os dados organizados, acessíveis e seguros. Os sistemas de gestão de bases de dados (DBMS), que incluem uma camada de ferramentas de gestão, são utilizados frequentemente para processar elevados volumes de dados.

    Estão constantemente a surgir novos tipos de bases de dados e tecnologias em resposta ao grande volume e ao vasto leque de dados gerados na nuvem, em dispositivos móveis, redes sociais e macrodados.

    Saiba mais sobre bases de dados

  • As bases de dados NoSQL, designadas frequentemente de não relacional ou "não só" SQL, são um conjunto diversificado de tecnologias de base de dados que lidam com o armazenamento e a obtenção de dados de forma diferente de uma base de dados tradicional relacional (SQL).

    As bases de dados NoSQL não exigem um esquema predefinido e conseguem utilizar vários modelos de dados, o que as torna extremamente eficientes no processamento de elevados volumes de dados não estruturados, bem como no dimensionamento de projetos de base de dados de macrodados.

    Saiba mais sobre bases de dados NoSQL

  • O PostgreSQL é uma base de dados robusta e open-source que funciona com consultas relacionais e não relacionais, conhecida sobretudo pela sua integridade dos dados e fiabilidade. O PostgreSQL é amplamente utilizado em áreas como os serviços financeiros, fabrico, sistemas de informações geográficas governamentais e tecnologia Web. Os programadores criam aplicações com PostgreSQL, enquanto os administradores confiam nele para proteger os dados.

    Saiba mais sobre o PostgreSQL

  • A colocação em cache é uma técnica comum utilizada pelos programadores e profissionais de TI para melhorar o desempenho e a escalabilidade de um sistema. A colocação em cache consiste em copiar temporariamente os dados acedidos com frequência para o armazenamento rápido localizado próximo da aplicação. Se este armazenamento de dados estiver localizado mais próximo da aplicação do que a origem, a colocação em cache pode melhorar significativamente os tempos de resposta para aplicações cliente ao apresentar dados mais rapidamente. Geralmente, os programadores criam aplicações para colocar os dados processados em cache e, em seguida, reconfiguram a cache para responder aos pedidos mais rapidamente do que nas consultas de bases de dados padrão.

    Saiba mais sobre a colocação em cache

  • A fragmentação de dados é um tipo de partição de dados horizontal que lhe permite dividir a sua base de dados geral em bases de dados mais pequenas, que podem ser geridas de forma mais rápida e fácil entre servidores.

    Saiba mais sobre a fragmentação de bases de dados

  • Uma plataforma como serviço, geralmente abreviada para PaaS, é um serviço de um fornecedor de serviços em nuvem que oferece um ambiente a pedido para desenvolver, testar, fornecer e gerir aplicações. A plataforma como serviço torna mais simples e rápido para os programadores criarem aplicações Web ou móveis, sem necessidade de lidar com a configuração de infraestruturas subjacentes de servidores, armazenamento, rede e as bases de dados de que precisam enquanto programadores.

    Saiba mais sobre PaaS

Explore a escalabilidade da nuvem com o Azure

Descubra uma abordagem abrangente para aumentar vertical e horizontalmente, adaptada ao seu próprio cenário para ambientes no local, em várias nuvens e no edge. A família Azure de serviços de bases de dados oferece uma seleção de bases de dados relacionais, NoSQL e dentro da memória totalmente geridas, que abrangem motores proprietários e open-source em adequação às necessidades dos programadores de aplicações modernas.

Poupe tempo e dinheiro com a gestão de infraestrutura automatizada, que inclui soluções de automatização para escalabilidade, disponibilidade e segurança.

Pessoas a conversar e computadores portáteis abertos

Produtos e serviços relacionados

SQL do Azure

A família de bases de dados SQL na nuvem oferece opções flexíveis para a migração, modernização e desenvolvimento de aplicações.

Azure Cosmos DB

Base de dados NoSQL rápida com APIs abertas para qualquer dimensionamento.

Azure PostgreSQL

PostgreSQL totalmente gerido, inteligente e dimensionável.

Base de Dados SQL do Azure

SQL gerido e inteligente na nuvem.

Azure SQL Managed Instance

Instância gerida e sempre atualizada do SQL na nuvem.

SQL Server nas Máquinas Virtuais

Migre cargas de trabalho do SQL Server para a nuvem com o TCO mais baixo.

Base de Dados do Azure para MySQL

Base de dados MySQL totalmente gerida e dimensionável.

Azure Maria DB

Serviço de base de dados MariaDB gerido para programadores de aplicações.

Cache do Azure para Redis

Acelere as suas aplicações através de débito elevado e colocação em cache de baixa latência.

Estamos a postos quando estiver – vamos configurar a sua conta gratuita